Heim  >  Artikel  >  Backend-Entwicklung  >  20 grundlegende PHP-Interviewfragen, die Sie kennen und kennen müssen (mit Antworten)

20 grundlegende PHP-Interviewfragen, die Sie kennen und kennen müssen (mit Antworten)

青灯夜游
青灯夜游nach vorne
2021-06-03 18:42:366542Durchsuche

In diesem Artikel stellen wir Ihnen 20 grundlegende PHP-Interviewfragen vor, die Ihnen dabei helfen sollen, Ihr Fundament zu festigen. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

20 grundlegende PHP-Interviewfragen, die Sie kennen und kennen müssen (mit Antworten)

Empfohlenes Lernen: „PHP-Video-Tutorial

1. Was ist objektorientiert? Was sind die Hauptmerkmale?

Objektorientiert ist eine Entwurfsmethode für Programme, die dazu beiträgt, die Wiederverwendbarkeit von Programmen zu verbessern und die Programmstruktur klarer zu machen.

Hauptmerkmale: Kapselung, Vererbung, Polymorphismus.

2. Was ist der Unterschied zwischen SESSION und COOKIE?

Das zustandslose HTTP-Protokoll kann nicht unterscheiden, ob derselbe Benutzer von verschiedenen Seiten kommt als zum selben Benutzer gehörend.

SESSION wird auf der Serverseite gespeichert und COOKIE wird auf der Clientseite gespeichert. Sitzungen sind relativ sicher. Cookies können auf bestimmte Weise geändert werden und sind nicht sicher. Die Sitzung ist für die Bereitstellung auf Cookies angewiesen. Nach der Deaktivierung von Cookies kann die Sitzung nicht normal genutzt werden.

Nachteile der Sitzung: Auf der Serverseite gespeichert, wird jeder Lesevorgang vom Server gelesen, was Ressourcen auf dem Server verbraucht. Die Sitzung wird in einer Datei oder Datenbank auf der Serverseite gespeichert. Der Dateipfad wird standardmäßig durch session.save_path in der PHP-Konfigurationsdatei angegeben. Sitzungsdateien sind öffentlich.

3. Was bedeuten die Codes 302, 403 und 500 im HTTP-Status?

Eins, zwei, drei, vier und fünf Prinzipien: (d. h. eins: Nachrichtenserie; zwei: Erfolgsserie; drei: Umleitungsserie; vier: Anforderungsfehlerserie; fünf: serverseitige Fehlerserie.)

  • 302 : Temporäre Übertragung erfolgreich, der angeforderte Inhalt wurde an einen neuen Speicherort verschoben
  • 403: Zugriff verboten
  • 500: Serverinterner Fehler
  • 401: Stellt eine unautorisierte Übertragung dar

4. Bitte notieren Sie die Bedeutung des Datentyps ( int char varchar datetime text); Was ist der Unterschied zwischen varchar und char?

  • Int Integer
  • char Zeichen mit fester Länge
  • Varchar Zeichen mit variabler Länge
  • Datetime Datetime-Typ
  • Text Texttyp

Varchar und char Der Unterschied:

char ist ein Zeichentyp mit fester Länge, Wie viel Platz wird zugewiesen? Nehmen Sie einfach so viel Platz wie möglich ein. Varchar ist ein Zeichentyp mit variabler Länge. Er nimmt so viel Platz ein wie der Inhalt, wodurch effektiv Platz gespart werden kann. Da der Typ varchar variabel ist, muss der Server zusätzliche Vorgänge ausführen, wenn sich die Datenlänge ändert, sodass die Effizienz geringer ist als beim Typ char.

5. Was sind die grundlegenden Unterschiede zwischen MyISAM und InnoDB? Wie wird die Indexstruktur implementiert?

MyISAM-Typ unterstützt keine Transaktionen und Tabellensperren und ist anfällig für Fragmentierung. Er muss häufig optimiert werden und verfügt über schnelle Lese- und Schreibgeschwindigkeiten.

InnoDB-Typ unterstützt Transaktionen sperrt, verfügt über Funktionen zur Wiederherstellung nach Abstürzen und liest. Die Schreibgeschwindigkeit ist langsamer als bei MyISAM und eignet sich für Anwendungen mit vielen Einfüge- und Aktualisierungsvorgängen. Es nimmt viel Platz ein und unterstützt keine Volltextindizierung.

Index erstellen: alert table tablename add index 索引名 (`字段名`) 

6. Der Unterschied zwischen isset() und empty()

isset bestimmt, ob eine Variable vorhanden ist, wenn eine der Variablen nicht vorhanden ist ; empty bestimmt, ob die Variable leer ist. Es kann nur eine Variable übergeben werden. Wenn sie leer ist, wird true zurückgegeben.

7. Bitte erläutern Sie den Unterschied zwischen der Wertübergabe und der Referenzübergabe in PHP. Wann soll ein Wert und wann eine Referenz übergeben werden?

Übergabe als Wert: Alle Änderungen am Wert innerhalb des Funktionsumfangs werden außerhalb der Funktion ignoriert.

Übergabe als Referenz: Alle Änderungen am Wert innerhalb des Funktionsumfangs spiegeln diese Änderungen auch außerhalb der Funktion wider.

Vor- und Nachteile : Pass Wenn ein Wert übergeben wird, muss PHP den Wert kopieren. Insbesondere bei großen Strings und Objekten kann dies ein kostspieliger Vorgang sein. Bei der Referenzübergabe ist kein Kopieren des Werts erforderlich, was sich sehr positiv auf die Leistungsverbesserung auswirkt.

8. Welche Funktion hat error_reporting in PHP?

Stellen Sie die Fehlerberichtsstufe von PHP ein und geben Sie die aktuelle Stufe zurück.

