Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 11174|Válasz: 1

php Senior programozó Architect interjúkérdések

[Linket másol]
Közzétéve 2016. 12. 23. 9:10:09 | | |


Nemrég több céget interjúztattam egymás után, és feljegyeztem néhány fontos kérdést, ösztönzve magam, hogy tanuljak és fejlődjek, miközben reméltem, hogy segíthetek a barátaimnak.
Rengeteg tartalom van, apránként, lépésről lépésre tanulni.
Néhányat interjúkon kérnek, másokat toborzási követelmények, és néhányat önmaguktól adnak hozzá.

1. MySQL-hez kapcsolódó tudás
    1. MySQL optimalizálási módszer
            MYSQL optimalizálási gyakori módszerek
            MySQL teljesítményoptimalizálási séma
  
    2. Hogyan oszd fel az adatbázist és a táblákat
           Hivatkozás:
   http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html
           http://www.jb51.net/article/29771.htm

   3. Hogyan lehet kétgépes hot standby és terheléselosztást végezni Mysql+-ban
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
   
   4. Milyen típusú adattáblák vannak?
       MyISAM, InnoDB, HEAP, BOB, ARCHIVE, CSV stb
       MyISAM: Érett, stabil, könnyen kezelhető, gyorsan olvasható. Néhány funkció nem támogatott (tranzakciók stb.), táblázatszintű zárolások.
       InnoDB: Támogatja a tranzakciókat, külföldi kulcsokat és sorzárolásokat. Rengeteg helyet foglal el, és nem támogatja a teljes szöveges indexelést.

       A myisam és Innodb motorok kulcsfontosságú jellemzői:
       Mi a különbség a MySQL tárolómotorja, a MyISAM és az InnoDB között?

   5. Anti-SQL befecskendezési módszer
      mysql_escape_string(strip_tags($arr["$val"]));

   6. Hogyan oldjuk meg a kereszttáblás lekérdezés hatékonysági problémáját, miután a mysql egy nagy táblát több táblára oszt

[php] egyszerű másolat megtekintése
Tekintse meg a kódszeletekből származó kódszeleteket a CODE-on

    /**
    * Funkció neve: post_check()  
    * Függvényfüggvény: Feldolgozza a benyújtott szerkesztéseket  
    * Paraméter: $post: A benyújtandó tartalom  
    * Visszaküldési érték: $post: Szűrt tartalmat ad vissza  
    */  
    function post_check($post){  
    if(!get_magic_quotes_gpc()){// Határozzuk meg, hogy a magic_quotes_gpc nyitva van-e   
    $post = addslashes($post); Végezze magic_quotes_gpc beküldött adatok szűrését anélkül, hogy megnyitnánk   
    }  
    $post = str_replace("_","\_", $post); Szűrd ki a '_'-t  
    $post = str_replace("%","\%", $post); Szűrd ki a '%'  
    $post = nl2br($post); A bevonulás   
    $post = htmlspecialchars($post); HTML jelölő átalakítás   
    visszatér $post;  
    }  

   7. Index alkalmazás
         Mikor érdemes indexelni
         Milyen helyzetek nem alkalmasak indexelésre
         Hogyan ítéljük meg, hogy egy állítás indexet használ-e
        Gyakori esetek, amikor indexeket nem használnak:
                Mint például '%.....'
                Adattípusok implicit átalakítása
                vagy kulcsszavak és egyéb feltételek
       Teljes szöveg index:
                Csak MYIsAM táblákhoz használható, amelyeket CHAR, VARCHAR, TEXT típusú oszlopokon hoznak létre.
      

   8. Hogyan optimalizáljuk a MySQL-t nagy táblákhoz (tízmilliók)?
        Hivatkozás http://www.zhihu.com/question/19719997

   9. Lassú lekérdezési probléma a mySQL területén
  Valójában viszonylag egyszerű módja a lassú lekérdezési naplók elemzésének, ha nem akarod látni a naplókat, eszközökkel kiegészítheted.

Például a mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter stb., úgy érzem, sok tapasztalatra van szükség az elemzéshez, ami időpocsékolás.

10. A felhasználói bejelentkezési státusz szekciók, süti, adatbázis vagy memcache http://www.dewen.org/q/11504/ előnyeiről és hátrányairól

