Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 11174|Svar: 1

php Senior Programmerare Arkitekt Intervjufrågor

[Kopiera länk]
Publicerad på 2016-12-23 09:10:09 | | |


Nyligen intervjuade jag flera företag ett efter ett, och jag spelade in några viktiga frågor, uppmanade mig själv att studera och förbättras, samtidigt som jag hoppades kunna hjälpa mina vänner.
Det finns mycket innehåll, steg för steg lärande.
Vissa ställs upp i intervjuer, vissa är rekryteringskrav, och vissa läggs till av sig själva.

1. MySQL-relaterad kunskap
    1. MySQL-optimeringsmetod
            MYSQL-optimering – vanliga metoder
            MySQL prestandaoptimeringsschema
  
    2. Hur man delar upp databasen och tabellerna
           Referens:
   http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html
           http://www.jb51.net/article/29771.htm

   3. Hur man gör dual machine hot standby och lastbalansering i Mysql+
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
   
   4. Vilka typer av datatabeller finns det?
       MyISAM, InnoDB, HEAP, BOB, ARCHIVE, CSV, etc
       MyISAM: Moget, stabilt, lätt att hantera, snabbt att läsa. Vissa funktioner stöds inte (transaktioner, etc.), tabellnivålås.
       InnoDB: Stöder transaktioner, främmande nycklar och radlås. Den tar upp mycket plats och stöder inte fulltextindexering.

       Nyckelfunktioner hos myisam- och Innodb-motorerna:
       Vad är skillnaden mellan MySQL:s lagringsmotor MyISAM och InnoDB?

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

   6. Hur man löser problemet med tvärbordsfrågeeffektivitet efter att MySQL delar upp en stor tabell i flera tabeller

[php] Visa vanlig kopia
Visa kodskivor härledda från mina kodskivor på CODE

    /**
    * Funktionsnamn: post_check()  
    * Funktionsfunktion: Bearbetar de inskickade redigeringarna  
    * Parameter: $post: Innehållet som ska skickas in  
    * Returvärde: $post: Returnerar filtrerat innehåll  
    */  
    funktion post_check($post){  
    om(!get_magic_quotes_gpc()){// Bestäm om magic_quotes_gpc är öppen   
    $post = adder-snedstreck($post); Utför magic_quotes_gpc filtrering av inskickad data utan att öppna   
    }  
    $post = str_replace("_","\_", $post); Filtrera bort '_'  
    $post = str_replace("%","\%", $post); Filtrera bort '%'  
    $post = nl2br($post); Inträde i konverteringen   
    $post = htmlspecialchars($post); HTML-uppmärkningskonvertering   
    återvända $post;  
    }  

   7. Indexapplikation
         När man bör överväga indexering
         Vilka situationer är inte lämpliga för indexering
         Hur man bedömer om ett uttalande använder ett index
        Vanliga scenarier där index inte används:
                Typ '%.....'
                Implicit konvertering av datatyper
                eller nyckelord plus andra villkor
       Fulltextindex:
                Kan endast användas för MYIsAM-tabeller, skapade på kolumner av typen CHAR, VARCHAR, TEXT.
      

   8. Hur optimerar man MySQL för stora tabeller (tiotals miljoner)?
        Referens http://www.zhihu.com/question/19719997

   9. Långsam frågeproblem i mysql
  Faktum är att det är ett relativt enkelt sätt att analysera genom långsamma fråge-loggar, om du inte vill se loggarna kan du använda verktyg för att slutföra det.

Som mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter, etc., känns som att man behöver mycket erfarenhet för att analysera en, och det är slöseri med tid.

10. Angående för- och nackdelar med användarinloggningsstatus, session, cookie, databas eller memcache http://www.dewen.org/q/11504/

