|
Nylig intervjuet jeg flere selskaper etter hverandre, og jeg tok opp noen viktige spørsmål, oppfordret meg selv til å studere og forbedre meg, samtidig som jeg håpet å kunne hjelpe vennene mine. Det er mye innhold, litt etter litt, trinnvis læring. Noen blir spurt i intervjuer, noen er rekrutteringskrav, og noen legges til av seg selv.
1. MySQL-relatert kunnskap 1. MySQL-optimaliseringsmetode MYSQL-optimalisering: vanlige metoder MySQL ytelsesoptimaliseringsskjema
2. Hvordan dele databasen og tabellene Referanse: http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html http://www.jb51.net/article/29771.htm 3. Hvordan gjøre dual machine hot standby og lastbalansering i Mysql+
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
4. Hva er typene datatabeller? MyISAM, InnoDB, HEAP, BOB, ARCHIVE, CSV, osv MyISAM: Moden, stabil, lett å håndtere, rask å lese. Noen funksjoner støttes ikke (transaksjoner osv.), tabelllåser. InnoDB: Støtter transaksjoner, fremmednøkler og radlåser. Den tar opp mye plass og støtter ikke fulltekstindeksering. Nøkkelfunksjoner ved myisam- og Innodb-motorene: Hva er forskjellen mellom MySQLS lagringsmotor MyISAM og InnoDB? 5. Anti-SQL-injeksjonsmetode mysql_escape_string(strip_tags($arr["$val"])); 6. Hvordan løse problemet med tverrtabell-spørringseffektivitet etter at MySQL deler opp en stor tabell i flere tabeller [php] se vanlig kopi Se kodeslices avledet fra mine kodeslices på CODE /** * Funksjonsnavn: post_check() * Funksjonsfunksjon: Behandler de innsendte endringene * Parameter: $post: Innholdet som skal sendes inn * Returverdi: $post: Returnerer filtrert innhold */ funksjon post_check($post){ hvis(!get_magic_quotes_gpc()){// Bestem om magic_quotes_gpc er åpen $post = legger til skråstreker($post); Utfør magic_quotes_gpc filtrering av innsendte data uten å åpne dem } $post = str_replace("_","\_", $post); Filtrer ut '_' $post = str_replace("%","\%", $post); Filtrer ut '%' $post = nl2br($post); Inn i konverteringen $post = htmlspecialchars($post); HTML Markup-konvertering returnere $post; } 7. Indeksanvendelse Når bør man vurdere indeksering Hvilke situasjoner egner seg ikke for indeksering Hvordan vurdere om en uttalelse bruker en indeks Vanlige scenarier hvor indekser ikke brukes: som '%.....' Implisitt konvertering av datatyper eller nøkkelord pluss andre betingelser Fullstendig tekstindeks: Kan kun brukes for MYIsAM-tabeller, laget i kolonner av typen CHAR, VARCHAR, TEXT.
8. Hvordan optimalisere mysql for store tabeller (titalls millioner)? Referanse http://www.zhihu.com/question/19719997 9. Sakte spørringsproblem i mysql Faktisk er det en relativt enkel måte å analysere gjennom trege spørringslogger; hvis du ikke vil se loggene, kan du bruke verktøy for å fullføre den. Som mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter, osv., føles som du trenger mye erfaring for å analysere ett, og det er bortkastet tid. 10. Når det gjelder fordeler og ulemper ved brukerinnloggingsstatus, informasjonskapsel, database eller memcache http://www.dewen.org/q/11504/ Når det gjelder brukerens innloggingsstatus, fordeler og ulemper med session%2Ccookie, database eller memcache 11. Ekstreme tilfeller håndteres i transaksjoner 12. SQL språket er delt inn i 4 kategorier, vennligst list opp DDL--SKAP, SLIPP, ENDRE DML--SETT INN, OPPDATER, SLETT DQL-SELECT DCL--GRANT, TILBAKEKALLE, COMMIT, ROLLBACK
2. PHP grunnleggende Sesjon Flere måter og forskjeller mellom PHP og tilkobling til MySQL-databaser MySQL: Prosessorientert MySQLI: Objektorientert PDO: Høy bærbarhet Vennligst se til: PHP Basic Series: Tre API-er brukt av PHP for å koble til MySQL-databaser 3. PHP Avansert Bruk av lange og korte forbindelser Sokkel Betalingssikkerhetsproblemer Objektorientert Tre hovedkarakteristikker: innkapsling, arv og polymorfisme (metodeomskriving). Abstrakt klasse: abstrakt, minst én metode er en abstrakt metode som ikke kan instansieres, og definerer et felles grensesnitt for underklassen. Grensesnitt: grensesnitt, løs problemet med enkel arv i PHP, alle metoder er abstrakte metoder for offentlig tilgang, du kan ikke erklære variabler, bare konstanter. Arv en klasse mens du implementerer flere grensesnitt klasse A utvider B implementerer grensesnitt 1, grensesnitt 2..., grensesnitt n() { Implementer metoder i alle grensesnitt } Analyse av årsakene til ytelsesforskjeller mellom LAMP- og LNMP-nettsidearkitekturer Ytelsesanalyse av tolkede og kompilerte språk, eksempler. 4. Regelmessighet E-post, HTML, JS, osv. Matching 5. Utviklingsstiftelse Prosess- og tråddefinisjoner, distinksjoner og forbindelser. Prosessens tilstand: løp, klar, vent 6. Nosql-database Memcached, redis, mongodb differensierte forbindelser 3 scener, helt forskjellige ting. 1.memcached: Hvis en enkelt nøkkelverdi er bufret i minnet, finnes det ingen erstatning for objektcaching av distribuert cache; 2. redis: Det er en samling algoritmer og datastrukturer, rask datastrukturoperasjon er dens største egenskap, og støtter datapersistens; 3. MongoDB er en BSON-struktur, mellom RDB og NoSQL, som er løsere og mer fleksibel, men den støtter ikke transaksjoner og brukes kun som et ikke-viktig datalager. Kan jeg referere til MongoDB eller Redis som et alternativ til memcached? 7. Vanlig brukte Linux-kommandoer For eksempel myke lenker 8. Arkitekturrelatert Stresstest før prosjektet går live, antall samtidigheter støttet av en enkelt server, og antall PV-er. Rimelig fordeling av serverressurser CPU:Apache I et miljø med høy belastning vil for mange disk-IO-lesinger og -skrivinger definitivt bruke mye ressurser, og CPU-en vil uunngåelig bruke for mye CPU. Minne: Minnebank, databaseprogramvare
Harddisk: Filer Valg av web2.0-arkitektur MongoDB+Redis eller MySQL+Memcached er en bedre kombinasjon, og NOSQL brukes til enkel logikk Hovednettsidens arkitektur er for tiden populær LAMP、LNMP、LLMP Nå finnes det også en LNAMP-arkitektur på nettverket, det vil si at den kombinerer fordelene med nginx og Apache, ved å bruke Apache for å laste inn PHP, nginx er ansvarlig for å analysere andre webforespørsler, og bruker nginx sin omskrivingsmodul, men Apache-porten er ikke åpen for publikum, og mange Apache-moduler kan redusere ressursene uten å laste inn. |