Heim >Backend-Entwicklung >PHP-Tutorial >Kommen Sie und stellen Sie einige grundlegende PHP-Interviewfragen

Kommen Sie und stellen Sie einige grundlegende PHP-Interviewfragen

藏色散人
藏色散人nach vorne
2021-05-25 13:40:594604Durchsuche

Dieser Artikel fasst einige grundlegende PHP-Interviewfragen für Sie zusammen. Er hat einen gewissen Referenzwert. Ich hoffe, dass er für alle hilfreich ist.

1. Mit welcher Funktion lassen sich Fehler in eine Ausnahmebehandlung umwandeln?

A: set_error_handler

B: error_reporting

C: error2Exception

D: Catch

Richtige Antwort: *A *

Antwortanalyse: set_error_handler () kann eine Rückruffunktion angeben wird automatisch über die angegebene Rückruffunktion verarbeitet. Lösen Sie einfach eine neue Ausnahme in der Rückruffunktion aus.

2. Welche der folgenden Beschreibungen von Shell-Funktionen ist richtig?

A: Shell-Funktionen können zuerst aufgerufen und dann definiert werden

B: Shell-Funktionen müssen mit dem Schlüsselwort function definiert werden

C: Variablen innerhalb von Shell-Funktionen können als lokale Variablen deklariert werden

D: Shell-Funktionen können nur zurückkehren Werte durch Rückgabe. 1 ist Erfolg, 0 ist Fehler

Richtige Antwort: C

Antwortanalyse: Beim Deklarieren müssen keine lokalen Variablen verwendet werden kann über lokal definiert werden; Rückgabewert der Shell-Funktion, 0 bedeutet Erfolg, ungleich 0 bedeutet Fehler, andere Optionen sind korrekt

3 Welche der folgenden Aussagen zur Volltextsuchtechnologie ist falsch:

A: Solr ist ein Volltextsuchkomponente der neuen Generation, die bei der Suche viel effizienter ist als Lucene, unterstützt auch die HTTP-Zugriffsmethode und ist für PHP auch sehr praktisch, um Solr aufzurufen.

B: Durch die Erstellung eines FULLTEXT-Index für ein Feld in MySQL kann der Volltextabruf erreicht werden. Derzeit unterstützen sowohl MyISAM- als auch InnoDB-Tabellen FULLTEXT-Indizes.

C: Sphinx ist eine SQL-basierte Volltextsuchmaschine, die für die Volltextsuche mit MySQL kombiniert werden kann. Sie bietet professionellere Suchfunktionen als die Datenbank selbst.

D: Der mit Lucene gelieferte binäre Wortsegmentierungsanalysator CJKAnalyzer ist bei der Wortsegmentierung sehr schnell und kann die Anforderungen des allgemeinen Volltextabrufs erfüllen.

Richtige Antwort: *A *

Antwortanalyse: Solr ist eine neue Generation einer Volltextsuchkomponente. Sie basiert auf Lucene, daher ist es Unsinn zu sagen, dass sie schneller als Lucene ist :)

4 . Was den Singleton-Modus betrifft, falsch?

A: Der Zweck des Singleton-Modus besteht darin, sicherzustellen, dass nur eine Instanz einer Klasse in der globalen Umgebung vorhanden sein kann.

B: Der Single-Interest-Modus erfordert im Allgemeinen, dass der Konstruktor auf privat gesetzt wird.

C: Nur der Konstruktor benötigt Durch die Einstellung auf „privat“ kann sichergestellt werden, dass es nur eine Instanz auf der Welt gibt Der Konstruktor auf „Private“ stellt nur sicher, dass er nicht passieren kann new Erstellen Sie eine neue Instanz, Sie können jedoch weiterhin mehrere Instanzen durch Klonen, Deserialisierung usw. erstellen.

5. Welcher der regulären Engine-Ausdrücke ist falsch?

Eine reguläre Engine kann hauptsächlich in zwei Kategorien unterteilt werden: eine ist DFA und die andere ist NFA. B Im Allgemeinen sucht die NFA-Suchmaschine schneller. Aber DFA ist ausdrucksorientiert und einfacher zu manipulieren, daher bevorzugen Programmierer im Allgemeinen DFA-Engines!

C NFA-Ausdruck dominiert, DFA-Text dominiert.

D Sie können verwenden, ob das Ignorieren von Prioritätsquantifizierern und die Gruppenerfassung unterstützt werden, um den Engine-Typ zu bestimmen: NFA wird unterstützt, DFA wird nicht unterstützt

Richtige Antwort: B

Antwortanalyse: Richtig. Die Aussage sollte lauten: Im Allgemeinen sucht die DFA-Engine schneller. Aber NFA ist ausdrucksorientiert und einfacher zu manipulieren, daher bevorzugen Programmierer im Allgemeinen NFA-Engines!

6. Welche der folgenden Optionen kann der reguläre Ausdruck im Feld erfüllen?

/.Sd/A. 1234

C. 1234

D.123

