|
Kürzlich habe ich mehrere Unternehmen nacheinander interviewt und einige wichtige Fragen aufgenommen, mich ermutigt, zu lernen und mich zu verbessern, und gleichzeitig in der Hoffnung, meinen Freunden etwas zu helfen. Es gibt viel Inhalt, Schritt für Schritt, Lernen. Einige werden in Vorstellungsgesprächen gefragt, andere sind Einstellungsvoraussetzungen, und manche werden von selbst hinzugefügt.
1. MySQL-bezogenes Wissen 1. MySQL-Optimierungsmethode MYSQL-Optimierung gängige Methoden MySQL-Leistungsoptimierungsschema
2. Wie man Datenbank und Tabellen aufteilt Referenz: http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html http://www.jb51.net/article/29771.htm 3. Wie man Dual-Machine-Hot-Standby und Lastverteilung in Mysql+ durchführt
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
4. Welche Arten von Datentabellen gibt es? MyISAM, InnoDB, HEAP, BOB, ARCHIVE, CSV usw MyISAM: Reif, stabil, leicht zu handhaben, schnell zu lesen. Einige Funktionen werden nicht unterstützt (Transaktionen usw.), Tabellen-Sperren. InnoDB: Unterstützt Transaktionen, Fremdschlüssel und Reihenschlösser. Es nimmt viel Platz ein und unterstützt keine Volltext-Indexierung. Schlüsselmerkmale der Myisam- und Innodb-Motoren: Was ist der Unterschied zwischen MySQLS Speicher-Engine MyISAM und InnoDB? 5. Anti-SQL-Injektionsmethode mysql_escape_string(strip_tags($arr["$val"])); 6. Wie man das Problem der Cross-Table-Abfrageeffizienz löst, nachdem MySQL eine große Tabelle in mehrere Tabellen aufgeteilt hat [php] Plain Copy anzeigen Sehen Sie sich Codeabschnitte an, die von meinen Codeabschnitten auf CODE abgeleitet sind /** * Funktionsname: post_check() * Funktionsfunktion: Verarbeitet die eingereichten Änderungen * Parameter: $post: Der einzureichende Inhalt * Rückgabewert: $post: Gibt gefilterte Inhalte zurück */ Funktion post_check($post){ wenn(!get_magic_quotes_gpc()){// Bestimmen Sie, ob die magic_quotes_gpc offen ist $post = addierte Schrägstriche($post); Führen Sie magic_quotes_gpc Filterung der eingereichten Daten durch, ohne sie zu öffnen } $post = str_replace("_","\_", $post); Filtere '_' raus $post = str_replace("%","\%", $post); '%' herausfiltern $post = nl2br($post); Hier kommt die Umwandlung ins Spiel $post = htmlspecialchars($post); HTML-Markup-Konvertierung $post zurückkehren; } 7. Indexanwendung Wann sollte man Indexierung in Betracht ziehen Welche Situationen sind für die Indexierung nicht geeignet? Wie man beurteilt, ob eine Aussage einen Index verwendet Häufige Szenarien, in denen keine Indizes verwendet werden: Wie '%.....' Implizite Umwandlung von Datentypen oder Schlüsselwörter plus andere Bedingungen Vollständiger Textindex: Kann nur für MYIsAM-Tabellen verwendet werden, die auf Spalten des Typs CHAR, VARCHAR, TEXT erstellt werden.
8. Wie optimiert man MySQL für große Tabellen (zig Millionen)? Referenz http://www.zhihu.com/question/19719997 9. Langsames Abfrageproblem von MySQL Tatsächlich ist es eine relativ einfache Methode, langsame Abfrageprotokolle zu analysieren; wenn du die Logs nicht sehen willst, kannst du Werkzeuge verwenden, um sie abzuschließen. Zum Beispiel mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter usw. fühlen sich an, als bräuchte man viel Erfahrung, um eines zu analysieren, und das ist Zeitverschwendung. 10. Bezüglich der Vor- und Nachteile von User-Login-Status-, Cookie-, Datenbank- oder Memcache-http://www.dewen.org/q/11504/ Bezüglich des Login-Status des Nutzers, der Vor- und Nachteile von session%2Ccookie, Datenbank oder memcache 11. Extremfälle werden in Transaktionen behandelt 12. SQL Sprache in 4 Kategorien unterteilt ist, bitte listen Sie sie auf DDL – ERSCHAFFEN, FALLEN, VERÄNDERN DML--EINFÜGEN, AKTUALISIEREN, LÖSCHEN DQL-SELECT DCL – GEWÄHREN, WIDERRUFEN, VERPFLICHTEN, ZURÜCKROLLEN
2. PHP Grundlagen Sitzung Verschiedene Möglichkeiten und Unterschiede zwischen der Verbindung von PHP zu MySQL-Datenbanken MySQL: Prozessorientiert MySQLI: Objektorientiert PDO: Hohe Portabilität Bitte beachten Sie: PHP Basic Series: Drei von PHP verwendete APIs zur Verbindung mit MySQL-Datenbanken 3. PHP Fortgeschritten Verwendung von langen und kurzen Verbindungen Sockel Fragen der Zahlungssicherheit Objektorientiert Drei Hauptmerkmale: Kapselung, Vererbung und Polymorphismus (Methodenumschreibung). Abstrakte Klasse: abstrakt, mindestens eine Methode ist eine abstrakte Methode, die nicht instanziiert werden kann und eine gemeinsame Schnittstelle für die Unterklasse definiert. Interface: Interface, löse das Einzelvererbungsproblem von PHP, alle Methoden sind abstrakte Methoden des öffentlichen Zugangs, du kannst keine Variablen deklarieren, nur Konstanten. Erbe eine Klasse während der Implementierung mehrerer Schnittstellen Klasse A erweitert B implementiert Schnittfläche 1, Schnittstelle 2..., Schnittstelle n() { Implementierung von Methoden in allen Schnittstellen } Analyse der Ursachen für Leistungsunterschiede zwischen LAMP- und LNMP-Website-Architekturen Leistungsanalyse interpretierter und kompilierter Sprachen, Beispiele. 4. Regelmäßigkeit E-Mail-, HTML-, JS- usw. Übereinstimmung 5. Entwicklungsstiftung Prozess- und Thread-Definitionen, Unterscheidungen und Verbindungen. Der Stand des Prozesses: laufen, bereit, warten 6. Nosql-Datenbank Memcached, Redis, Mongodb differenzierte Verbindungen 3 Szenen sind völlig unterschiedliche Dinge. 1.memcached: Wenn ein einzelner Schlüsselwert im Speicher gechnappt wird, gibt es keinen Ersatz für Objekt-Caching und verteilten Cache; 2. Redis: Es handelt sich um eine Sammlung von Algorithmen und Datenstrukturen, deren schneller Datenaufbau das größte Merkmal ist und die Datenpersistenz unterstützt; 3. MongoDB ist eine BSON-Struktur zwischen RDB und NoSQL, die lockerer und flexibler ist, aber keine Transaktionen unterstützt und nur als unwichtiger Datenspeicher verwendet wird. Kann ich MongoDB oder Redis als Alternative zu Memchad verwenden? 7. Häufig verwendete Linux-Befehle Zum Beispiel weiche Links 8. Architekturbezogen Stresstest bevor das Projekt live geht, die Anzahl der Nebenzeiten, die von einem einzelnen Server unterstützt werden, und die Anzahl der PVs. Angemessene Zuweisung von Serverressourcen CPU:Apache In einer Umgebung mit hoher Last beanspruchen zu viele Lese- und Schreibvorgänge auf Festplatten-IO definitiv viele Ressourcen, und die CPU beansprucht zwangsläufig zu viel CPU. Speicher: Speicherbank, Datenbanksoftware
Festplatte: Dateien Web2.0-Architekturauswahl MongoDB+Redis oder MySQL+Memcached ist eine bessere Kombination, und NOSQL wird für einfache Logik verwendet Die Hauptarchitektur der Website ist derzeit sehr beliebt LAMP、LNMP、LLMP Es gibt nun auch eine LNAMP-Architektur im Netzwerk, das heißt, sie vereint die Vorteile von nginx und Apache, indem Apache PHP lädt, nginx ist für das Parsen anderer Webanfragen verantwortlich und verwendet das Rewrite-Modul von nginx, aber der Apache-Port ist nicht für die Öffentlichkeit zugänglich, und viele Apache-Module können Ressourcen reduzieren, ohne zu laden. |