A felhasználó bejelentkezési státuszáról, session%2Ccookie, adatbázis vagy memcache előnyeiről és hátrányairól

  11. Szélsőséges eseteket ügyletek kezelnek tranzakciókban
  12. SQL nyelv négy kategóriába van osztva, kérjük, sorold fel
        DDL--CREATE, DROP, ALTER
        DML--INSERT,UPDATE,DELETE
        DQL-SELECT
        DCL---ADOMÁNY, VISSZAVONÁS, COMMIT, VISSZAHÚZÁS
        

2. PHP alapok

      Szekció

        Számos módja és különbsége a PHP MySQL adatbázisokhoz való csatlakozásának módja
    MySQL : folyamatorientált
    MySQLI: objektumorientált
    PDO: Magas hordozhatóság
    Kérjük, tekintse meg: PHP Basic Series: Három API, amelyet a PHP használ a MySQL adatbázisokhoz való csatlakozáshoz

3. PHP Haladó

    Hosszú és rövid kapcsolatok használata

    Socket

    Fizetési biztonsági problémák

    Objektumorientált
    Három fő jellemző: kapszulázás, öröklődés és polimorfizmus (módszer újraírása).
    Absztrakt osztály: absztrakt, legalább egy módszer olyan absztrakt módszer, amelyet nem lehet megvalósítani, és egy közös felületet határoz meg az alosztály számára.
    Interfész: interfész, oldd meg a PHP egyetlen öröklődési problémáját, minden metódus absztrakt nyilvános hozzáférési módszer, nem lehet változókat bejelenteni, csak állandókat.
    Örökölj egy osztályt, miközben több interfészt valósítunk meg
    az A osztály kiterjeszti a B interfészt 1, interfész 2..., interfész n() {
          Módszerek megvalósítása minden interfészben
    }
    A teljesítménykülönbségek oka elemzése a LAMP és az LNMP weboldalarchitektúrák között
    Értelmezett és fordított nyelvek teljesítményelemzése, példák.

4. Szabályosság

      E-mail, HTML, js stb. egyeztetés

5. Fejlesztési alapok

          Folyamat- és száldefiníciók, megkülönböztetések és kapcsolatok.
           A folyamat állapota: fuss, készen, várj

6. NoSQL adatbázis
       Memcached, redis, mongodb differenciált kapcsolatok
       3 jelenet, teljesen különböző dolgok. 1.memcached: Ha egyetlen kulcsértéket gyorsítótároznak a memóriában, nincs helyettesítő az objektumok gyorsítótárázásának elosztott gyorsítótára; 2. redis: Ez algoritmusok és adatstruktúrák gyűjteménye, a gyors adatszerkezeti működés a legnagyobb jellemzője, amely támogatja az adatok tartósságát; 3. A MongoDB egy BSON struktúra, az RDB és a NoSQL között, lazább és rugalmasabb, de nem támogatja a tranzakciókat, és csak nem fontos adattárolóként használják.
     Hivatkozhatok a MongoDB-re vagy a redis-re alternatívaként a memcached helyett?

7. Leggyakrabban használt Linux parancsok
      Például lágy linkek

8. Építészethez kapcsolódó

           Stresszteszt a projekt indulása előtt, az egyetlen szerver által támogatott párhuzamok száma, valamint a PV-k száma.

           Szerver erőforrások ésszerű elosztása

             CPU:Apache
                   Egy nagy terhelésű környezetben túl sok lemez IO olvasás és írás biztosan rengeteg erőforrást igényel, és a CPU elkerülhetetlenül túl sok CPU-t foglal el.
             Memória: Memóriabank, adatbázis-szoftver
               
             Merevlemez: Fájlok

           Web2.0 architektúra kiválasztása

              A MongoDB+Redis vagy a MySQL+Memcached jobb kombináció, az egyszerű logikához pedig a NOSQL-t használják

           A fő weboldal architektúrája jelenleg népszerű
    LAMP、LNMP、LLMP
    Jelenleg már van egy LNAMP architektúra is a hálózaton, vagyis az nginx és az Apache előnyeit ötvözi, az Apache segítségével tölti be a PHP-t, a nginx felelős más webkérések elemzéséért, és használja az nginx újraírási modulját, de az Apache port nem nyitott a nyilvánosság számára, és sok Apache modul képes csökkenteni az erőforrásokat betöltés nélkül.





Előző:Windows PowerShell segítségével megtalálhatod a támadó IP-címét
Következő:C# a QR-kód helyét jelzi a képernyőn
Közzétéve 2016. 12. 23. 21:53:52 |
Mindent összetörsz.
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com