Antwortanalyse: Der entscheidende Punkt dieser Frage ist das Verstehen Die Bedeutung dieses regulären Ausdrucks beträgt von links nach rechts zuerst null oder mehr beliebige Zeichen (.), gefolgt von einem Sternchen (), dann 123 und schließlich einer Zahl. Die Antwort lautet also B.

7. Welche der folgenden Aussagen zu Datenbanken ist falsch?

A: Aus Effizienzgründen kann die Datenbank über mehrere Lesebibliotheken verfügen.

B: Die Datenbank kann Master-Slave für Hot Standby verwenden.

C: Die Datenbank kann keine Multi-Master- und Multi-Slave-Architektur bereitstellen.

D: Die Datenbank Master-Slave wird über Protokolle synchronisiert

Richtige Antwort: C

Antwortanalyse: Die Datenbank kann eine Multi-Master- und Multi-Slave-Architektur bereitstellen.

8. Welche der folgenden Möglichkeiten bietet keine Möglichkeit, XSS-Schwachstellen zu beheben?

A: HTML-Specialchas-Filterung für Parameter durchführen

B: Whitelist-Filterung für Parameter verwenden

C: Anzeige des Eingabeinhalts im Browser nicht zulassen

D: Ausgabe von Benutzereingabeinhalten in JS-Tags verbieten

Richtige Antwort: *A *

Antwortanalyse: Diese Art der Filterung kann spitze Klammern vom Typ xss lösen, aber nicht xss in js-Tags lösen

9 Welcher der folgenden ist kein PHP-SAPI-Modus?

A.ISAPI

B.CGI

C.FastCGI

D.RESTFUL API

Richtige Antwort: D

Antwortanalyse: A ~ C sind die am häufigsten verwendeten Modi, D ist eine Schnittstellenorganisationsmethode .

10. Welche der folgenden Methoden bietet eine höhere Leistung, um eine große Datei Zeile für Zeile zu durchlaufen?

A: Schreiben Sie eine Klasse, die die IteratorAggregate-Schnittstelle implementiert, und verwenden Sie den Foreach-Durchlauf durch diese Klasse.

B: Verwenden Sie file_get_contents, um den Dateiinhalt auf einmal in den Speicher zu laden und ihn dann Zeile für Zeile zu durchlaufen.

C: Rufen Sie über die Exec-Funktion das Shell-Tool zum Durchlaufen auf

D: Verwenden Sie eine von anderen geschriebene Klassenbibliothek

Richtige Antwort: A

Antwortanalyse: Öffnen Sie die Datei mit IteratorAggregate und durchlaufen Sie sie Zeile für Zeile, indem Sie den Zeiger bewegen, unabhängig von der Dateigröße. Die Verwendung von file_get_contents zum Verarbeiten großer Dateien kann leicht zu einem PHP-Speicherüberlauf führen. Der Aufruf von exec führt zu zusätzlichen Prozessen und beeinträchtigt die Leistung der von anderen geschriebenen Klassenbibliotheken.

11. Welche der folgenden Optionen ist kein Prinzip, dem Designmuster folgen sollten?

A: Komposition ist besser als Vererbung

B: Programmierung für Schnittstellen

C: Kopplung so weit wie möglich reduzieren

D: Versuchen Sie, Hochleistungssyntax zu verwenden

Richtige Antwort: D

Antwortanalyse: Fokus auf Entwurfsmuster Der Punkt ist die Wartbarkeit und Wiederverwendbarkeit des Codes. Option D steht nicht im Mittelpunkt des Entwurfsmusters.

12. Welcher der folgenden Ausdrücke zum Thema Backtracking ist falsch?

A ab.lmn entspricht abcdeflmnghijklmn in abcdeflmnghijklmn

B ab.?lmn entspricht abcdeflmn in abcdeflmnghijklmn

C ab??c entspricht abcdeflmnghijklmn

D .*lmn entspricht ab abcdeflmn

in cdeflmnghijklmn ist die richtige Antwort: D

Antwortanalyse: D ist ein Greedy-Matching, daher sollte das Matching-Ergebnis abcdeflmnghijklmn sein

13 Wenn die Try-Catch-Finally-Syntaxstruktur in der Funktion verwendet wird, wo sollte die Rückgabe geschrieben werden?

A: Endlich in

B: Versuchen Sie es

C: Fangen Sie ein

D: Beliebige Position

Richtige Antwort: A

Antwortanalyse: Wird schließlich nach der Rückkehr in Versuch weiter ausgeführt, falls vorhanden auch eine „finally in“-Rückgabe, der endgültige Rückgabewert ist der Wert von „return in final“.

14. Die folgenden Aussagen zu NOSQL sind falsch:

A: Redis unterstützt Datenstrukturen wie Strings, Hashes, Listen, Mengen und geordnete Mengen.

B: MongoDB unterstützt AP im CAP-Theorem, MySQL unterstützt CA im CAP, die alle Unmöglichkeit unterstützen.

