Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 11174|Antwoord: 1

php Senior Programmeur Architect Interviewvragen

[Link kopiëren]
Geplaatst op 23-12-2016 09:10:09 | | |


Onlangs heb ik verschillende bedrijven één voor één geïnterviewd, en ik heb een aantal belangrijke vragen opgenomen, mezelf aangespoord om te studeren en te verbeteren, en tegelijkertijd hopend mijn vrienden wat hulp te geven.
Er is veel inhoud, beetje bij beetje, stap voor stap leren.
Sommige worden gevraagd tijdens sollicitatiegesprekken, sommige zijn rekruteringsvereisten, en sommige worden vanzelf toegevoegd.

1. MySQL-gerelateerde kennis
    1. MySQL-optimalisatiemethode
            MYSQL-optimalisatiemethoden
            MySQL prestatieoptimalisatieschema
  
    2. Hoe de database en tabellen te verdelen
           Referentie:
   http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html
           http://www.jb51.net/article/29771.htm

   3. Hoe doe je dual-machine hot standby en load balancing in Mysql+
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
   
   4. Wat zijn de soorten datatabellen?
       MyISAM, InnoDB, HEAP, BOB, ARCHIVE, CSV, enzovoort
       MyISAM: Volwassen, stabiel, makkelijk te beheren, snel te lezen. Sommige functies worden niet ondersteund (transacties, enz.), tabelniveau-sloten.
       InnoDB: Ondersteunt transacties, vreemde sleutels en rijsloten. Het neemt veel ruimte in beslag en ondersteunt geen volledige tekstindexering.

       Belangrijkste kenmerken van de myisam- en Innodb-motoren:
       Wat is het verschil tussen MySQL's opslagengine MyISAM en InnoDB?

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

   6. Hoe het cross-table query-efficiëntieprobleem op te lossen nadat MySQL een grote tabel in meerdere tabellen heeft opgesplitst

[php] bekijk gewone kopie
Bekijk codeslices die zijn afgeleid van mijn codeslices op CODE

    /**
    * Functienaam: post_check()  
    * Functiefunctie: Verwerkt de ingediende bewerkingen  
    * Parameter: $post: De inhoud die ingediend moet worden  
    * Retourwaarde: $post: Retourneert gefilterde inhoud  
    */  
    functie post_check($post){  
    als(!get_magic_quotes_gpc()){// Bepaal of de magic_quotes_gpc open is   
    $post = voegt sneden ($post); Voer magic_quotes_gpc filtering van ingediende gegevens uit zonder het te openen   
    }  
    $post = str_replace("_","\_", $post); Filter '_' eruit  
    $post = str_replace("%","\%", $post); Filter '%' eruit  
    $post = nl2br($post); Voer de conversie in   
    $post = htmlspecialchars($post); HTML-opmaakconversie   
    Geef $post terug;  
    }  

   7. Indextoepassing
         Wanneer te overwegen indexeren
         Welke situaties zijn niet geschikt voor indexering
         Hoe te beoordelen of een verklaring een index gebruikt
        Veelvoorkomende scenario's waarin indexen niet worden gebruikt:
                Zoals '%.....'
                Impliciete conversie van datatypen
                of trefwoorden plus andere voorwaarden
       Volledige tekst Index:
                Kan alleen worden gebruikt voor MYIsAM-tabellen, gemaakt op kolommen van het type CHAR, VARCHAR, TEXT.
      

   8. Hoe optimaliseer je mysql voor grote tabellen (tientallen miljoenen)?
        Referentie http://www.zhihu.com/question/19719997

   9. Langzaam queryprobleem van mysql
  Het is eigenlijk een relatief eenvoudige manier om te analyseren via langzame querylogs; als je de logs niet wilt zien, kun je tools gebruiken om het uit te voeren.

Zoals mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter, enzovoort, het gevoel dat je veel ervaring nodig hebt om er een te analyseren, en het is tijdverspilling.

10. Met betrekking tot de voor- en nadelen van gebruikersloginstatus, sessie, cookie, database of memcache http://www.dewen.org/q/11504/

