Heim  >  Artikel  >  Fragen zum Xiaomi Senior PHP Engineer im Vorstellungsgespräch 2022 (Mock Exam Paper)

Fragen zum Xiaomi Senior PHP Engineer im Vorstellungsgespräch 2022 (Mock Exam Paper)

青灯夜游
青灯夜游nach vorne
2019-01-11 09:38:0324358Durchsuche

Lesen Sie vor dem Vorstellungsgespräch mehr über die Interviewmaterialien des Unternehmens, die für spätere Vorstellungsgespräche sehr hilfreich sein werden. Heute präsentiere ich Ihnen die Fragen zum Xiaomi Senior PHP Engineer-Interview (Mock Exam Paper), die einen gewissen Referenzwert haben, in der Hoffnung, allen zu helfen!

Fragen zum Xiaomi Senior PHP Engineer im Vorstellungsgespräch 2022 (Mock Exam Paper)

Verwandte Empfehlungen: „Zusammenfassung der PHP-Interviewfragen 2022 (Sammlung)

1 Mit welcher Funktion können Fehler in eine Ausnahmebehandlung umgewandelt werden?

A: set_error_handler
B: error_reporting
C: error2Exception
D: Catch

Richtige Antwort: A

Antwortanalyse: set_error_handler() kann eine Rückruffunktion angeben. Wenn ein Fehler auftritt, wird dieser automatisch über die angegebene Rückruffunktion behandelt. Lösen Sie einfach eine neue Ausnahme in der Rückruffunktion aus.

2. Welche der folgenden Shell-Funktionsbeschreibungen ist richtig?

A: Die Shell-Funktion kann zuerst aufgerufen und dann definiert werden
B: Shell-Funktionen müssen mit dem Schlüsselwort function definiert werden
C: Variablen innerhalb der Shell-Funktion können als lokale Variablen deklariert werden
D: Shell-Funktionen können Werte nur durch Rückgabe zurückgeben, 1 ist Erfolg, 0 ist ein Fehler

Richtige Antwort: C

Antwortanalyse: Shell-Funktion muss vor dem Aufruf beim Deklarieren definiert werden; Es besteht keine Notwendigkeit, Schlüsselwörter zu verwenden; lokal kann verwendet werden. Definieren Sie lokale Variablen innerhalb der Shell-Funktion. Rückgabewert, 0 ist Erfolg, ungleich 0 ist Fehler, andere Optionen sind korrekt

3. Die folgenden Aussagen zur Volltextsuchtechnologie sind falsch:

A: Solr ist eine neue Generation der Volltextsuchkomponente. Sie ist bei der Suche viel effizienter als Lucene. und es unterstützt auch den HTTP-Zugriff. Es ist für PHP auch sehr praktisch, Solr aufzurufen.
B: In MySQL kann die Volltextsuche durch die Einrichtung eines FULLTEXT-Index für ein Feld 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 der Volltextsuche Komponente. Basierend auf Lucene, daher ist es Unsinn zu sagen, dass es schneller als Lucene ist :)

4. Was ist falsch am Singleton-Modus?

A: Der Zweck des Singleton-Modus besteht darin, sicherzustellen, dass nur eine Instanz einer Klasse in der globalen Umgebung existieren kann.
B: Der Single-Interest-Modus erfordert im Allgemeinen, dass die Konstruktor muss auf privat gesetzt werden
C: Sie müssen den Konstruktor nur auf privat setzen, um sicherzustellen, dass es nur eine Instanz auf der Welt gibt
D: Die Funktion zum Herstellen einer Verbindung zur Datenbank wird normalerweise im Singleton-Modus implementiert

Richtige Antwort: C

Antwortanalyse: Wenn Sie den Konstruktor auf „Privat“ setzen, wird nur sichergestellt, dass neue Instanzen dies nicht können kann durch „Neu“ erstellt werden, kann aber dennoch geklont und deserialisiert werden. Erstellen Sie mehrere Instanzen mithilfe von Methoden wie der Transformation.

5. Was ist der falsche Ausdruck der regulären Engine?

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-Engine schneller. Allerdings ist DFA ausdrucksorientiert und einfacher zu manipulieren, weshalb die meisten Programmierer DFA-Engines bevorzugen!
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: Die richtige Aussage sollte lauten: Im Allgemeinen sucht die DFA-Engine schneller. NFA ist jedoch ausdrucksorientiert und einfacher zu manipulieren, sodass die meisten Programmierer NFA-Engines bevorzugen!

6. Welche der folgenden Optionen kann mit dem regulären Ausdruck im Feld übereinstimmen?

/.123d/

A. **123
B. ****1234
D.123

Richtige Antwort: B

Antwortanalyse: Der entscheidende Punkt dieser Frage ist Verstehen Sie diesen regulären Ausdruck. Die Bedeutung der Formel - von links nach rechts gibt es zuerst null oder mehr beliebige Zeichen (.), gefolgt von einem Sternchen (), dann 123 und schließlich eine 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: Der Datenbank-Master-Slave ist durch Protokollsynchronisierung

Richtige Antwort: C

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

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

A: Parameter mit htmlspecialchas filtern
B: Whitelist-Filterung für Parameter verwenden
C: Eingabeinhalte nicht im Browser anzeigen lassen
D: Deaktivieren Geben Sie den vom Benutzer im js-Tag eingegebenen Inhalt aus

Richtige Antwort: A

Antwortanalyse: Diese Klassenfilterung kann den spitzen Klammertyp lösen

