|
Neseniai vieną po kitos apklausiau kelias įmones ir įrašiau keletą svarbių klausimų, ragindamas save mokytis ir tobulėti, o tuo pačiu tikėdamasis padėti savo draugams. Yra daug turinio, po truputį, žingsnis po žingsnio mokymosi. Kai kurie klausiami interviu, kai kurie yra įdarbinimo reikalavimai, o kai kurie pridedami patys.
1. Su MySQL susijusios žinios 1. MySQL optimizavimo metodas MYSQL optimizavimas: įprasti metodai MySQL našumo optimizavimo schema
2. Kaip padalinti duomenų bazę ir lenteles Nuoroda: http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html http://www.jb51.net/article/29771.htm 3. Kaip atlikti dviejų mašinų karšto budėjimo režimą ir apkrovos balansavimą MySQL +
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
4. Kokie yra duomenų lentelių tipai? MyISAM, InnoDB, HEAP, BOB, ARCHYVAS, CSV ir kt MyISAM: brandus, stabilus, lengvai valdomas, greitai skaitomas. Kai kurios funkcijos nepalaikomos (operacijos ir kt.), lentelės lygio užraktai. InnoDB: palaiko operacijas, išorinius raktus ir eilučių užraktus. Jis užima daug vietos ir nepalaiko viso teksto indeksavimo. Pagrindinės myisam ir Innodb variklių savybės: Kuo skiriasi MySQL saugojimo variklis MyISAM ir InnoDB? 5. Anti-SQL injekcijos metodas mysql_escape_string(strip_tags($arr["$val"])); 6. Kaip išspręsti kryžminių lentelių užklausų efektyvumo problemą po to, kai mysql padalija didelę lentelę į kelias lenteles [PHP] Peržiūrėti paprastą kopiją Peržiūrėti kodo dalis, gautas iš mano kodo pjūvių CODE /** * Funkcijos pavadinimas: post_check() * Funkcija funkcija: apdoroja pateiktus pakeitimus * Parametras: $post: turinys, kurį reikia pateikti * Grąžinama reikšmė: $post: Grąžina filtruotą turinį */ funkcija post_check($post){ if(!get_magic_quotes_gpc()){// Nustatykite, ar magic_quotes_gpc atidaryta $post = addslashes($post); Atlikite magic_quotes_gpc pateiktų duomenų filtravimą neatidarę } $post = str_replace("_","\_", $post); Filtruoti '_' $post = str_replace("%","\%", $post); Filtruoti '%' $post = nl2br($post); Įvesti konversiją $post = htmlspecialchars($post); HTML žymėjimo konvertavimas grąžinti $post; } 7. Indekso taikymas Kada apsvarstyti indeksavimą Kokios situacijos netinka indeksavimui Kaip įvertinti, ar pareiškime naudojamas indeksas Dažni scenarijai, kai indeksai nenaudojami: pvz., "%....." Numanomas duomenų tipų konvertavimas arba raktinius žodžius ir kitas sąlygas Viso teksto rodyklė: Galima naudoti tik MYIsAM lentelėse, sukurtose CHAR, VARCHAR, TEXT tipo stulpeliuose.
8. Kaip optimizuoti mysql didelėms lentelėms (dešimtims milijonų)? Nuoroda http://www.zhihu.com/question/19719997 9. Lėta užklausos problema mysql Tiesą sakant, tai gana paprastas būdas analizuoti lėtus užklausų žurnalus, jei nenorite matyti žurnalų, galite naudoti įrankius, kad juos užbaigtumėte. Tokie kaip mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter ir kt., atrodo, kad norint jį išanalizuoti reikia daug patirties ir laiko švaistymo. 10. Dėl vartotojo prisijungimo būsenos sesijos, slapukų, duomenų bazės ar memcache http://www.dewen.org/q/11504/ privalumų ir trūkumų Kalbant apie vartotojo prisijungimo būseną, sesijos%2Ccookie, duomenų bazės ar memcache privalumai ir trūkumai 11. Kraštutiniai atvejai tvarkomi sandoriuose 12. SQL kalba yra suskirstyta į 4 kategorijas, prašome išvardyti DDL - KURTI, NUMESTI, KEISTI DML - ĮTERPTI, ATNAUJINTI, IŠTRINTI DQL-SELECT DCL - SUTEIKTI, ATŠAUKTI, ĮSIPAREIGOTI, ATŠAUKTI
2. PHP pagrindai sesija Keli būdai ir skirtumai tarp PHP prisijungimo prie MySQL duomenų bazių mysql: orientuotas į procesą mysqli: orientuotas į objektus SKVN: didelis nešiojamumas Prašome kreiptis: PHP Basic Series: Trys API, kurias PHP naudoja prisijungti prie MySQL duomenų bazių 3. PHP Išplėstinė Ilgų ir trumpų jungčių naudojimas lizdas Mokėjimų saugumo klausimai Orientuotas į objektus Trys pagrindinės savybės: inkapsuliavimas, paveldėjimas ir polimorfizmas (metodo perrašymas). Abstrakti klasė: abstraktus, bent vienas metodas yra abstraktus metodas, kurio negalima sukurti, apibrėžiantis bendrą poklasio sąsają. Sąsaja: sąsaja, išspręsti vieną paveldėjimo problemą PHP, visi metodai yra abstraktūs metodai viešosios prieigos, jūs negalite deklaruoti kintamųjų, tik konstantos. Klasės paveldėjimas diegiant kelias sąsajas A klasė išplečia B įgyvendina sąsają 1, sąsaja 2..., sąsaja n() { Įdiegti metodus visose sąsajose } LAMP ir LNMP svetainių architektūrų našumo skirtumų priežasčių analizė Interpretuojamų ir sudarytų kalbų veiklos analizė, pavyzdžiai. 4. Reguliarumas El. paštas, HTML, JS ir kt. atitikimas 5. Plėtros pagrindas Procesų ir gijų apibrėžimai, skirtumai ir ryšiai. Proceso būsena: paleisti, pasiruošti, palaukti 6. Nosql duomenų bazė Memcached, redis, mongodb diferencijuotos jungtys 3 scenos visiškai skirtingi dalykai. 1.memcached: Jei atmintyje saugoma viena rakto reikšmė, objekto talpyklos paskirstytosios talpyklos nepakeičia; 2. redis: Tai algoritmų ir duomenų struktūrų rinkinys, greitas duomenų struktūros veikimas yra didžiausia jo savybė, palaikanti duomenų patvarumą; 3. MongoDB yra BSON struktūra tarp RDB ir NoSQL, kuri yra laisvesnė ir lankstesnė, tačiau nepalaiko operacijų ir naudojama tik kaip nesvarbi duomenų saugykla. Ar galiu remtis MongoDB arba redis kaip alternatyva memcached? 7. Dažniausiai naudojamos Linux komandos Pavyzdžiui, minkštosios nuorodos 8. Su architektūra susijusi Testavimas nepalankiausiomis sąlygomis prieš pradedant vykdyti projektą, vieno serverio palaikomų lygiagrečių skaičių ir fotovoltinių įrenginių skaičių. Pagrįstas serverio išteklių paskirstymas Procesorius: Apache Didelės apkrovos aplinkoje per daug disko IO skaitymo ir rašymo tikrai užims daug išteklių, o procesorius neišvengiamai užims per daug procesoriaus. Atmintis: atminties bankas, duomenų bazės programinė įranga
Kietasis diskas: failai Web2.0 architektūros pasirinkimas MongoDB+Redis arba MySQL+Memcached yra geresnis derinys, o NOSQL naudojamas paprastai logikai Pagrindinė svetainės architektūra šiuo metu yra populiari LEMPA、LNMP、LLMP Dabar tinkle taip pat yra LNAMP architektūra, tai yra, ji sujungia nginx ir Apache pranašumus, naudodama "Apache" PHP įkelti, nginx yra atsakinga už kitų žiniatinklio užklausų analizę ir naudoja nginx perrašymo modulį, tačiau "Apache" prievadas nėra atviras visuomenei, o daugelis "Apache" modulių gali sumažinti išteklius neįkeldami. |