Bei dem in diesem Artikel vorgestellten Inhalt geht es um die PHP-Interviewzusammenfassung, die einen gewissen Referenzwert hat. Jetzt können Freunde in Not darauf verweisen
Der PHP-Artikel sammelt einige häufige grundlegende und fortgeschrittene Interviewfragen.
### Grundlagen
- Der Unterschied zwischen Get und POST
- Der Unterschied zwischen einfachen und doppelten Anführungszeichen
- Der Unterschied zwischen isset und empty
- echo , print_r Der Unterschied zwischen , print und var_dump
- Was ist MVC?
- Was ist der Unterschied zwischen der Wertübergabe und der Referenzübergabe?
- Der Unterschied und die Beziehung zwischen Cookie und Sitzung
> Cookie
> 3. Die von einem einzelnen Cookie gespeicherten Daten dürfen 4K nicht überschreiten.
> Möglichkeiten, wie z. B. die Übergabe der Sitzung in der URL)
### Erweitertes Kapitel
- Kurze Beschreibung der S.O.L.I.D-Designprinzipien
- | - | --- |. --- |. --
Prinzip der Einzelverantwortung |. Eine Klasse hat und hat nur einen Grund für Änderungen | Es
LSP |. Abgeleitete Klassen können durch
Interface-Isolation-Prinzip | ersetzt werden Implementierung
- Der Unterschied zwischen PHP7 und PHP5. Welche spezifischen neuen Funktionen werden hinzugefügt?
> 1. Leistung um das Zweifache erhöht
> 2. Kombinierter Vergleichsoperator (<=>) hinzugefügt
> >> 4. „try...catch“ fügt eine Beurteilung mit mehreren Bedingungen hinzu und weitere Fehler können mit Ausnahmen behandelt werden
> Unterstützt die Instanziierung einer anonymen Klasse durch eine neue Klasse, die zum Ersetzen einiger vollständiger Klassendefinitionen verwendet werden kann, die „nach der Verwendung verbrannt“ werden.
- Warum ist die Leistung von PHP7 im Vergleich zu PHP5 verbessert?
> 1. Die variablen Speicherbytes werden reduziert, wodurch die Speichernutzung reduziert und die variable Operationsgeschwindigkeit verbessert wird.
> im gleichen Speicher. Reduzierte Speichernutzung und verbesserte CPU-Cache-Trefferrate. 3. Der Funktionsaufrufmechanismus wurde verbessert, einige Anweisungen wurden reduziert und die Ausführungseffizienz wurde durch die Optimierung des Parameterübertragungsprozesses verbessert Garbage Collection-Mechanismus (GC)
> Vor PHP-Version 5.3 wurde die Referenzzählung zur Speicherverwaltung verwendet. Alle PHP-Variablen werden in einem Variablencontainer namens „zval“ gespeichert wird +1, und wenn der Variablenreferenzzähler 0 wird, zerstört PHP die Variable im Speicher.
>
> Bei Zirkelverweisen bei der Referenzzählung wird der Referenzzähler jedoch nicht auf 0 reduziert, was zu Speicherverlusten führt.
>
> Nach Version 5.3 wurden diese Optimierungen vorgenommen:
>
> 1. Der Recyclingzyklus wird nicht jedes Mal eingegeben, wenn die Referenzanzahl reduziert wird, sondern nur der Root-Puffer ist voll. Dann starten Sie die Speicherbereinigung.
>
Um mehr zu erfahren, können Sie sich das PHP-Handbuch [Garbage Collection Mechanism](http://docs.php.net/manual/zh/features.gc.performance-considerations.php) ansehen.
- So lösen Sie das PHP-Speicherüberlaufproblem
> 1. Erhöhen Sie die Speicherzuweisung des PHP-Skripts
> 3. Datenstapelverarbeitung
- Was ist der Unterschied zwischen Redis und Memecached?
> 1. Redis unterstützt umfangreichere Datenspeichertypen: String, Hash, List, Set und Sorted Set. Memcached unterstützt nur einfache Schlüssel-Wert-Strukturen.
> 2. Memcached-Schlüsselwertspeicher hat eine höhere Speicherauslastung als Redis, das eine Hash-Struktur für den Schlüsselwertspeicher verwendet.
> 3. Redis bietet Transaktionsfunktionen, die die Atomizität einer Reihe von Befehlen sicherstellen können
> 4. Redis unterstützt Datenpersistenz und kann Daten im Speicher auf der Festplatte halten
> verwendet einen einzelnen Kern, während Memcached mehrere Kerne nutzen kann, sodass Redis im Durchschnitt eine höhere Leistung als Memcached aufweist, wenn kleine Daten auf jedem Kern gespeichert werden.
- Wie erreicht Redis Persistenz?
> 1. RDB-Persistenz, Speichern des Redis-Status im Speicher auf der Festplatte, was einer Sicherung des Datenbankstatus entspricht.
> 2. AOF-Persistenz (Append-Only-File), AOF-Persistenz zeichnet die Datenbank auf, indem der Schreibstatus der Redis-Serversperrenausführung gespeichert wird. Äquivalent zu den von der Sicherungsdatenbank empfangenen Befehlen werden alle in AOF geschriebenen Befehle im Redis-Protokollformat gespeichert.
### Web Security Prevention
- Was ist CSRF? Wie kann man es verhindern?
> CSRF (Cross-Site Request Forgery) wird üblicherweise als „Cross-Site Request Forgery“ bezeichnet: Der Angreifer stiehlt die Identität des Benutzers und täuscht den Server, um die Angriffsanforderung abzuschließen.
Vorsichtsmaßnahmen:
1. Verifizierungscode verwenden
2. Token zu jeder Anfrage hinzufügen und überprüfen
- Was ist XSS? Wie kann man es verhindern?
> Um den Zweck zu erreichen, Benutzer böswillig anzugreifen.
Es gibt viele Möglichkeiten, XSS-Angriffe zu verhindern. Der Kernpunkt ist: Vertrauen Sie niemals Benutzereingabedaten und behalten Sie immer die Filterung von Benutzerdaten bei.
- Was ist SQL-Injection? Wie kann man es verhindern?
> SQL-Injection bedeutet, dass der Angreifer den Server auf irgendeine Weise täuscht und dadurch SQL ausführt, das nicht ausgeführt werden sollte.
Häufige Szenarien der SQL-Injection
1. Eine große Menge Junk-Daten wird in die Datenbank eingeschleust, was dazu führt, dass der Server langsam läuft und abstürzt.
2. Verwendung von SQL-Injection zur Offenlegung der privaten Daten der Anwendung
Vorsichtsmaßnahmen:
1. Verwenden Sie keine dynamische Assemblierung von SQL
3. Fügen Sie eine Eingabeüberprüfung hinzu, z. B. einen Bestätigungscode
4. Verschlüsseln Sie private Daten und verbieten Sie die Speicherung von Klartext
- [Zusammenfassung des 3-Jahres-PHPer-Interviews ]( http://coffeephp.com/articles/4?utm_source=laravel-china.org)
- [Garbage-Collection-Mechanismus](http://docs.php.net/manual/zh/features.gc. performance- Considerations.php)
- [S.O.L.I.D. Objektorientiertes Design](https://laravel-china.org/articles/4160/solid-object-oriented-design-and-programming-oodoop-notes?order_by= erstellt_at&)
- [Ein kurzer Vortrag über IOC – erklären Sie, was IOC ist](http://www.cnblogs.com/DebugLZQ/archive/2013/06/05/3107957.html)
- [Die Unterschied zwischen Redis und Memcached ](https://www.biaodianfu.com/redis-vs-memcached.html)
- [CSRF-Angriff und -Verteidigung](https://www.cnblogs.com/phpstudy2015-6/ p/6771239.html)
- [XSS-Cross-Site-Scripting-Angriff](
https://www.cnblogs.com/phpstudy2015-6/p/6767032.html#_label9)
Verwandte Empfehlungen:
Fragen zum klassischen PHP-Interview 2017
Zusammenfassung der neuesten klassischen PHP-Interviewfragen 2017
Zusammenfassung der PHP-Interviewfragen
Das obige ist der detaillierte Inhalt vonZusammenfassung des PHP-Interviews. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!