Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 11174|Svare: 1

php Senior Programmer Arkitekt Intervjuspørsmål

[Kopier lenke]
Publisert på 23.12.2016 09:10:09 | | |


Nylig intervjuet jeg flere selskaper etter hverandre, og jeg tok opp noen viktige spørsmål, oppfordret meg selv til å studere og forbedre meg, samtidig som jeg håpet å kunne hjelpe vennene mine.
Det er mye innhold, litt etter litt, trinnvis læring.
Noen blir spurt i intervjuer, noen er rekrutteringskrav, og noen legges til av seg selv.

1. MySQL-relatert kunnskap
    1. MySQL-optimaliseringsmetode
            MYSQL-optimalisering: vanlige metoder
            MySQL ytelsesoptimaliseringsskjema
  
    2. Hvordan dele databasen og tabellene
           Referanse:
   http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html
           http://www.jb51.net/article/29771.htm

   3. Hvordan gjøre dual machine hot standby og lastbalansering i Mysql+
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
   
   4. Hva er typene datatabeller?
       MyISAM, InnoDB, HEAP, BOB, ARCHIVE, CSV, osv
       MyISAM: Moden, stabil, lett å håndtere, rask å lese. Noen funksjoner støttes ikke (transaksjoner osv.), tabelllåser.
       InnoDB: Støtter transaksjoner, fremmednøkler og radlåser. Den tar opp mye plass og støtter ikke fulltekstindeksering.

       Nøkkelfunksjoner ved myisam- og Innodb-motorene:
       Hva er forskjellen mellom MySQLS lagringsmotor MyISAM og InnoDB?

   5. Anti-SQL-injeksjonsmetode
      mysql_escape_string(strip_tags($arr["$val"]));

   6. Hvordan løse problemet med tverrtabell-spørringseffektivitet etter at MySQL deler opp en stor tabell i flere tabeller

[php] se vanlig kopi
Se kodeslices avledet fra mine kodeslices på CODE

    /**
    * Funksjonsnavn: post_check()  
    * Funksjonsfunksjon: Behandler de innsendte endringene  
    * Parameter: $post: Innholdet som skal sendes inn  
    * Returverdi: $post: Returnerer filtrert innhold  
    */  
    funksjon post_check($post){  
    hvis(!get_magic_quotes_gpc()){// Bestem om magic_quotes_gpc er åpen   
    $post = legger til skråstreker($post); Utfør magic_quotes_gpc filtrering av innsendte data uten å åpne dem   
    }  
    $post = str_replace("_","\_", $post); Filtrer ut '_'  
    $post = str_replace("%","\%", $post); Filtrer ut '%'  
    $post = nl2br($post); Inn i konverteringen   
    $post = htmlspecialchars($post); HTML Markup-konvertering   
    returnere $post;  
    }  

   7. Indeksanvendelse
         Når bør man vurdere indeksering
         Hvilke situasjoner egner seg ikke for indeksering
         Hvordan vurdere om en uttalelse bruker en indeks
        Vanlige scenarier hvor indekser ikke brukes:
                som '%.....'
                Implisitt konvertering av datatyper
                eller nøkkelord pluss andre betingelser
       Fullstendig tekstindeks:
                Kan kun brukes for MYIsAM-tabeller, laget i kolonner av typen CHAR, VARCHAR, TEXT.
      

   8. Hvordan optimalisere mysql for store tabeller (titalls millioner)?
        Referanse http://www.zhihu.com/question/19719997

   9. Sakte spørringsproblem i mysql
  Faktisk er det en relativt enkel måte å analysere gjennom trege spørringslogger; hvis du ikke vil se loggene, kan du bruke verktøy for å fullføre den.

Som mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter, osv., føles som du trenger mye erfaring for å analysere ett, og det er bortkastet tid.

10. Når det gjelder fordeler og ulemper ved brukerinnloggingsstatus, informasjonskapsel, database eller memcache http://www.dewen.org/q/11504/

