|
Nedavno sem intervjuval več podjetij eno za drugim in posnel nekaj pomembnih vprašanj, se spodbujal k učenju in izboljšanju ter hkrati upal, da bom pomagal prijateljem. Vsebine je veliko, počasi, korak za korakom. Nekateri so povabljeni na razgovorih, nekateri so zahtevni za zaposlovanje, nekateri pa so dodani sami.
1. Znanje, povezano z MySQL 1. Metoda optimizacije MySQL Pogoste metode optimizacije MYSQL Shema optimizacije zmogljivosti MySQL
2. Kako razdeliti bazo podatkov in tabele Referenca: http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html http://www.jb51.net/article/29771.htm 3. Kako vzpostaviti vročo pripravljenost z dvema napravama in uravnoteženje obremenitve v Mysql+
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
4. Kakšne so vrste podatkovnih tabel? MyISAM, InnoDB, HEAP, BOB, ARCHIVE, CSV itd MyISAM: Zrel, stabilen, enostaven za upravljanje, hitro berljiv. Nekatere funkcije niso podprte (transakcije itd.), zaklepanje na ravni tabel. InnoDB: Podpira transakcije, tuje ključe in zaklepanje vrstic. Zavzame veliko prostora in ne podpira indeksiranja celotnega besedila. Ključne značilnosti motorjev myisam in Innodb: Kakšna je razlika med MySQL-ovim pogonom za shranjevanje MyISAM in InnoDB? 5. Metoda anti-SQL injekcij mysql_escape_string(strip_tags($arr["$val"]); 6. Kako rešiti problem učinkovitosti poizvedb med tabelami po tem, ko mysql razdeli veliko tabelo na več tabel [php] ogled navadne kopije Oglejte si rezine kode, izpeljane iz mojih rezov kode na CODE /** * Ime funkcije: post_check() * Funkcijska funkcija: Obdela oddane spremembe * Parameter: $post: Vsebina, ki jo je treba predložiti * Vrednost vračila: $post: Vrne filtrirano vsebino */ funkcija post_check($post){ if(!get_magic_quotes_gpc()){// Določi, ali je magic_quotes_gpc odprt $post = dodatne poševnice($post); Izvedite magic_quotes_gpc filtriranje oddanih podatkov brez odpiranja } $post = str_replace ("_","\_", $post); Filtrirajte '_' $post = str_replace ("%","\%", $post); Filtrirajte '%' $post = nl2br($post); Vstop v preobrazbo $post = htmlspecialchars($post); HTML pretvorba označevanja vrnitev $post; } 7. Uporaba indeksa Kdaj razmisliti o indeksiranju Katere situacije niso primerne za indeksiranje Kako presoditi, ali izjava uporablja indeks Pogosti scenariji, kjer indeksi niso uporabljeni: Kot '%.....' Implicitna pretvorba podatkovnih tipov ali ključne besede in druge pogoje Celotno besedilo kazala: Lahko se uporablja le za MYIsAM tabele, ustvarjene v stolpcih tipa CHAR, VARCHAR, TEXT.
8. Kako optimizirati mysql za velike tabele (desetine milijonov)? Referenčni http://www.zhihu.com/question/19719997 9. Problem počasnih poizvedb v mysql Pravzaprav je to razmeroma preprost način analize skozi počasne dnevnike poizvedb; če nočete videti dnevnikov, lahko uporabite orodja za dokončanje. Na primer mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter itd., se zdi, da za analizo potrebuješ veliko izkušenj in izguba časa. 10. Glede prednosti in slabosti seje statusa prijave uporabnika, piškotkov, podatkovnih baz ali memcache http://www.dewen.org/q/11504/ Glede prijavnega statusa uporabnika, prednosti in slabosti session%2Ccookie, baze podatkov ali memcache 11. Ekstremni primeri se obravnavajo v transakcijah 12. SQL jezik je razdeljen v 4 kategorije, prosim, navedite DDL--USTVARI, SPUSTI, SPREMENI DML--INSERT,UPDATE,DELETE DQL-SELECT DCL--ODOBRITEV, PREKLIC, ZAVEZA, RAZVELJAVITEV
2. PHP osnove Seja Več načinov in razlik med povezovanjem PHP in MySQL bazami podatkov mysql: procesno usmerjen mysqli: objektno usmerjena PDO: Visoka prenosljivost Prosimo, glejte na: PHP Basic Series: Trije API-ji, ki jih PHP uporablja za povezavo z MySQL bazami podatkov 3. PHP Advanced Uporaba dolgih in kratkih povezav Podnožje Vprašanja varnosti plačil Objektno usmerjena Tri glavne značilnosti: kapsulacija, dedovanje in polimorfizem (prepisovanje metod). Abstraktni razred: abstrakten, vsaj ena metoda je abstraktna metoda, ki je ni mogoče instancirati, in določa skupni vmesnik za podrazred. Vmesnik: vmesnik, reši problem enojnega dedovanja v PHP-ju, vse metode so abstraktne metode javnega dostopa, ne moreš deklarirati spremenljivk, samo konstant. Dedovanje razreda ob implementaciji več vmesnikov razred A razširja B implementira vmesnik 1, vmesnik 2..., vmesnik n() { Implementirajte metode v vseh vmesnikih } Analiza vzrokov razlik v zmogljivosti med arhitekturama spletnih strani LAMP in LNMP Analiza zmogljivosti interpretiranih in prevedenih jezikov, primeri. 4. Rednost E-pošta, HTML, JS itd. 5. Razvojna fundacija Definicije, razlike in povezave procesov in niti. Stanje procesa: teči, pripravljen, počakaj 6. Nosql podatkovna baza Memcached, redis, mongodb diferencirane povezave 3 prizori, popolnoma različne stvari. 1.memcached: Če je ena sama vrednost ključa shranjena v pomnilniku, ni nadomestila za predpomnjenje objektov v distribuiranem predpomnilniku; 2. redis: Gre za zbirko algoritmov in podatkovnih struktur, njegova največja značilnost je hitro delovanje podatkovnih struktur, ki podpira obstojnost podatkov; 3. MongoDB je BSON struktura, med RDB in NoSQL, ki je bolj ohlapna in prilagodljiva, vendar ne podpira transakcij in se uporablja le kot manj pomemben podatkovni prostor. Ali lahko kot alternativo memcachedu uporabim MongoDB ali redis? 7. Pogosto uporabljeni ukazi za Linux Na primer, mehke povezave 8. Povezano z arhitekturo Preizkus stresa pred začetkom projekta, število sočasnosti, ki jih podpira en strežnik, in število PV-jev. Razumna razporeditev strežniških virov CPU:Apache V okolju z veliko obremenitvijo bo preveč branj in zapisovanja diskovnega vhodno-izhodnega sistema zagotovo porabilo veliko virov, procesor pa bo neizogibno porabil preveč procesorja. Pomnilnik: Pomnilniška banka, programska oprema za podatkovne baze
Trdi disk: Datoteke Izbira arhitekture Web2.0 MongoDB+Redis ali MySQL+Memcached je boljša kombinacija, NOSQL pa se uporablja za preprosto logiko Glavna arhitektura spletne strani je trenutno priljubljena LAMP、LNMP、LLMP Zdaj obstaja tudi LNAMP arhitektura v omrežju, ki združuje prednosti nginx in Apache, uporablja Apache za nalaganje PHP, nginx je odgovoren za analizo drugih spletnih zahtevkov in uporablja nginxov modul za prepisovanje, vendar Apache port ni odprt za javnost, mnogi moduli Apache pa lahko zmanjšajo vire brez nalaganja. |