9. Erzählen Sie mir etwas über Ihr Verständnis der Caching-Technologie?

Caching-Technologie besteht darin, dynamische Inhalte in Dateien zwischenzuspeichern und innerhalb eines bestimmten Zeitraums auf dynamische Seiten zuzugreifen, um die zwischengespeicherten Dateien direkt aufzurufen, ohne die Datenbank erneut aufrufen zu müssen.

10. Die dreischichtige Struktur von MVC wird heutzutage häufig in der Programmierung verwendet.

Die drei Schichten von MVC beziehen sich auf: Geschäftsmodell, Ansicht und Controller. Die Controller-Schicht ruft das Modell auf, um die Daten zu verarbeiten, und ordnet die Daten dann der Ansichtsschicht zur Anzeige zu.

① kann die Wiederverwendbarkeit von Code erreichen, Code-Redundanz vermeiden;

②M- und V-Implementierungscode-Trennung, sodass dasselbe Programm unterschiedliche Ausdrücke verwenden kann

11. Was sind die Vorteile von AJAX?

ajax ist eine asynchrone Übertragungstechnologie, die über Javascript oder das JQuery-Framework implementiert werden kann, um eine teilweise Aktualisierung zu erreichen, wodurch der Druck auf den Server verringert und die Benutzererfahrung verbessert wird.

12. Wie kann bei der Entwicklung des Programms die Betriebseffizienz des Programms verbessert werden?

  • SQL-Anweisungen optimieren, select * nicht in Abfrageanweisungen verwenden, sondern welches Feld verwenden, um welches Feld zu überprüfen select *,用哪个字段查哪个字段;

  • 少用子查询可用表连接代替;

  • 少用模糊查询;

  • 数据表中创建索引;

  • 对程序中经常用到的数据生成缓存。 

13、对于大流量的网站,您采用什么样的方法来解决访问量问题? 

  • 有效使用缓存,增加缓存命中率
  • 使用负载均衡
  • 对静态文件使用cdn进行存储和加速
  • 想法减少数据库的使用
  • 查看出现统计的瓶颈在哪里
  • 反向代理 

14、语句include和require的区别是什么?为避免多次包含同一文件,可用什么语句代替它们?

区别:在失败的时候:include产生一个warning,而require产生直接产生错误中断require在运行前载入include在运行时载入代替:require_onceinclude_once 

Weniger Unterabfragen verwenden und stattdessen Tabellenverbindungen verwenden; weniger Fuzzy-Abfrage verwenden;

Einen Index in der Datentabelle erstellen;

Cache für im Programm häufig verwendete Daten erstellen.

13. Welche Methoden verwenden Sie, um das Verkehrsproblem zu lösen?

Cache effektiv nutzen und Cache-Trefferquote erhöhen

Verwenden Sie LastausgleichVerwenden Sie CDN, um statische Dateien zu speichern und zu beschleunigen.

    Ideen zur Reduzierung der Datenbanknutzung Der Unterschied zwischen den Anweisungen include und require? Welche Anweisungen können verwendet werden, um sie zu ersetzen, um zu vermeiden, dass dieselbe Datei mehrmals eingefügt wird? Interrupts erfordern, während es ausgeführt wird: require_onceinclude_once
  • 15 ​​Was ist der Unterschied zwischen foo() und @foo()? Warnungen ignoriert
  • 16, beschreiben Sie kurz den Garbage-Collection-Mechanismus von PHP.
Variablen in PHP werden im Variablencontainer zval gespeichert. Zusätzlich zum Speichern von Variablentypen und -werten verfügt zval auch über die Felder is_ref und refcount. refcount gibt die Anzahl der Elemente an, die auf die Variable verweisen, und is_ref gibt an, ob die Variable einen Alias ​​hat. Wenn refcount 0 ist, wird der Variablencontainer recycelt.

Wenn der Refcount eines Zval nach minus 1 größer als 0 ist, wird er in den Müllpuffer eingetragen. Wenn der Puffer den Maximalwert erreicht, durchläuft der Recycling-Algorithmus den ZVAL, um festzustellen, ob es sich um Müll handelt, und gibt ihn frei.

17. Wie maximiert man die Sicherheit von PHP?

Wie vermeidet man SQL-Injection-Schwachstellen und XSS-Cross-Site-Scripting-Schwachstellen? Antwort: Grundprinzipien: Zeigen Sie der Außenwelt keine Server- oder Programmdesigndetails (Fehler blockieren), vertrauen Sie keinen vom Benutzer übermittelten Daten (Benutzereingaben filtern).

18. Unterschiede zwischen echo, print_r, print und var_dump

echo: Anweisungsstruktur;

🎜print: ist eine Funktion mit einem Rückgabewert 🎜🎜print_r: kann Arrays und Objekte drucken 🎜🎜var_dump: kann drucken Objektarrays und mit Datentyp 🎜🎜🎜🎜19. Funktionen zum Schreiben von Smarty-Vorlagen 🎜🎜🎜Schnelle Geschwindigkeit, Kompilierung, Caching-Technologie, Plug-in-Mechanismus, leistungsstarke Leistungslogik 🎜🎜🎜20 vom Benutzer wie es ist, in welcher Funktion sollten die Daten verarbeitet werden, bevor sie in die Datenbank eingegeben werden? 🎜🎜🎜HTML-Sonderzeichen oder HTML-Entitäten 🎜🎜Weitere Programmierkenntnisse finden Sie unter: 🎜Programmiervideo🎜! ! 🎜

Das obige ist der detaillierte Inhalt von20 grundlegende PHP-Interviewfragen, die Sie kennen und kennen müssen (mit Antworten). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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