Heim  >  Artikel  >  Backend-Entwicklung  >  Fragen zu PHP-Interviews für Fortgeschrittene und Fortgeschrittene

Fragen zu PHP-Interviews für Fortgeschrittene und Fortgeschrittene

不言
不言Original
2018-05-18 14:16:4120653Durchsuche

Dieser Artikel stellt hauptsächlich Fragen zu PHP-Interviews für Fortgeschrittene vor, die einen gewissen Referenzwert haben. Jetzt können Freunde in Not darauf zurückgreifen.

Verwandte Empfehlungen: „PHP im Jahr 2019.“ Zusammenfassung der Interviewfragen (Sammlung)

1 Geben Sie vier Koordinatenpunkte an und beurteilen Sie, ob sie ein Rechteck bilden können, z. B. ([0,0],[0,1],[ 1,1],[1,0]) können ein Rechteck bilden.

2. Schreiben Sie einen Code, um zu bestimmen, ob in der einseitig verknüpften Liste ein Ring gebildet wird. Suchen Sie bitte den Eingang des Rings, der Punkt P ist.

3. Schreiben Sie eine Funktion, um alle Bilder im Artikelinhalt abzurufen und herunterzuladen

4. Holen Sie sich die IP-Adresse des aktuellen Clients und bestimmen Sie, ob es sich um (111.111.111.111,222.222.222.222) handelt

5. Log_format-Konfiguration von nginx wie folgt:
log_format main 'remoteaddr−remote_user [timelocal]"request"'
'statusbody_bytes_sent "httpreferer"""http_user_agent" "upstreamresponsetime""request_time" "http_x_forwarded_for"';
Aus der heutigen Nginx-Protokolldatei In access.log:

  • a. Die 20 größten Zeilen von „request_time“ auflisten? Listen Sie die Besuche um 10 Uhr auf. 20 URL-Adressen.

  • 6. Was ist ein CSRF-Angriff? Die Tabelle ruft zufällig 10 Daten zur Anzeige ab. Beschreiben Sie kurz, wie Sie diese Funktion implementieren. 8. Ziehen Sie zufällig 5 Karten aus den Spielkarten und bestimmen Sie, ob es sich um eine Straße handelt, also um diese 5 Karten. Es ist kontinuierlich

  • 9. So finden Sie den ersten gemeinsamen Knoten zweier sich überschneidender, einseitig verknüpfter Listen

10. Das längste gemeinsame Teilsequenzproblem LCS Wenn es zwei Arrays gibt [1,2,5,11,32,15,77] und [99,32,15,5,1,77], finden Sie sie Wenn Sie Code mit optimaler Zeitkomplexität für Zahlen schreiben, die wir alle gemeinsam haben, kann array_intersect nicht verwendet werden (hier gibt es Fallstricke, und Sie müssen dynamische Programmierung studieren).

11. Linux-Speicherzuweisung und Multithreading-Prinzipien

Der Unterschied zwischen Primärschlüssel und eindeutigem Index in MYSQL

Der Hauptunterschied zwischen http und https

14. HTTP-Statuscode und seine Bedeutung

15. So überprüfen Sie die Systemressourcennutzung unter Linux

16. Was ist das Prinzip der SQL-Injection? So verhindern Sie die SQL-Injection

17. isset(null) isset(false) empty(null) empty(false) Ausgabe

18. Methoden zur Optimierung von MYSQL

19. Datenbank In welcher Datenbank befindet sich die Transaktion?

20. Schreiben Sie eine Funktion, um die Dateierweiterung so effizient wie möglich aus einer Standard-URL zu extrahieren

21. Die Parameter sind Arrays mit mehreren Datums- und Uhrzeitangaben und geben diejenige zurück, die der aktuellen am nächsten kommt Zeit. Zeit

22. Der Unterschied zwischen echo, print und print_r

23. Was sind die Schlüssel und ihre Bedeutung im Header des http-Protokolls

24 Code

25. Was sind die strukturellen Unterschiede zwischen PHP-Arrays und C-Spracharrays?

26. Wie implementiert man die Sprungtabelle von Redis?

27. Wie speichere ich Daten nach einem Hash-Konflikt?

28. Clustered-Index, was ist der Unterschied zwischen Clustered-Index?

29. Wie sucht B+Tree?

30. Was ist der Unterschied zwischen Array und Hash?

