|
Nemrég több céget interjúztattam egymás után, és feljegyeztem néhány fontos kérdést, ösztönzve magam, hogy tanuljak és fejlődjek, miközben reméltem, hogy segíthetek a barátaimnak. Rengeteg tartalom van, apránként, lépésről lépésre tanulni. Néhányat interjúkon kérnek, másokat toborzási követelmények, és néhányat önmaguktól adnak hozzá.
1. MySQL-hez kapcsolódó tudás 1. MySQL optimalizálási módszer MYSQL optimalizálási gyakori módszerek MySQL teljesítményoptimalizálási séma
2. Hogyan oszd fel az adatbázist és a táblákat Hivatkozás: http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html http://www.jb51.net/article/29771.htm 3. Hogyan lehet kétgépes hot standby és terheléselosztást végezni Mysql+-ban
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
4. Milyen típusú adattáblák vannak? MyISAM, InnoDB, HEAP, BOB, ARCHIVE, CSV stb MyISAM: Érett, stabil, könnyen kezelhető, gyorsan olvasható. Néhány funkció nem támogatott (tranzakciók stb.), táblázatszintű zárolások. InnoDB: Támogatja a tranzakciókat, külföldi kulcsokat és sorzárolásokat. Rengeteg helyet foglal el, és nem támogatja a teljes szöveges indexelést. A myisam és Innodb motorok kulcsfontosságú jellemzői: Mi a különbség a MySQL tárolómotorja, a MyISAM és az InnoDB között? 5. Anti-SQL befecskendezési módszer mysql_escape_string(strip_tags($arr["$val"])); 6. Hogyan oldjuk meg a kereszttáblás lekérdezés hatékonysági problémáját, miután a mysql egy nagy táblát több táblára oszt [php] egyszerű másolat megtekintése Tekintse meg a kódszeletekből származó kódszeleteket a CODE-on /** * Funkció neve: post_check() * Függvényfüggvény: Feldolgozza a benyújtott szerkesztéseket * Paraméter: $post: A benyújtandó tartalom * Visszaküldési érték: $post: Szűrt tartalmat ad vissza */ function post_check($post){ if(!get_magic_quotes_gpc()){// Határozzuk meg, hogy a magic_quotes_gpc nyitva van-e $post = addslashes($post); Végezze magic_quotes_gpc beküldött adatok szűrését anélkül, hogy megnyitnánk } $post = str_replace("_","\_", $post); Szűrd ki a '_'-t $post = str_replace("%","\%", $post); Szűrd ki a '%' $post = nl2br($post); A bevonulás $post = htmlspecialchars($post); HTML jelölő átalakítás visszatér $post; } 7. Index alkalmazás Mikor érdemes indexelni Milyen helyzetek nem alkalmasak indexelésre Hogyan ítéljük meg, hogy egy állítás indexet használ-e Gyakori esetek, amikor indexeket nem használnak: Mint például '%.....' Adattípusok implicit átalakítása vagy kulcsszavak és egyéb feltételek Teljes szöveg index: Csak MYIsAM táblákhoz használható, amelyeket CHAR, VARCHAR, TEXT típusú oszlopokon hoznak létre.
8. Hogyan optimalizáljuk a MySQL-t nagy táblákhoz (tízmilliók)? Hivatkozás http://www.zhihu.com/question/19719997 9. Lassú lekérdezési probléma a mySQL területén Valójában viszonylag egyszerű módja a lassú lekérdezési naplók elemzésének, ha nem akarod látni a naplókat, eszközökkel kiegészítheted. Például a mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter stb., úgy érzem, sok tapasztalatra van szükség az elemzéshez, ami időpocsékolás. 10. A felhasználói bejelentkezési státusz szekciók, süti, adatbázis vagy memcache http://www.dewen.org/q/11504/ előnyeiről és hátrányairól A felhasználó bejelentkezési státuszáról, session%2Ccookie, adatbázis vagy memcache előnyeiről és hátrányairól 11. Szélsőséges eseteket ügyletek kezelnek tranzakciókban 12. SQL nyelv négy kategóriába van osztva, kérjük, sorold fel DDL--CREATE, DROP, ALTER DML--INSERT,UPDATE,DELETE DQL-SELECT DCL---ADOMÁNY, VISSZAVONÁS, COMMIT, VISSZAHÚZÁS
2. PHP alapok Szekció Számos módja és különbsége a PHP MySQL adatbázisokhoz való csatlakozásának módja MySQL : folyamatorientált MySQLI: objektumorientált PDO: Magas hordozhatóság Kérjük, tekintse meg: PHP Basic Series: Három API, amelyet a PHP használ a MySQL adatbázisokhoz való csatlakozáshoz 3. PHP Haladó Hosszú és rövid kapcsolatok használata Socket Fizetési biztonsági problémák Objektumorientált Három fő jellemző: kapszulázás, öröklődés és polimorfizmus (módszer újraírása). Absztrakt osztály: absztrakt, legalább egy módszer olyan absztrakt módszer, amelyet nem lehet megvalósítani, és egy közös felületet határoz meg az alosztály számára. Interfész: interfész, oldd meg a PHP egyetlen öröklődési problémáját, minden metódus absztrakt nyilvános hozzáférési módszer, nem lehet változókat bejelenteni, csak állandókat. Örökölj egy osztályt, miközben több interfészt valósítunk meg az A osztály kiterjeszti a B interfészt 1, interfész 2..., interfész n() { Módszerek megvalósítása minden interfészben } A teljesítménykülönbségek oka elemzése a LAMP és az LNMP weboldalarchitektúrák között Értelmezett és fordított nyelvek teljesítményelemzése, példák. 4. Szabályosság E-mail, HTML, js stb. egyeztetés 5. Fejlesztési alapok Folyamat- és száldefiníciók, megkülönböztetések és kapcsolatok. A folyamat állapota: fuss, készen, várj 6. NoSQL adatbázis Memcached, redis, mongodb differenciált kapcsolatok 3 jelenet, teljesen különböző dolgok. 1.memcached: Ha egyetlen kulcsértéket gyorsítótároznak a memóriában, nincs helyettesítő az objektumok gyorsítótárázásának elosztott gyorsítótára; 2. redis: Ez algoritmusok és adatstruktúrák gyűjteménye, a gyors adatszerkezeti működés a legnagyobb jellemzője, amely támogatja az adatok tartósságát; 3. A MongoDB egy BSON struktúra, az RDB és a NoSQL között, lazább és rugalmasabb, de nem támogatja a tranzakciókat, és csak nem fontos adattárolóként használják. Hivatkozhatok a MongoDB-re vagy a redis-re alternatívaként a memcached helyett? 7. Leggyakrabban használt Linux parancsok Például lágy linkek 8. Építészethez kapcsolódó Stresszteszt a projekt indulása előtt, az egyetlen szerver által támogatott párhuzamok száma, valamint a PV-k száma. Szerver erőforrások ésszerű elosztása CPU:Apache Egy nagy terhelésű környezetben túl sok lemez IO olvasás és írás biztosan rengeteg erőforrást igényel, és a CPU elkerülhetetlenül túl sok CPU-t foglal el. Memória: Memóriabank, adatbázis-szoftver
Merevlemez: Fájlok Web2.0 architektúra kiválasztása A MongoDB+Redis vagy a MySQL+Memcached jobb kombináció, az egyszerű logikához pedig a NOSQL-t használják A fő weboldal architektúrája jelenleg népszerű LAMP、LNMP、LLMP Jelenleg már van egy LNAMP architektúra is a hálózaton, vagyis az nginx és az Apache előnyeit ötvözi, az Apache segítségével tölti be a PHP-t, a nginx felelős más webkérések elemzéséért, és használja az nginx újraírási modulját, de az Apache port nem nyitott a nyilvánosság számára, és sok Apache modul képes csökkenteni az erőforrásokat betöltés nélkül. |