När det gäller användarens inloggningsstatus, för- och nackdelar med session%2Ccookie, databas eller memcache

  11. Extrema fall hanteras i transaktioner
  12. SQL språk är indelat i fyra kategorier, vänligen lista
        DDL--SKAPA, SLÄPPA, ÄNDRA
        DML--INFOGA, UPPDATERA, TA BORT
        DQL-SELECT
        DCL--BEVILJA, ÅTERKALLA, BINDA, RULLA TILLBAKA
        

2. PHP grunderna

      Session

        Flera sätt och skillnader mellan PHP och anslutning till MySQL-databaser
    MySQL: Processorienterat
    MySQLI: Objektorienterad
    PDO: Hög portabilitet
    Se gärna: PHP Basic Series: Tre API:er som används av PHP för att ansluta till MySQL-databaser

3. PHP Avancerad

    Användning av långa och korta anslutningar

    Hylsa

    Betalningssäkerhetsproblem

    Objektorienterat
    Tre huvudsakliga egenskaper: inkapsling, arv och polymorfism (metodomskrivning).
    Abstrakt klass: abstrakt, minst en metod är en abstrakt metod som inte kan instansieras, och definierar ett gemensamt gränssnitt för underklassen.
    Gränssnitt: gränssnitt, lös problemet med enkel arv i PHP, alla metoder är abstrakta metoder för offentlig åtkomst, du kan inte deklarera variabler, bara konstanter.
    Ärva en klass samtidigt som du implementerar flera gränssnitt
    klass A utvidgar B implementerar gränssnitt 1, gränssnitt 2..., gränssnitt n() {
          Implementera metoder i alla gränssnitt
    }
    Analys av orsakerna till skillnader i prestanda mellan LAMP- och LNMP-webbplatsarkitekturer
    Prestandaanalys av tolkade och kompilerade språk, exempel.

4. Regelbundenhet

      Matchning av e-post, html, js, etc.

5. Utvecklingsstiftelse

          Process- och tråddefinitioner, distinktioner och kopplingar.
           Processens tillstånd: spring, redo, vänta

6. Nosql-databas
       Memcached, redis, mongodb differentierade kopplingar
       3 scener är helt olika saker. 1.memcached: Om ett enda nyckelvärde är cachad i minnet finns det inget substitut för objektcaching av distribuerad cache; 2. redis: Det är en samling algoritmer och datastrukturer, snabb datastrukturfunktion är dess största egenskap och stödjer databeständighet; 3. MongoDB är en BSON-struktur mellan RDB och NoSQL, som är lösare och mer flexibel, men den stöder inte transaktioner och används endast som ett icke-viktigt datalagringsutrymme.
     Kan jag hänvisa till MongoDB eller Redis som ett alternativ till memcached?

7. Vanligt använda Linux-kommandon
      Till exempel mjuka länkar

8. Arkitekturrelaterat

           Stresstest innan projektet går live, antalet samtidigheter som stöds av en enda server och antalet PV:er.

           Rimlig fördelning av serverresurser

             CPU:Apache
                   I en miljö med hög belastning kommer för många disk-IO-läsningar och skrivningar definitivt att ta upp mycket resurser, och CPU:n kommer oundvikligen att ta upp för mycket CPU.
             Minne: Minnesbank, databasprogramvara
               
             Hårddisk: Filer

           Val av web2.0-arkitektur

              MongoDB+Redis eller MySQL+Memcached är en bättre kombination, och NOSQL används för enkel logik

           Huvudwebbplatsens arkitektur är för närvarande populär
    LAMP、LNMP、LLMP
    Nu finns det också en LNAMP-arkitektur på nätverket, det vill säga den kombinerar fördelarna med nginx och Apache, använder Apache för att ladda PHP, nginx ansvarar för att analysera andra webbförfrågningar och använder nginx:s omskrivningsmodul, men Apache-porten är inte öppen för allmänheten, och många Apache-moduler kan minska resurserna utan att behöva ladda.





Föregående:Windows PowerShell för att hitta angriparens IP
Nästa:C# identifierar platsen för QR-koden på skärmen
Publicerad på 2016-12-23 21:53:52 |
Du krossar allt.
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com