31. Schreiben Sie eine Funktion, um zu bestimmen, ob das folgende Erweiterungszeichen geschlossen ist: ((())),)(()),(()))), (( (((((() ()), (()()), ()()

32. Finden Sie die eindeutigen Werte im Array [1,2,3,3,2, 1,5]

Wie hoch ist Ihre Zeitkomplexität für die Fragen 33 und 32? In einigen Fällen schreiben Sie einen Algorithmus, und dann wird der Interviewer Sie bitten, den Zeitkomplexitätsausdruck Ihres Algorithmus aufzuschreiben

34. Wie wird diese schwache Typvariable in PHP implementiert?

35. Trennt der Client oder der Server während der HTTP-Kommunikation aktiv die Verbindung?

36. Welche Möglichkeiten gibt es, HTTP-Anfragen in PHP zu initiieren? Was ist der Unterschied?

37. Es gibt einen Binärbaum, um den kürzesten Pfad vom Wurzelknoten zum Flag-Knoten zu finden und auszudrucken. Beispielsweise sind 6 und 14 im Baum unten Flag-Knoten. Bitte schreiben Sie Code zum Drucken der beiden Pfade 8, 3, 6 und 8, 10, 14

38. Es gibt zwei Dateien Die Größe der Dateien überschreitet 1 GB, und jede Datenzeile überschreitet nicht 500 Byte. Bitte schreiben Sie Code, um die gleichen Zeilen zu finden und zu schreiben sie in die neue Datei. Die maximal zulässige Größe von PHP beträgt 255 MB.

39. Bitte schreiben Sie mindestens zwei PHP-Funktionen, die die Rückrufverarbeitung unterstützen, und implementieren Sie selbst eine PHP-Funktion, die die Rückrufverarbeitung unterstützt.

40. Bitte schreiben Sie mindestens zwei PHP-Funktionen, die die Rückrufverarbeitung unterstützen um alle Dateien (Code oder Ideen) herunterzuladen.

41. Bitte notieren Sie mindestens drei Methoden oder Funktionen zum Abfangen von Dateinamensuffixen (entweder native PHP-Funktionen oder selbst implementierte Funktionen)

42. Wie implementiert PHP Cookies ohne eigene? Funktion gibt Cookies an den Client aus. So speichern Sie Sitzungswerte für verteilte Systeme.

43. Bitte verwenden Sie SHELL, um die am häufigsten besuchten URL-Adressen in Nginx-Protokollen innerhalb von 5 Minuten zu zählen.

44. Schreiben Sie ein Shell-Skript, um die angegebene MySQL-Bibliothek (z. B. Test) im angegebenen Ordner zu sichern und zu verpacken, löschen Sie die Sicherung vor 30 Tagen, übertragen Sie dann die neue Sicherung auf den Remote-Server und senden Sie eine E-Mail Benachrichtigung bei Fertigstellung.

45. Der Unterschied zwischen Innodb- und Myisam-Engines in der MySQL-Datenbank

46 Von dem Zeitpunkt an, an dem der Benutzer die URL in den Browser eingibt und die Eingabetaste drückt, welcher Prozess wird ausgeführt? durchgehen?

47. So analysieren Sie die Leistung einer SQL-Anweisung.

48. Welcher Befehl sollte verwendet werden, um Routing-Pakete zu verfolgen, wenn das Ping eines Servers fehlschlägt?
linux:traceroute,windows:tracert

49 b; Was ist var_dump($a) gleich?

50, $a=[1,2,3]; foreach($a as &$v){} foreach($a as $v){} var_dump($a) ist gleich; 🎜 >

51. Die Benutzer-ID und viele Abzugszeilen werden in Redis gespeichert. Jetzt müssen wir ein Skript schreiben, um die Abzugsdatensätze in der Datenbank zu synchronisieren einmal alle 5 Minuten. Welche Themen sollten berücksichtigt werden?

52. Welche Probleme treten in praktischen Anwendungen auf, wenn der Master-Server die Innodb-Engine und der Slave-Server die Myisam-Engine ist?

53. Was sind die Prozesssignale unter Linux?

54, die zugrunde liegende Implementierung von Redis

55, asynchrones Modell

56, 10g-Datei, verwenden Sie PHP, um die Anzahl der Zeilen zu überprüfen

57, es gibt 1 Milliarde Bestelldaten, die zu 1000 Treibern gehören, bitte nehmen Sie die heraus Bestellmenge Die Top-20-Treiber

58, entwerfen Sie eine WeChat-Rotumschlagfunktion

59, zählen Sie die QPS der letzten 5 Sekunden basierend auf der Datei access.log und zeigen Sie sie im Folgenden an Format, 01 1000 (der Schwierigkeitsgrad ist 01 Seriennummer)

60. Warum ist die Leistung von PHP7 so stark verbessert?

61 62. Es gibt eine solche Zeichenfolge abcdefgkbcdefab...zufällige Länge. Schreiben Sie eine Funktion, um die Häufigkeit zu ermitteln, mit der bcde in dieser Zeichenfolge vorkommt

63. Es gibt eine Datei mit der Größe 1G, jede Zeile darin ist eine Wort, die Größe des Wortes überschreitet nicht 16 Byte und die Speichergrenze beträgt 1 MB. Gibt die 100 häufigsten Wörter zurück

65, PHP-Prozessmodell, wie PHP mehrere Parallelität unterstützt

66, Nginx-Prozessmodell, wie man mehrere Parallelität unterstützt

67, PHP-FPM-Konfigurationsbedeutung, Daemonisierungsmodus von FPM
statisch – die Anzahl der untergeordneten Prozesse ist festgelegt (pm.max_children)
ondemand – der Prozess wird nur generiert, wenn eine Nachfrage besteht (auf Anfrage, Im Gegensatz zu dynamisch wird pm.start_servers beim Start des Dienstes gestartet.
dynamisch – die Anzahl der untergeordneten Prozesse wird dynamisch basierend auf der folgenden Konfiguration festgelegt: pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers

68. Ermöglichen Sie die Implementierung einer einfachen Architektur und die Aufrechterhaltung einer hohen Verfügbarkeit. Es gibt zwei Schnittstellen, eine zum Hochladen eines Textes und eine zum Abrufen der hochgeladenen Inhalte Die Codeebene unempfindlich machen.

Einer der beiden MySQL-Server ist ausgefallen, ohne dass die Daten auf dem Podium-Server konsistent sind >

70. HTTP-Protokoll Spezifische Definition

71. Was ist eine Sperre und wie löst man das Sperrproblem?

72 . Wie wird die MySQL-Transaktionsisolation erreicht? ist giftig. Nach dem Trinken des giftigen Wassers ist er nach 23 Stunden und 59 Minuten an Gift gestorben. Bitte verwenden Sie die wenigsten Mäuse, um diese Flasche Wasser innerhalb von 24 Stunden zu finden

Verwandte Empfehlungen:

Zusammenfassung der PHP-Interviewfragen


Das obige ist der detaillierte Inhalt vonFragen zu PHP-Interviews für Fortgeschrittene und Fortgeschrittene. 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