C: MongoDB kann Daten direkt einfügen, ohne zuerst eine Sammlungsstruktur zu erstellen. Derzeit unterstützt MongoDB keine Transaktionen.

D: Memcache unterstützt sowohl das TCP-Protokoll als auch das UDP-Protokoll. Wir können PHP-Sitzungen im Memcache speichern.

Richtige Antwort: A

Antwortanalyse: Redis unterstützt Transaktionen.

15. Welche Aussage zum Innodb-Sperrmechanismus ist falsch?

A: Innodb bietet zwei Sperrmechanismen: Tabellensperre und Zeilensperre.

B: Die Tabellensperre von Innodb wird beim Aktualisieren automatisch aktiviert Erstellen Sie eine Spiegelkopie. Zu diesem Zeitpunkt werden bei der Auswahl die Daten der Spiegelkopie abgefragt Antwort: A

16. Welcher der folgenden Befehle erstellt einen Crontab-Befehl, der jeden Mittwoch von 01:00 bis 04:00 Uhr alle 3 Minuten ausgeführt wird?

A: 1,4 3 /bin/bash /home/sijiaomao/ok.sh

B:/3 1,4 3 /bin/bash /home/sijiaomao/ok.sh

C:/3 1- 4 3 /bin/bash /home/sijiaomao/ok.sh

D:/3 1-4 * /bin/bash /home/sijiaomao/ok.sh

Richtige Antwort: C

Antwortanalyse: A : Wird jeden Mittwoch jede Minute um 1:04 Uhr ausgeführt B: Wird jeden Mittwoch alle 3 Minuten um 1:04 Uhr ausgeführt C: Erfüllt die Anforderungen D: Wird jeden Tag alle 3 Minuten um 1:04 Uhr ausgeführt

17. Während der Aufteilung Bisher konnten die für viele Listen und Detailseiten im System erforderlichen Daten durch SQL-Join vervollständigt werden. Nach der Aufteilung kann die Datenbank auf verschiedene Instanzen und verschiedene Hosts verteilt werden, und die Verknüpfung wird sehr mühsam. Welche der folgenden Methoden ist keine wirksame Lösung für dieses Problem?

Eine globale Tabelle. Einige Tabellen, von denen alle Module im System abhängen können, werden in jeder Bibliothek gespeichert.

B-Feld ist redundant. Während die „Verkäufer-ID“ in der „Bestelltabelle“ gespeichert wird, ist das Feld „Name“ des Verkäufers ebenfalls redundant, sodass bei der Abfrage von Bestelldetails keine Abfrage der „Verkäufer-Benutzertabelle“ erforderlich ist ".

C Die Master-Slave-Replikation trennt das Lesen und Schreiben der Datenbank.

D Datensynchronisation: Die Tabelle tbl_a in Datenbank A wird regelmäßig mit tbl_b in Datenbank B verknüpft, und die angegebene Tabelle kann in regelmäßigen Abständen zwischen Master und Slave synchronisiert werden.

Richtige Antwort: C

Antwortanalyse: Die Master-Slave-Replikation trennt das Lesen und Schreiben der Datenbank. Es kann nur die Leseparallelität erweitern, aber das Problem der datenbankübergreifenden Verknüpfung nicht lindern.

18. Welche der folgenden Aussagen ist in Bezug auf das Netzwerk-IO-Modell richtig?

A.Select ist schneller als Epoll.

B.nginx verwendet das Select-Modell : Ein Epoll ist schneller. B nginx verwendet das Epoll-Modell. C Apache unterstützt nur select

19. Wenn PHP ausgeführt wird, gibt es den folgenden Ausführungsprozess: Scannen (Lexing) – Kompilieren – Ausführen – Parsen, ihre Bedeutungen sind:

A: Konvertieren Sie PHP-Code in Sprachfragmente (Tokens), Konvertieren Sie Token in einfache und aussagekräftige Ausdrücke, kompilieren Sie Ausdrücke in Opocdes und führen Sie Opcodes nacheinander aus.

B: Konvertieren Sie PHP-Code in Sprachfragmente (Tokens), konvertieren Sie Token in einfache und aussagekräftige Ausdrücke und führen Sie Opcodes nacheinander aus Kompilieren Sie den Ausdruck in Opocdes

C: Konvertieren Sie PHP-Code in Sprachfragmente (Tokens), kompilieren Sie Ausdrücke in Opocdes, führen Sie Opcodes sequentiell aus und konvertieren Sie Tokens in einfache und sinnvolle Ausdrücke.

D: Konvertieren Sie PHP-Code in Sprachfragmente (Tokens), kompilieren Sie Ausdrücke in Opocdes, Konvertieren Sie Token in einfache und aussagekräftige Ausdrücke und führen Sie Opcodes der Reihe nach aus. Richtige Antwort: C. Antwortanalyse: Die richtige Antwort ist C und die richtige Reihenfolge lautet: Scannen (Lexing), Parsen, Kompilieren, Ausführen

Das obige ist der detaillierte Inhalt vonKommen Sie und stellen Sie einige grundlegende PHP-Interviewfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen