|
Äskettäin haastattelin useita yrityksiä peräkkäin ja kirjasin ylös tärkeitä kysymyksiä, kannustaen itseäni opiskelemaan ja parantamaan itseäni, samalla toivoen voivani auttaa ystäviäni. Sisältöä on paljon, pikkuhiljaa, askel askeleelta oppimista. Jotkut kysytään haastatteluissa, osa on rekrytointivaatimuksia ja osa lisätään itsenäisesti.
1. MySQL-aiheinen tieto 1. MySQL-optimointimenetelmä MYSQL:n optimointimenetelmät yleisimmät menetelmät MySQL:n suorituskyvyn optimointimenetelmä
2. Kuinka jakaa tietokanta ja taulukot Lähde: http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html http://www.jb51.net/article/29771.htm 3. Kuinka tehdä kaksikoneinen kuumavaratila ja kuormantasaus Mysql+:ssa
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
4. Mitkä ovat tietotaulukoiden tyypit? MyISAM, InnoDB, HEAP, BOB, ARCHIVE, CSV jne MyISAM: Kypsä, vakaa, helppo hallita, nopea lukea. Jotkin ominaisuudet eivät ole tuettuja (transaktioita jne.), taulukkotason lukituksia. InnoDB: Tukee tapahtumia, ulkomaisia avaimia ja rivilukkoja. Se vie paljon tilaa eikä tue kokotekstiindeksointia. Myisam- ja Innodb-moottoreiden keskeiset ominaisuudet: Mikä on ero MySQL:n tallennusmoottorin MyISAMin ja InnoDB:n välillä? 5. Anti-SQL-injektiomenetelmä mysql_escape_string(strip_tags($arr["$val"])); 6. Kuinka ratkaista ristiintaulukon kyselyjen tehokkuusongelma sen jälkeen, kun mysql jakaa suuren taulukon useisiin tauluihin [php] katso pelkkä kopio Näytä koodiviipaleet, jotka johdetaan koodiviipaleistani, CODE:ssa /** * Toiminnon nimi: post_check() * Funktiofunktio: Käsittelee lähetetyt muokkaukset * Parametri: $post: Lähetettävä sisältö * Palautusarvo: $post: Palauttaa suodatetun sisällön */ funktio post_check($post){ if(!get_magic_quotes_gpc()){// Määritä, onko magic_quotes_gpc avoin $post = lisäkulmat ($post); Suorita magic_quotes_gpc suodatus lähetetyille datalle avaamatta } $post = str_replace("_","\_", $post); Suodata '_' pois $post = str_replace("%","\%", $post); Suodata '%' pois $post = nl2br($post); Siirtyminen muunnokseen $post = htmlspecialchars($post); HTML-merkintämuunnos palaa $post; } 7. Indeksisovellus Milloin indeksointia kannattaa harkita Mitkä tilanteet eivät sovellu indeksointiin Kuinka arvioida, käyttääkö lause indeksiä Yleisiä tilanteita, joissa indeksejä ei käytetä: Kuten '%.....' Tietotyyppien implisiittinen muunnos tai avainsanoja sekä muita ehtoja Koko tekstihakemisto: Voidaan käyttää vain MYIsAM-taulukoissa, jotka on luotu sarakkeille tyypissä CHAR, VARCHAR, TEXT.
8. Kuinka optimoida mysql suurille taulukoille (kymmeniä miljoonia)? Viite http://www.zhihu.com/question/19719997 9. MySQL:n hidas kyselyongelma Itse asiassa se on suhteellisen yksinkertainen tapa analysoida hitaiden kyselylokien avulla; jos et halua nähdä lokeja, voit käyttää työkaluja niiden täyttämiseen. Kuten mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter jne., tuntuu siltä, että yhden analysointiin tarvitaan paljon kokemusta, ja se on ajan hukkaa. 10. Käyttäjän kirjautumistilaistunnon eduista ja haitoista, evästeistä, tietokannoista tai memcache-http://www.dewen.org/q/11504/ Käyttäjän kirjautumistilan osalta session%2Ccookien, tietokannan tai memcachen edut ja haitat. 11. Äärimmäiset tapaukset käsitellään transaktioissa 12. SQL kieli on jaettu neljään kategoriaan, listaa ne DDL--LUO, PUDOTA, MUUTA DML--LISÄÄ, PÄIVITÄ, POISTA DQL-SELECT DCL--MYÖNNÄ, PERUUTA, SITOU, PERUUTA, PERUUTA
2. PHP perusteet Istunto Useita tapoja ja eroja PHP:n yhdistämisessä MySQL-tietokantoihin mysql: prosessikeskeinen mysqli: olio-suuntautunut PDO: Korkea kannettavuus Lisätietoja: PHP Basic Series: Three APIs Used by PHP to connect to MySQL Databases 3. PHP Edistynyt Pitkien ja lyhyiden yhteyksien käyttö Socket Maksuturvallisuusongelmat Olio-orientoitu Kolme pääominaisuutta: kapselointi, periytyminen ja polymorfismi (menetelmän uudelleenkirjoitus). Abstrakti luokka: abstrakti vähintään yksi metodi on abstrakti menetelmä, jota ei voi instanssoida, mikä määrittelee yhteisen rajapinnan alaluokalle. Rajapinta: rajapinta, ratkaise PHP:n yksiperiytymisongelma, kaikki metodit ovat abstrakteja julkisen pääsyn menetelmiä, et voi ilmoittaa muuttujia, vain vakioita. Peri luokka toteuttamalla useita rajapintoja luokka A laajentaa B:n toteuttaa rajapinnan 1, rajapinnan 2..., rajapinnan n() { Toteuta metodit kaikissa rajapinnoissa } Analyysi suorituskykyerojen syistä LAMP- ja LNMP-verkkosivustoarkkitehtuurien välillä Tulkattujen ja käännettyjen kielten suorituskyvyn analyysi, esimerkkejä. 4. Säännöllisyys sähköpostin, html:n, js:n jne. yhdistäminen 5. Kehitysperusta Prosessien ja säikeiden määritelmät, erottelut ja yhteydet. Prosessin tila: juokse, valmiina, odota 6. NoSQL-tietokanta Memcached, redis, mongodb eriytyneet yhteydet 3 kohtausta ovat täysin erilaisia asioita. 1.memcached: Jos yksi avainarvo on muistissa, objektivälimuistille hajautetun välimuistin korvaajaa ei ole; 2. redis: Se on kokoelma algoritmeja ja tietorakenteita, ja nopea tietorakenteen operaatio on sen suurin ominaisuus, joka tukee datan pysyvyyttä; 3. MongoDB on BSON-rakenne, joka sijaitsee RDB:n ja NoSQL:n välillä, ja se on löysempi ja joustavampi, mutta se ei tue transaktioita ja toimii vain ei-tärkeänä tietovarastona. Voinko viitata MongoDB:hen tai Redisiin vaihtoehtona memcachedille? 7. Yleisesti käytetyt Linux-komennot Esimerkiksi pehmeät linkit 8. Arkkitehtuuriin liittyvä Stressitestaus ennen projektin käynnistymistä, yhden palvelimen tukemien samanaikaisten lukumäärä ja PV:iden määrä. Palvelinresurssien kohtuullinen allokointi CPU:Apache Korkean kuormituksen ympäristössä liian moni levyn IO-luku ja kirjoitus vie varmasti paljon resursseja, ja prosessori vie väistämättä liikaa prosessoria. Muisti: Muistipankki, tietokantaohjelmisto
Kovalevy: Tiedostot Web2.0-arkkitehtuurin valinta MongoDB+Redis tai MySQL+Memcached on parempi yhdistelmä, ja NOSQL:ää käytetään yksinkertaiseen logiikkaan Pääsivuston arkkitehtuuri on tällä hetkellä suosittu LAMP、LNMP、LLMP Nyt verkossa on myös LNAMP-arkkitehtuuri, eli se yhdistää nginxin ja Apachen edut: käyttää Apachea PHP:n lataamiseen, nginx vastaa muiden verkkopyyntöjen jäsentämisestä ja käyttää nginxin uudelleenkirjoitusmoduulia, mutta Apache-portti ei ole avoin yleisölle, ja monet Apache-moduulit voivat vähentää resursseja ilman latausta. |