Når det gjelder brukerens innloggingsstatus, fordeler og ulemper med session%2Ccookie, database eller memcache

  11. Ekstreme tilfeller håndteres i transaksjoner
  12. SQL språket er delt inn i 4 kategorier, vennligst list opp
        DDL--SKAP, SLIPP, ENDRE
        DML--SETT INN, OPPDATER, SLETT
        DQL-SELECT
        DCL--GRANT, TILBAKEKALLE, COMMIT, ROLLBACK
        

2. PHP grunnleggende

      Sesjon

        Flere måter og forskjeller mellom PHP og tilkobling til MySQL-databaser
    MySQL: Prosessorientert
    MySQLI: Objektorientert
    PDO: Høy bærbarhet
    Vennligst se til: PHP Basic Series: Tre API-er brukt av PHP for å koble til MySQL-databaser

3. PHP Avansert

    Bruk av lange og korte forbindelser

    Sokkel

    Betalingssikkerhetsproblemer

    Objektorientert
    Tre hovedkarakteristikker: innkapsling, arv og polymorfisme (metodeomskriving).
    Abstrakt klasse: abstrakt, minst én metode er en abstrakt metode som ikke kan instansieres, og definerer et felles grensesnitt for underklassen.
    Grensesnitt: grensesnitt, løs problemet med enkel arv i PHP, alle metoder er abstrakte metoder for offentlig tilgang, du kan ikke erklære variabler, bare konstanter.
    Arv en klasse mens du implementerer flere grensesnitt
    klasse A utvider B implementerer grensesnitt 1, grensesnitt 2..., grensesnitt n() {
          Implementer metoder i alle grensesnitt
    }
    Analyse av årsakene til ytelsesforskjeller mellom LAMP- og LNMP-nettsidearkitekturer
    Ytelsesanalyse av tolkede og kompilerte språk, eksempler.

4. Regelmessighet

      E-post, HTML, JS, osv. Matching

5. Utviklingsstiftelse

          Prosess- og tråddefinisjoner, distinksjoner og forbindelser.
           Prosessens tilstand: løp, klar, vent

6. Nosql-database
       Memcached, redis, mongodb differensierte forbindelser
       3 scener, helt forskjellige ting. 1.memcached: Hvis en enkelt nøkkelverdi er bufret i minnet, finnes det ingen erstatning for objektcaching av distribuert cache; 2. redis: Det er en samling algoritmer og datastrukturer, rask datastrukturoperasjon er dens største egenskap, og støtter datapersistens; 3. MongoDB er en BSON-struktur, mellom RDB og NoSQL, som er løsere og mer fleksibel, men den støtter ikke transaksjoner og brukes kun som et ikke-viktig datalager.
     Kan jeg referere til MongoDB eller Redis som et alternativ til memcached?

7. Vanlig brukte Linux-kommandoer
      For eksempel myke lenker

8. Arkitekturrelatert

           Stresstest før prosjektet går live, antall samtidigheter støttet av en enkelt server, og antall PV-er.

           Rimelig fordeling av serverressurser

             CPU:Apache
                   I et miljø med høy belastning vil for mange disk-IO-lesinger og -skrivinger definitivt bruke mye ressurser, og CPU-en vil uunngåelig bruke for mye CPU.
             Minne: Minnebank, databaseprogramvare
               
             Harddisk: Filer

           Valg av web2.0-arkitektur

              MongoDB+Redis eller MySQL+Memcached er en bedre kombinasjon, og NOSQL brukes til enkel logikk

           Hovednettsidens arkitektur er for tiden populær
    LAMP、LNMP、LLMP
    Nå finnes det også en LNAMP-arkitektur på nettverket, det vil si at den kombinerer fordelene med nginx og Apache, ved å bruke Apache for å laste inn PHP, nginx er ansvarlig for å analysere andre webforespørsler, og bruker nginx sin omskrivingsmodul, men Apache-porten er ikke åpen for publikum, og mange Apache-moduler kan redusere ressursene uten å laste inn.





Foregående:Windows PowerShell for å finne angriperens IP
Neste:C# identifiserer plasseringen av QR-koden på skjermen
Publisert på 23.12.2016 21:53:52 |
Du knuser alt.
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com