Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung des PHP-Interviews

Zusammenfassung des PHP-Interviews

不言
不言Original
2018-04-21 10:34:491539Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn