Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 11174|Odpoveď: 1

Otázky na pohovor pre senior programátora-architekta v php

[Kopírovať odkaz]
Zverejnené 23. 12. 2016 9:10:09 | | |


Nedávno som robil rozhovory s viacerými firmami jednu po druhej a nahrával som si dôležité otázky, povzbudzujúc sa študovať a zlepšovať sa, a zároveň dúfajúc, že pomôžem svojim priateľom.
Je tu veľa obsahu, postupne, krok za krokom sa učíme.
Niektoré sa pýtajú na pohovoroch, niektoré sú požiadavkami na nábor a niektoré sú pridané samostatne.

1. Vedomosti súvisiace s MySQL
    1. Metóda optimalizácie MySQL
            Bežné metódy optimalizácie MYSQL
            Schéma optimalizácie výkonu MySQL
  
    2. Ako rozdeliť databázu a tabuľky
           Referencia:
   http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html
           http://www.jb51.net/article/29771.htm

   3. Ako vykonávať pohotovosť a vyvažovanie záťaže s dvoma strojmi v Mysql+
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
   
   4. Aké sú typy dátových tabuliek?
       MyISAM, InnoDB, HEAP, BOB, ARCHIVE, CSV, atď
       MyISAM: Zrelý, stabilný, ľahko ovládateľný, rýchly na čítanie. Niektoré funkcie nie sú podporované (transakcie a pod.), zámky na úrovni tabuliek.
       InnoDB: Podporuje transakcie, cudzie kľúče a zámky riadkov. Zaberá veľa miesta a nepodporuje indexovanie plného textu.

       Kľúčové vlastnosti motorov myisam a Innodb:
       Aký je rozdiel medzi úložiskovým enginem MyISAM od MySQL a InnoDB?

   5. Metóda injekcie proti SQL
      mysql_escape_string(strip_tags($arr["$val"]);

   6. Ako vyriešiť problém efektivity dotazov medzi tabuľkami po tom, čo mysql rozdelí veľkú tabuľku na viacero tabuliek

[php] zobraziť obyčajnú kópiu
Zobraziť kódové rezy odvodené z mojich kódových rezkov na CODE

    /**
    * Názov funkcie: post_check()  
    * Funkčná funkcia: Spracováva zadané úpravy  
    * Parameter: $post: Obsah, ktorý sa má odoslať  
    * Návratná hodnota: $post: Vráti filtrovaný obsah  
    */  
    funkcia post_check($post){  
    if(!get_magic_quotes_gpc()){// Určte, či je magic_quotes_gpc otvorený   
    $post = addslashes($post); Vykonajte magic_quotes_gpc filtrovanie zaslaných dát bez otvorenia   
    }  
    $post = str_replace("_","\_", $post); Vyfiltrujte '_'  
    $post = str_replace("%","\%", $post); Vyfiltrujte '%'  
    $post = nl2br($post); Vstup do konverzie   
    $post = htmlspecialchars($post); Konverzia HTML značkovania   
    return $post;  
    }  

   7. Aplikácia indexu
         Kedy zvážiť indexovanie
         Aké situácie nie sú vhodné na indexovanie
         Ako posúdiť, či výrok používa index
        Časté scenáre, keď sa indexy nepoužívajú:
                Ako '%.....'
                Implicitná konverzia dátových typov
                alebo kľúčové slová plus ďalšie podmienky
       Celý textový index:
                Môže sa použiť iba pre tabuľky MYIsAM, vytvorené na stĺpcoch typu CHAR, VARCHAR, TEXT.
      

   8. Ako optimalizovať mysql pre veľké tabuľky (desiatky miliónov)?
        Referenčné http://www.zhihu.com/question/19719997

   9. Pomalý dotazovací problém mysql
  V skutočnosti je to relatívne jednoduchý spôsob, ako analyzovať pomalé dotazovacie záznamy, ak ich nechcete vidieť, môžete použiť nástroje na ich dokončenie.

Napríklad mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter a podobne, mám pocit, že na analýzu potrebujete veľa skúseností a je to strata času.

10. Čo sa týka výhod a nevýhod aplikačných relácií, cookies, databáz alebo memcache http://www.dewen.org/q/11504/

Čo sa týka prihlasovacieho stavu používateľa, výhod a nevýhod session%2Ccookie, databázy alebo memcache

  11. Extrémne prípady sa riešia v transakciách
  12. SQL jazyk je rozdelený do 4 kategórií, prosím, uveďte ich
        DDL--CREATE, DROP, ALTER
        DML--INSERT,UPDATE,DELETE DELETE
        DQL-SELECT
        DCL--GRANT, REVOKE, COMMIT, RECBACK
        

2. PHP základy

      Zasadnutie

        Niekoľko spôsobov a rozdielov medzi PHP a MySQL databázami
    MySQL: procesne orientovaný
    mysqli: objektovo orientované
    PDO: Vysoká prenosnosť
    Pozrite si: PHP Basic Series: Tri API používané PHP na pripojenie k MySQL databázam

3. PHP Advanced

    Použitie dlhých a krátkych spojení

    Zásuvka

    Otázky bezpečnosti platieb

    Objektovo orientované
    Tri hlavné charakteristiky: zapuzdrenie, dedičnosť a polymorfizmus (prepisovanie metód).
    Abstraktná trieda: abstraktná, aspoň jedna metóda je abstraktná metóda, ktorú nemožno inštancionovať, definujúc spoločné rozhranie pre podtriedu.
    Rozhranie: rozhranie, vyriešiť problém dedičnosti v PHP, všetky metódy sú abstraktné metódy verejného prístupu, nemôžete deklarovať premenné, len konštanty.
    Dedenie triedy pri implementácii viacerých rozhraní
    trieda A rozširuje B implementuje rozhranie 1, rozhranie 2..., rozhranie n() {
          Implementujte metódy vo všetkých rozhraniach
    }
    Analýza príčin rozdielov vo výkone medzi architektúrami webových stránok LAMP a LNMP
    Analýza výkonu interpretovaných a skompilovaných jazykov, príklady.

4. Pravidelnosť

      E-mail, HTML, JS a podobne. Zhoda

5. Rozvojová nadácia

          Definície procesov a vlákien, rozlíšenia a spojenia.
           Stav procesu: bež, pripravený, čakať

6. Nosql databáza
       Memcached, redis, mongodb diferencované spojenia
       3 scény úplne odlišné veci. 1.memcached: Ak je v pamäti uložená jedna kľúčová hodnota, neexistuje náhrada za objektové cacheovanie distribuovanej cache; 2. redis: Je to súbor algoritmov a dátových štruktúr, jeho najväčšou vlastnosťou je rýchla prevádzka dátových štruktúr, podporujúca perzistenciu dát; 3. MongoDB je BSON štruktúra medzi RDB a NoSQL, ktorá je voľnejšia a flexibilnejšia, ale nepodporuje transakcie a používa sa len ako nepodstatné dátové úložisko.
     Môžem používať MongoDB alebo redis ako alternatívu k memcached?

7. Bežne používané linuxové príkazy
      Napríklad softvérové odkazy

8. Súvisiace s architektúrou

           Stresový test pred spustením projektu, počet súbežnosti podporovaných jedným serverom a počet PV.

           Rozumné rozdelenie serverových zdrojov

             CPU:Apache
                   V prostredí s vysokou záťažou príliš veľa čítaní a zápisov diskového IO určite zaberie veľa zdrojov a CPU nevyhnutne zaberie príliš veľa CPU.
             Pamäť: pamäťová banka, databázový softvér
               
             Pevný disk: Súbory

           Výber architektúry Web2.0

              MongoDB+Redis alebo MySQL+Memcached je lepšia kombinácia a NOSQL sa používa na jednoduchú logiku

           Hlavná architektúra webovej stránky je momentálne populárna
    LAMP、LNMP、LLMP
    Teraz je v sieti aj LNAMP architektúra, ktorá kombinuje výhody nginx a Apache, používa Apache na načítanie PHP, nginx je zodpovedný za parsovanie iných webových požiadaviek a používa modul nginx na prepisovanie, ale port Apache nie je verejne prístupný a mnohé moduly Apache dokážu znižovať zdroje bez načítavania.





Predchádzajúci:Windows PowerShell na nájdenie IP adresy útočníka
Budúci:C# identifikuje polohu QR kódu na obrazovke
Zverejnené 23. 12. 2016 21:53:52 |
Rozbiješ všetko.
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com