Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 11174|Odpověď: 1

Otázky na pohovor pro senior programátora a architekta v php

[Kopírovat odkaz]
Zveřejněno 23.12.2016 9:10:09 | | |


Nedávno jsem vedl pohovory s několika firmami jednu po druhé a zaznamenal jsem důležité otázky, povzbuzoval jsem se ke studiu a zlepšovaní a zároveň doufal, že mohu pomoci svým přátelům.
Je tam spousta obsahu, postupně, krok za krokem, učení.
Některé jsou dotazovány na pohovorech, jiné jsou požadavky na nábor a některé jsou přidány samy.

1. Znalosti týkající se MySQL
    1. Metoda optimalizace MySQL
            Běžné metody optimalizace MYSQL
            Schéma optimalizace výkonu MySQL
  
    2. Jak rozdělit databázi a tabulky
           Reference:
   http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html
           http://www.jb51.net/article/29771.htm

   3. Jak provádět hot-standby a vyvažování zátěže pro dva stroje v Mysql+
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
   
   4. Jaké jsou typy datových tabulek?
       MyISAM, InnoDB, HEAP, BOB, ARCHIVE, CSV atd
       MyISAM: Vyspělé, stabilní, snadno ovladatelné, rychle čitelné. Některé funkce nejsou podporovány (transakce atd.), zámky na úrovni tabulky.
       InnoDB: Podporuje transakce, cizí klíče a zámky řádků. Zabírá hodně místa a nepodporuje indexování plného textu.

       Klíčové vlastnosti motorů myisam a Innodb:
       Jaký je rozdíl mezi úložným enginem MyISAM a InnoDB v MySQL?

   5. Metoda injekce antiSQL
      mysql_escape_string(strip_tags($arr["$val"]);

   6. Jak vyřešit problém efektivity dotazů přes tabulky poté, co mysql rozdělí velkou tabulku na více tabulek

[php] zobrazit prostou kopii
Zobrazit kódové řezy odvozené z mých kódových řezů na CODE

    /**
    * Název funkce: post_check()  
    * Funkční funkce: Zpracovává zadané úpravy  
    * Parametr: $post: Obsah, který má být odeslán  
    * Návratová hodnota: $post: Vrací filtrovaný obsah  
    */  
    funkce post_check($post){  
    if(!get_magic_quotes_gpc()){// Určí, zda je magic_quotes_gpc otevřený   
    $post = přidané lomky($post); Provést magic_quotes_gpc filtrování odeslaných dat bez nutnosti otevírání   
    }  
    $post = str_replace("_","\_", $post); Filtrujte '_'  
    $post = str_replace("%","\%", $post); Filtrujte '%'  
    $post = nl2br($post); Vstup do konverze   
    $post = htmlspecialchars($post); HTML převod značk   
    návrat $post;  
    }  

   7. Aplikace indexu
         Kdy zvážit indexování
         Jaké situace nejsou vhodné pro indexaci
         Jak posoudit, zda výrok používá index
        Časté scénáře, kdy se indexy nepoužívají:
                Třeba '%.....'
                Implicitní převod datových typů
                nebo klíčová slova plus další podmínky
       Celý textový rejstřík:
                Lze použít pouze pro tabulky MYIsAM, vytvořené ve sloupcích typu CHAR, VARCHAR, TEXT.
      

   8. Jak optimalizovat mysql pro velké tabulky (desítky milionů)?
        Referenční http://www.zhihu.com/question/19719997

   9. Pomalý dotazovací problém mysql
  Ve skutečnosti je to poměrně jednoduchý způsob, jak analyzovat pomalé dotazovací záznamy, pokud je nechcete vidět, můžete použít nástroje k jejich dokončení.

Jako mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter atd., mám pocit, že k analýze jednoho potřebujete hodně zkušeností a je to ztráta času.

10. Ohledně výhod a nevýhod uživatelského statusu přihlášení – relace, cookie, databáze nebo memcache http://www.dewen.org/q/11504/

Co se týče přihlášení uživatele, výhod a nevýhod session%2Ccookie, databáze nebo memcache

  11. Extrémní případy jsou řešeny v transakcích
  12. SQL jazyk je rozdělen do 4 kategorií, prosím uveďte je
        DDL--CREATE, DROP, ALTER
        DML--INSERT,UPDATE,DELETE DELETE
        DQL-SELECT
        DCL--GRANT, REVOKE, COMMIT, ROLLBACK
        

2. PHP základy

      Zasedání

        Několik způsobů a rozdílů mezi připojením PHP k databázím MySQL
    MySQL: Orientované na procesy
    mysqli: objektově orientované
    PDO: Vysoká přenosnost
    Podívejte se na: PHP Basic Series: Tři API používaná PHP pro připojení k databázím MySQL

3. PHP Pokročilé

    Použití dlouhých a krátkých spojení

    Nástrčnice

    Problémy s bezpečností plateb

    Objektově orientované
    Tři hlavní charakteristiky: zapouzdření, dědičnost a polymorfismus (přepisování metody).
    Abstraktní třída: abstraktní, alespoň jedna metoda je abstraktní metoda, kterou nelze instancionovat, definující společné rozhraní pro podtřídu.
    Rozhraní: rozhraní, vyřeší problém jediného dědičnosti v PHP, všechny metody jsou abstraktní metody veřejného přístupu, nemůžeš deklarovat proměnné, jen konstanty.
    Dědit třídu při implementaci více rozhraní
    třída A rozšiřuje B implementuje rozhraní 1, rozhraní 2..., rozhraní n() {
          Implementujte metody ve všech rozhraních
    }
    Analýza příčin rozdílů ve výkonu mezi architekturami webových stránek LAMP a LNMP
    Analýza výkonu interpretovaných a zkompilovaných jazyků, příklady.

4. Pravidelnost

      E-mail, HTML, JS atd. – shoda

5. Rozvojová nadace

          Definice, rozlišení a spojení procesů a vláken.
           Stav procesu: běž, připraven, čekej

6. Nosql databáze
       Memcached, redis, mongodb diferencované spojení
       3 scény jsou úplně jiné věci. 1.memcached: Pokud je v paměti uložena jedna klíčová hodnota, neexistuje náhrada za objektové cacheování distribuované cache; 2. REDIS: Jedná se o soubor algoritmů a datových struktur, jeho největší předností je rychlý provoz datových struktur, podporuje perzistenci dat; 3. MongoDB je BSON struktura, která se nachází mezi RDB a NoSQL, je volnější a flexibilnější, ale nepodporuje transakce a používá se pouze jako nedůležité datové úložiště.
     Mohu jako alternativu k memcached odkazovat na MongoDB nebo redis?

7. Běžně používané linuxové příkazy
      Například softwarové odkazy

8. Související s architekturou

           Stresový test před spuštěním projektu, počet souběžnosti podporovaných jedním serverem a počet PV.

           Rozumné rozdělení serverových zdrojů

             CPU:Apache
                   V prostředí s vysokou zátěží příliš mnoho čtení a zápisů diskového IO rozhodně zabere hodně zdrojů a CPU nevyhnutelně zabere příliš mnoho CPU.
             Paměť: paměťová banka, databázový software
               
             Pevný disk: Soubory

           Výběr architektury Web2.0

              MongoDB+Redis nebo MySQL+Memcached je lepší kombinací a NOSQL se používá pro jednoduchou logiku

           Hlavní architektura webu je v současnosti populární
    LAMP、LNMP、LLMP
    Nyní je v síti také architektura LNAMP, která kombinuje výhody nginx a Apache, používá Apache k načítání PHP, nginx je zodpovědný za parsování jiných webových požadavků a používá modul pro přepis nginx, ale port Apache není veřejně přístupný a mnoho modulů Apache může snižovat zdroje bez načítání.





Předchozí:Windows PowerShell pro nalezení IP adresy útočníka
Další:C# identifikuje polohu QR kódu na obrazovce
Zveřejněno 23.12.2016 21:53:52 |
Rozbiješ všechno.
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com