|
Recent, am intervievat mai multe companii una după alta și am înregistrat câteva întrebări importante, încurajându-mă să studiez și să mă îmbunătățesc, sperând în același timp să le ofer ajutor prietenilor. Există mult conținut, pas cu pas, învățare pas cu pas. Unele sunt întrebate în interviuri, altele sunt cerințe de recrutare, iar altele sunt adăugate singure.
1. Cunoștințe legate de MySQL 1. Metoda de optimizare MySQL Metode comune de optimizare MYSQL Schema de optimizare a performanței MySQL
2. Cum să împărțim baza de date și tabelele Referință: http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html http://www.jb51.net/article/29771.htm 3. Cum să faci standby la cald pentru două mașini și echilibrarea sarcinii în Mysql+
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
4. Care sunt tipurile de tabele de date? MyISAM, InnoDB, HEAP, BOB, ARCHIVE, CSV etc ISAM-ul meu: Matur, stabil, ușor de gestionat, rapid de citit. Unele funcționalități nu sunt suportate (tranzacții etc.), blocaje la nivel de tabel. InnoDB: Suportă tranzacții, chei străine și încuietori pe rânduri. Ocupă mult spațiu și nu suportă indexarea textului integral. Caracteristici cheie ale motoarelor myisam și Innodb: Care este diferența dintre motorul de stocare MySQL, MyISAM, și InnoDB? 5. Metoda de injectare anti-SQL mysql_escape_string(strip_tags($arr["$val"])); 6. Cum să rezolvi problema eficienței interogărilor cross-table după ce mysql împarte un tabel mare în mai multe tabele [php] vizualizare copie simplă Vizualizați slice-urile de cod derivate din slice-urile mele de cod pe CODE /** * Nume funcție: post_check() * Funcție funcție: Procesează editările trimise * Parametru: $post: Conținutul ce urmează să fie trimis * Valoare de returnare: $post: returnează conținutul filtrat */ funcția post_check($post){ if(!get_magic_quotes_gpc()){// Determină dacă magic_quotes_gpc este deschis $post = oblii de adăugare ($post); Efectuați magic_quotes_gpc filtrare a datelor trimise fără a deschide } $post = str_replace("_","\_", $post); Filtrează '_' $post = str_replace("%","\%", $post); Filtrează '%' $post = nl2br($post); Intră în scenă conversia $post = htmlspecialchars($post); Conversia markup-ului HTML întoarcerea $post; } 7. Aplicarea indexului Când să luăm în considerare indexarea Ce situații nu sunt potrivite pentru indexare Cum să judeci dacă o afirmație folosește un indice Scenarii frecvente în care indicii nu sunt folosiți: De genul '%.....' Conversia implicită a tipurilor de date sau cuvinte-cheie plus alte condiții Indexul textului integral: Poate fi folosit doar pentru tabele MYIsAM, create pe coloane de tipul CHAR, VARCHAR, TEXT.
8. Cum să optimizezi MySQL pentru tabele mari (zeci de milioane)? Referință http://www.zhihu.com/question/19719997 9. Problema interogării lente a mysql De fapt, este o metodă relativ simplă de a analiza prin log-uri lente de interogare; dacă nu vrei să vezi logurile, poți folosi unelte pentru a o completa. De exemplu, mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter etc., simți că ai nevoie de multă experiență pentru a analiza unul și e o pierdere de timp. 10. Referitor la avantajele și dezavantajele sesiunii de autentificare a utilizatorului, cookie-urilor, bazei de date sau memcache-ului http://www.dewen.org/q/11504/ Referitor la starea de autentificare a utilizatorului, avantajele și dezavantajele cookie-ului de sesiune%2C, bazei de date sau memcache-ului 11. Cazurile extreme sunt tratate în tranzacții 12. SQL limba este împărțită în 4 categorii, vă rugăm să o listați DDL—CREEAZĂ, RENUNȚĂ, ALTEREAZĂ DML--INSEREAZĂ, ACTUALIZEAZĂ, ȘTERGE DQL-SELECT DCL--ACORDĂ, RETRAGE, ANGAJEAZĂ-TE, ANULEAZĂ
2. PHP elemente de bază Sesiune Mai multe moduri și diferențe între conectarea PHP la bazele de date MySQL mysql: orientat pe procese mysqli: orientat pe obiecte PDO: Portabilitate ridicată Vă rugăm să consultați: PHP Basic Series: Trei API-uri folosite de PHP pentru a se conecta la baze de date MySQL 3. PHP Avansat Utilizarea conexiunilor lungi și scurte Soclu Probleme legate de securitatea plăților Orientat pe obiecte Trei caracteristici majore: încapsulare, moștenire și polimorfism (rescrierea metodelor). Clasă abstractă: abstractă, cel puțin o metodă este o metodă abstractă care nu poate fi instanțiată, definind o interfață comună pentru subclasă. Interfață: interfață, rezolvă problema moștenirii unice a PHP, toate metodele sunt metode abstracte de acces public, nu poți declara variabile, doar constante. Moștenește o clasă în timp ce implementezi mai multe interfețe clasa A extinde B implementează interfața 1, interfața 2..., interfața n() { Implementează metode în toate interfețele } Analiza cauzelor diferențelor de performanță între arhitecturile site-urilor LAMP și LNMP Analiza performanței limbajelor interpretate și compilate, exemple. 4. Regularitate Potrivirea emailului, HTML, JS etc. 5. Fundația de dezvoltare Definiții, distincții și conexiuni între procese și fire. Starea procesului: aleargă, gata, așteaptă 6. Baza de date Nosql conexiuni diferențiate memcached, redis, mongodb 3 scene, lucruri complet diferite. 1.memcached: Dacă o singură valoare de cheie este stocată în memorie, nu există substitut pentru cache-ul distribuit al obiectelor; 2. redis: Este o colecție de algoritmi și structuri de date, operarea rapidă a structurilor de date fiind cea mai mare caracteristică a sa, susținând persistența datelor; 3. MongoDB este o structură BSON, între RDB și NoSQL, care este mai lejeră și mai flexibilă, dar nu suportă tranzacții și este folosită doar ca un depozit de date neimportant. Pot să mă refer la MongoDB sau redis ca alternativă la memcached? 7. Comenzi Linux utilizate frecvent De exemplu, legăturile soft 8. Legată de arhitectură Testează stresul înainte ca proiectul să devină live, numărul de concurențe susținute de un singur server și numărul de PV-uri. Alocare rezonabilă a resurselor serverului CPU:Apache Într-un mediu cu încărcare mare, prea multe citiri și scrieri IO pe disc vor consuma cu siguranță multe resurse, iar CPU-ul va ocupa inevitabil prea mult CPU. Memorie: Bancă de memorie, software de baze de date
Hard disk: Fișiere Selecția arhitecturii Web2.0 MongoDB+Redis sau MySQL+Memcached este o combinație mai bună, iar NOSQL este folosit pentru logică simplă Arhitectura principală a site-ului este în prezent populară LAMPĂ、LNMP、LLMP Acum există și o arhitectură LNAMP pe rețea, adică combină avantajele nginx și Apache, folosind Apache pentru încărcarea PHP, nginx este responsabil pentru analizarea altor cereri web și folosește modulul de rescriere al nginx, dar portul Apache nu este deschis publicului, iar multe module Apache pot reduce resursele fără încărcare. |