|
Onlangs heb ik verschillende bedrijven één voor één geïnterviewd, en ik heb een aantal belangrijke vragen opgenomen, mezelf aangespoord om te studeren en te verbeteren, en tegelijkertijd hopend mijn vrienden wat hulp te geven. Er is veel inhoud, beetje bij beetje, stap voor stap leren. Sommige worden gevraagd tijdens sollicitatiegesprekken, sommige zijn rekruteringsvereisten, en sommige worden vanzelf toegevoegd.
1. MySQL-gerelateerde kennis 1. MySQL-optimalisatiemethode MYSQL-optimalisatiemethoden MySQL prestatieoptimalisatieschema
2. Hoe de database en tabellen te verdelen Referentie: http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html http://www.jb51.net/article/29771.htm 3. Hoe doe je dual-machine hot standby en load balancing in Mysql+
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
4. Wat zijn de soorten datatabellen? MyISAM, InnoDB, HEAP, BOB, ARCHIVE, CSV, enzovoort MyISAM: Volwassen, stabiel, makkelijk te beheren, snel te lezen. Sommige functies worden niet ondersteund (transacties, enz.), tabelniveau-sloten. InnoDB: Ondersteunt transacties, vreemde sleutels en rijsloten. Het neemt veel ruimte in beslag en ondersteunt geen volledige tekstindexering. Belangrijkste kenmerken van de myisam- en Innodb-motoren: Wat is het verschil tussen MySQL's opslagengine MyISAM en InnoDB? 5. Anti-SQL-injectiemethode mysql_escape_string(strip_tags($arr["$val"])); 6. Hoe het cross-table query-efficiëntieprobleem op te lossen nadat MySQL een grote tabel in meerdere tabellen heeft opgesplitst [php] bekijk gewone kopie Bekijk codeslices die zijn afgeleid van mijn codeslices op CODE /** * Functienaam: post_check() * Functiefunctie: Verwerkt de ingediende bewerkingen * Parameter: $post: De inhoud die ingediend moet worden * Retourwaarde: $post: Retourneert gefilterde inhoud */ functie post_check($post){ als(!get_magic_quotes_gpc()){// Bepaal of de magic_quotes_gpc open is $post = voegt sneden ($post); Voer magic_quotes_gpc filtering van ingediende gegevens uit zonder het te openen } $post = str_replace("_","\_", $post); Filter '_' eruit $post = str_replace("%","\%", $post); Filter '%' eruit $post = nl2br($post); Voer de conversie in $post = htmlspecialchars($post); HTML-opmaakconversie Geef $post terug; } 7. Indextoepassing Wanneer te overwegen indexeren Welke situaties zijn niet geschikt voor indexering Hoe te beoordelen of een verklaring een index gebruikt Veelvoorkomende scenario's waarin indexen niet worden gebruikt: Zoals '%.....' Impliciete conversie van datatypen of trefwoorden plus andere voorwaarden Volledige tekst Index: Kan alleen worden gebruikt voor MYIsAM-tabellen, gemaakt op kolommen van het type CHAR, VARCHAR, TEXT.
8. Hoe optimaliseer je mysql voor grote tabellen (tientallen miljoenen)? Referentie http://www.zhihu.com/question/19719997 9. Langzaam queryprobleem van mysql Het is eigenlijk een relatief eenvoudige manier om te analyseren via langzame querylogs; als je de logs niet wilt zien, kun je tools gebruiken om het uit te voeren. Zoals mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter, enzovoort, het gevoel dat je veel ervaring nodig hebt om er een te analyseren, en het is tijdverspilling. 10. Met betrekking tot de voor- en nadelen van gebruikersloginstatus, sessie, cookie, database of memcache http://www.dewen.org/q/11504/ Wat betreft de inlogstatus van de gebruiker, de voor- en nadelen van session%2Ccookie, database of memcache 11. Extreme gevallen worden behandeld in transacties 12. SQL taal is verdeeld in 4 categorieën, vermeld alstublieft DDL--CREËER, DROP, VERANDER DML--INVOEGEN, BIJWERKEN, VERWIJDEREN DQL-SELECT DCL--GRANT, INTREKKEN, COMMITTEREN, TERUGDRAAIEN
2. PHP basis Sessie Er zijn verschillende manieren en verschillen tussen PHP en verbinding met MySQL-databases MySQL: Procesgericht MySQLI: Objectgeoriënteerd PDO: Hoge draagbaarheid Zie alstublieft: PHP Basic Series: Three APIs Used By PHP to Connect to MySQL Databases 3. PHP Gevorderd Gebruik van lange en korte verbindingen Socket Betalingsbeveiligingsproblemen Objectgeoriënteerd Drie hoofdkenmerken: encapsulatie, overerving en polymorfisme (methodeherschrijving). Abstracte klasse: abstract, ten minste één methode is een abstracte methode die niet kan worden geïnstantieerd, en definieert een gemeenschappelijke interface voor de subklasse. Interface: interface, los het enkelvoudige overervingsprobleem van PHP op, alle methoden zijn abstracte methoden van publieke toegang, je kunt geen variabelen declareren, alleen constanten. Een klasse erven terwijl je meerdere interfaces implementeert klasse A breidt B uit en implementeert interface 1, interface 2..., interface n() { Implementeer methoden in alle interfaces } Analyse van de oorzaken van prestatieverschillen tussen LAMP- en LNMP-websitearchitecturen Prestatie-analyse van geïnterpreteerde en gecompileerde talen, voorbeelden. 4. Regelmaat E-mail, HTML, JS, enzovoort matchen 5. Ontwikkelingsstichting Definities, onderscheidingen en verbindingen van proces en draad. De staat van het proces: rennen, klaar, wachten 6. Nosql-database Memcached, redis, mongodb gedifferentieerde verbindingen 3 scènes totaal verschillende dingen. 1.memcached: Als één enkele sleutelwaarde in het geheugen wordt opgeslagen, is er geen vervanging voor objectcaching van gedistribueerde cache; 2. Redis: Het is een verzameling algoritmen en datastructuren, snelle datastructuurwerking is de grootste eigenschap en ondersteunt datapersistentie; 3. MongoDB is een BSON-structuur tussen RDB en NoSQL, die losser en flexibeler is, maar geen transacties ondersteunt en alleen wordt gebruikt als een niet-belangrijke dataopslag. Kan ik MongoDB of Redis als alternatief voor memchad raadplegen? 7. Veelgebruikte Linux-commando's Bijvoorbeeld, zachte links 8. Architectuurgerelateerd Stresstest voordat het project live gaat, het aantal gelijktijdige tijden dat door één server wordt ondersteund, en het aantal PV's. Redelijke toewijzing van servermiddelen CPU:Apache In een omgeving met hoge belasting zullen te veel schijf-IO-lees- en schrijfopdrachten zeker veel middelen kosten, en zal de CPU onvermijdelijk te veel CPU innemen. Geheugen: Geheugenbank, databasesoftware
Harde schijf: Bestanden Web2.0 architectuurselectie MongoDB+Redis of MySQL+Memcached is een betere combinatie, en NOSQL wordt gebruikt voor eenvoudige logica De hoofdarchitectuur van de website is momenteel populair LAMP、LNMP、LLMP Er is nu ook een LNAMP-architectuur op het netwerk, dat wil zeggen, deze combineert de voordelen van nginx en Apache, waarbij Apache PHP laadt, nginx verantwoordelijk is voor het parsen van andere webverzoeken en de herschrijfmodule van nginx gebruikt, maar de Apache-poort is niet toegankelijk voor het publiek, en veel modules van Apache kunnen de middelen verminderen zonder te laden. |