|
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. |