Wat betreft de inlogstatus van de gebruiker, de voor- en nadelen van session%2Ccookie, database of memcache

  11. Extreme gevallen worden behandeld in transacties
  12. SQL taal is verdeeld in 4 categorieën, vermeld alstublieft
        DDL--CREËER, DROP, VERANDER
        DML--INVOEGEN, BIJWERKEN, VERWIJDEREN
        DQL-SELECT
        DCL--GRANT, INTREKKEN, COMMITTEREN, TERUGDRAAIEN
        

2. PHP basis

      Sessie

        Er zijn verschillende manieren en verschillen tussen PHP en verbinding met MySQL-databases
    MySQL: Procesgericht
    MySQLI: Objectgeoriënteerd
    PDO: Hoge draagbaarheid
    Zie alstublieft: PHP Basic Series: Three APIs Used By PHP to Connect to MySQL Databases

3. PHP Gevorderd

    Gebruik van lange en korte verbindingen

    Socket

    Betalingsbeveiligingsproblemen

    Objectgeoriënteerd
    Drie hoofdkenmerken: encapsulatie, overerving en polymorfisme (methodeherschrijving).
    Abstracte klasse: abstract, ten minste één methode is een abstracte methode die niet kan worden geïnstantieerd, en definieert een gemeenschappelijke interface voor de subklasse.
    Interface: interface, los het enkelvoudige overervingsprobleem van PHP op, alle methoden zijn abstracte methoden van publieke toegang, je kunt geen variabelen declareren, alleen constanten.
    Een klasse erven terwijl je meerdere interfaces implementeert
    klasse A breidt B uit en implementeert interface 1, interface 2..., interface n() {
          Implementeer methoden in alle interfaces
    }
    Analyse van de oorzaken van prestatieverschillen tussen LAMP- en LNMP-websitearchitecturen
    Prestatie-analyse van geïnterpreteerde en gecompileerde talen, voorbeelden.

4. Regelmaat

      E-mail, HTML, JS, enzovoort matchen

5. Ontwikkelingsstichting

          Definities, onderscheidingen en verbindingen van proces en draad.
           De staat van het proces: rennen, klaar, wachten

6. Nosql-database
       Memcached, redis, mongodb gedifferentieerde verbindingen
       3 scènes totaal verschillende dingen. 1.memcached: Als één enkele sleutelwaarde in het geheugen wordt opgeslagen, is er geen vervanging voor objectcaching van gedistribueerde cache; 2. Redis: Het is een verzameling algoritmen en datastructuren, snelle datastructuurwerking is de grootste eigenschap en ondersteunt datapersistentie; 3. MongoDB is een BSON-structuur tussen RDB en NoSQL, die losser en flexibeler is, maar geen transacties ondersteunt en alleen wordt gebruikt als een niet-belangrijke dataopslag.
     Kan ik MongoDB of Redis als alternatief voor memchad raadplegen?

7. Veelgebruikte Linux-commando's
      Bijvoorbeeld, zachte links

8. Architectuurgerelateerd

           Stresstest voordat het project live gaat, het aantal gelijktijdige tijden dat door één server wordt ondersteund, en het aantal PV's.

           Redelijke toewijzing van servermiddelen

             CPU:Apache
                   In een omgeving met hoge belasting zullen te veel schijf-IO-lees- en schrijfopdrachten zeker veel middelen kosten, en zal de CPU onvermijdelijk te veel CPU innemen.
             Geheugen: Geheugenbank, databasesoftware
               
             Harde schijf: Bestanden

           Web2.0 architectuurselectie

              MongoDB+Redis of MySQL+Memcached is een betere combinatie, en NOSQL wordt gebruikt voor eenvoudige logica

           De hoofdarchitectuur van de website is momenteel populair
    LAMP、LNMP、LLMP
    Er is nu ook een LNAMP-architectuur op het netwerk, dat wil zeggen, deze combineert de voordelen van nginx en Apache, waarbij Apache PHP laadt, nginx verantwoordelijk is voor het parsen van andere webverzoeken en de herschrijfmodule van nginx gebruikt, maar de Apache-poort is niet toegankelijk voor het publiek, en veel modules van Apache kunnen de middelen verminderen zonder te laden.





Vorig:Windows PowerShell om het IP van de aanvaller te vinden
Volgend:C# identificeert de locatie van de QR-code op het scherm
Geplaatst op 23-12-2016 21:53:52 |
Je slaat alles kapot.
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com