A.ISAPIB.CGIC.FastCGI

D.RESTFUL API



Richtige Antwort:

D

Antwortanalyse: A~C sind die am häufigsten verwendeten Muster und D ist eine Methode zur Schnittstellenorganisation.

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 foreach die Durchquerung dieser 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: Shell-Tool-Traversal über die Exec-Funktion aufrufen

D: Eine von anderen geschriebene Klassenbibliothek verwenden



Richtige Antwort:

A

Antwortanalyse: Mit IteratorAggregate kann die Datei unabhängig von der Dateigröße durch Bewegen des Zeigers zeilenweise geöffnet und durchlaufen werden. 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 VererbungB: Programmierung für SchnittstellenC: Kopplung so weit wie möglich reduzieren

D: Versuchen Sie, Hochleistungssyntax zu verwenden



Richtige Antwort:

D

Antwortanalyse: Der Fokus des Entwurfsmusters liegt auf der Wartbarkeit und Wiederverwendbarkeit des Codes, Option D ist nicht der Schlüsselpunkt, auf den man sich bei Entwurfsmustern konzentrieren sollte.
12. Welcher der folgenden Ausdrücke zum Thema Backtracking ist falsch?

A AB.LMN passend zu ABCDEFLMNGHIJKLMN B AB.?lmn in ABCDEFLMNGHIJKLMN in ABCDEFLMNGHIJKLMN passend zu ABCDEFLMN C abcdefflmn C AB ?? C ABC

in lmnghijklmn D .*lmn entspricht abcdeflmn



in abcdeflmnghijklmn Richtige Antwort:

D

Antwortanalyse: D ist Greedy Matching , daher sollte das Übereinstimmungsergebnis abcdeflmnghijklmn lauten

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

A: endlich drin B: reinprobieren C: reinfangen

D: irgendwo



Richtige Antwort:

A

Antwortanalyse: Die Ausführung von „finally“ wird nach der Rückkehr in „try“ fortgesetzt. Wenn es auch eine Rückkehr in „final“ gibt, lautet der endgültige Rückgabewert der Wert der Rendite schließlich.

14. Die folgenden Aussagen zu NOSQL sind falsch:

A: Redis unterstützt Strings, Hashes, Listen, Sets, Datenstrukturen wie geordnete Mengen, derzeit unterstützt Redis keine Transaktionen. B: MongoDB unterstützt AP im CAP-Theorem und MySQL unterstützt CA im CAP, die alle eine unmögliche Existenz 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 ZeilensperreB: Die Tabellensperre von Innodb wird ausgelöst, wenn sich die Tabelle ändert C: Unter Innodb Beim Aktualisieren, Den beteiligten Zeilen werden automatisch exklusive Sperren hinzugefügt und eine Spiegelkopie erstellt. Zu diesem Zeitpunkt werden bei der Auswahl die Daten der Spiegelkopie abgefragt

D: Das Lesen wird im Innodb-Zeilensperrstatus nicht beeinträchtigt , aber das Schreiben ist betroffen (Daten betroffen)



Richtige Antwort:

A

16 So erstellen Sie einen Per: Führen Sie den Crontab-Befehl alle 3 Minuten von 01:00 bis 04:00 Uhr am Mittwoch aus?

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

Richtig Antwort: C

Antwortanalyse: A: Jede Minute um 1:04 jeden Mittwoch ausführen B: Jeden Mittwoch um 1:04 Alle 3 einmal ausführen Minuten C: Anforderungen erfüllen D: Alle 3 Minuten jeden Tag um 1:04 ausführen

17. Vor der Aufteilung können viele Listen und Detailseiten im System mit den erforderlichen Daten vervollständigt werden durch SQL-Join. 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 des „Verkäuferbenutzers“ erforderlich ist Tisch".
Die C-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: Master-Slave-Replikation trennt das Lesen und Schreiben der Datenbank. Es kann nur die Leseparallelität erweitern, aber das Problem datenbankübergreifender Verknüpfungen 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
C.Apache unterstützt den Wechsel zwischen Select und Epoll
D Parallelität

Richtige Antwort: D

Antwortanalyse: 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 Bedeutung ist:

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 Konvertieren Sie in Sprachfragmente (Tokens), Konvertieren Sie Tokens in einfache und aussagekräftige Ausdrücke, führen Sie Opcodes nacheinander aus, kompilieren Sie Ausdrücke in Opocdes
C: Konvertieren Sie PHP-Code in Sprachfragmente (Tokens), konvertieren Sie Ausdrücke in Opocdes, führen Sie Opcodes nacheinander aus und konvertieren Sie Tokens in einfache und aussagekräftige Ausdrücke
D: Konvertieren Sie PHP-Code in Sprachfragmente (Tokens), kompilieren Sie Ausdrücke in Opocdes und konvertieren Sie Tokens in einfache und aussagekräftige Ausdrücke, sequentielle Ausführung von Opcodes

Richtig Antwort: C

Antwortanalyse: Die richtige Antwort ist C, die richtige Reihenfolge ist: Scannen (Lexing), Parsen, Kompilieren, Ausführung

Verwandte Empfehlungen:

1, Front-End-JavaScript-Interviewfragen 2018 – 2022 (Sammlung)

2. Front-End-Interview Jianghu

Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er kann jedem beim Lernen helfen. Weitere spannende Inhalte finden Sie in den entsprechenden Tutorial-Kolumnen auf der chinesischen PHP-Website! ! !

Stellungnahme:
Dieser Artikel ist reproduziert unter:微信公众号. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen