Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung der neuesten klassischen PHP-Interviewfragen im Jahr 2017

Zusammenfassung der neuesten klassischen PHP-Interviewfragen im Jahr 2017

不言
不言Original
2018-04-21 10:30:054333Durchsuche

Der Inhalt dieses Artikels ist eine Zusammenfassung der neuesten PHP-Klassiker-Interviewfragen im Jahr 2017. Er hat einen gewissen Referenzwert, jetzt kann ich ihn mit Ihnen teilen

Dieser Artikel wird weiterhin aktualisiert. Ich hoffe, Sie können Ihre eigenen Meinungen und klassischen Themen im Kommentarbereich äußern. Der Autor wird diesen Artikel in Zukunft nach geeigneten Knoten ordnen und hierarchisieren. Ich hoffe, Sie können die Mängel im Artikel beheben!

1. Der Unterschied zwischen doppelten Anführungszeichen und einfachen Anführungszeichen

  • Doppelte Anführungszeichen erklären Variablen, einfache Anführungszeichen schon nicht Interpretieren Sie die Variable

  • Fügen Sie einfache Anführungszeichen in die doppelten Anführungszeichen ein. Wenn eine Variable in den einfachen Anführungszeichen steht, wird die Variable interpretiert

  • Dem Variablennamen müssen doppelte Anführungszeichen folgen, außer Zahlen, Buchstaben und Unterstrichen, oder es muss in Variablen eingeschlossen sein, andernfalls wird der Teil nach dem Variablennamen als Ganzes behandelt, was zu einem Syntaxfehler führt

  • Doppelte Anführungszeichen interpretieren einfache Anführungszeichen nicht als Escape-Zeichen, aber durch die Interpretation von ' und \

  • können einfache Anführungszeichen verwendet werden Einfache Anführungszeichen sind effizienter als doppelte Anführungszeichen (da doppelte Anführungszeichen zuerst durchlaufen werden müssen, um festzustellen, ob sie Variablen enthalten, bevor sie ausgeführt werden, während einfache Anführungszeichen nicht beurteilt werden müssen)

2. Häufig verwendete superglobale Variablen (8)

  • $_GET ----->Übertragungsmethode abrufen

  • $_POST ----->Post-Übertragungsmethode

  • $_REQUEST ----->Kann Werte sowohl in der Get- als auch in der Post-Methode empfangen


  • $GLOBALS ----->Alle Variablen werden innerhalb platziert

  • $_FILE ----- >Zum Hochladen von Dateien verwenden Sie

  • $_SERVER ----->Systemumgebungsvariablen


  • $_SESSION ----->Wird während der Sitzungssteuerung verwendet

  • $_COOKIE wird verwendet -----> 3. POST, GET, Der Unterschied zwischen PUT- und DELETE-Methoden

HTTP definiert verschiedene Methoden für die Interaktion mit dem Server. Die grundlegendsten sind POST, GET, PUT und DELETE Die unverzichtbare URL ist der Ressourcendeskriptor. Wir können ihn so verstehen: Die URL beschreibt eine Ressource im Internet, und Post, Get, Put und Delegate sind die Vorgänge zum Hinzufügen, Löschen, Ändern und Überprüfen dieser Ressource!

3.1 Der Unterschied zwischen Get- und Post-Übermittlungsmethoden im Formular

get fügt die Parameterdatenwarteschlange der URL hinzu, auf die das Aktionsattribut des verweist Der Wert entspricht eins zu eins jedem Feld im Formular, was aus der URL ersichtlich ist. Der Beitrag verwendet den HTTPPOST-Mechanismus, um zu verhindern, dass jedes Feld und sein Inhalt im Formular zusammen an die angegebene URL-Adresse übertragen werden durch das Aktionsattribut im HTML-Kopf, und der Benutzer kann es nicht sehen
  • Für die get-Methode verwendet die Serverseite Request.QueryString, um den Wert abzurufen Variable. Für die Post-Methode verwendet die Serverseite Request.Form, um die übermittelten Daten abzurufen

  • Die per Get übertragene Datenmenge ist gering und die per Post übertragene Datenmenge Im Allgemeinen ist die maximale Menge in IIS4 80 KB und in IIS5 1000 KB. Die Sicherheit ist hoch

Die GET-Anfrage sendet eine Datenanforderung an die Datenbank, um Informationen zu erhalten. Diese Anfrage wird genau wie die Auswahloperation der Datenbank nur zum Abfragen von Daten verwendet Das Ändern oder Hinzufügen von Daten hat keinen Einfluss auf den Inhalt der Ressource, d. h. die Anforderung hat keine Nebenwirkungen. Egal wie oft Sie den Vorgang durchführen, das Ergebnis ist das gleiche.
  • Im Gegensatz zu GET sendet die PUT-Anfrage Daten an den Server, um die Informationen zu ändern. Diese Anfrage ähnelt dem Aktualisierungsvorgang der Datenbank und wird zum Ändern des Dateninhalts verwendet. aber Der Datentyp wird nicht erhöht, was bedeutet, dass die Ergebnisse unabhängig von der Anzahl der durchgeführten PUT-Vorgänge nicht unterschiedlich sind.

  • Die POST-Anfrage ähnelt der PUT-Anfrage. Beide senden Daten an den Server. Diese Anfrage ändert jedoch die Art der Daten und anderer Ressourcen, genau wie der Einfügevorgang der Datenbank wird neue Inhalte erstellen. Fast alle aktuellen Übermittlungsvorgänge werden mit POST angefordert.

  • DELETE-Anfrage wird, wie der Name schon sagt, zum Löschen einer bestimmten Ressource verwendet. Diese Anfrage ähnelt dem Löschvorgang der Datenbank.

  • 4. Einführung in PHP

Hypertext-Präprozessor----Hypertext-Präprozessor


Persönliche Startseite Name

Zielzweck:

Ermöglicht Webentwicklern das schnelle Schreiben dynamisch generierter Webseiten. PHP bettet das Programm zur Ausführung in das HTML-Dokument ein, was effizienter ist. Vollständig generiertes CGI für die HTML-Bearbeitung ist viel höher

HTML: Hypertext Markup Language

Gründer: Rasmus Lerdorf, geboren 1968, University of Waterloo, Kanada

Ledolf ​​​​schrieb zuerst das Wartungsprogramm in Prel-Sprache, um seine persönliche Webseite zu pflegen, und schrieb es dann in C um, was schließlich zu PHP/Fi führte

Zeitleiste:

  • 1995.06.08 PHP/FI wurde für die Öffentlichkeit freigegeben

  • 1995 php2.0, Unterstützung für MySQL hinzugefügt

  • 1997 php3.0

  • 2000 php4.0

  • 2008 php5.0

  • Da php6.0 die Unicode-Kodierung nicht vollständig löst, gibt es im Grunde keine Anwendungen in der Produktion. Es handelt sich im Grunde nur um ein Konzeptprodukt. Viele Funktionen wurden auf php5.3.3 und php5.3.4 implementiert 🎜>

  • Gemeinsame IDEs (Integrierte Entwicklungsumgebung):
Integrierte Entwicklungsumgebung

Coda (Mac)
  • PHPStrom
  • Adobe Dreamweaver
  • NetBeans
  • Gemeinsamer Texteditor mit Code-Hervorhebung:

NodePad++
  • SublimeText
  • PHP-Vorteile

PHP-Funktionen:

PHP mischt auf einzigartige Weise C, Java, Prel und PHPs eigene Syntax
  • Vergleichbares CGI oder Prel kann ausgeführt werden Im Vergleich zu anderen Programmiersprachen bettet PHP Programme zur Ausführung viel höher ein als CGI, das die gesamte HTML-Bearbeitung implementiert 🎜>Unterstützt fast alle gängigen Datenbanken und Betriebssysteme
  • PHP kann C, C++ verwenden, um das Programm zu erweitern
  • PHP-Vorteile:
Offener Quellcode

Freiheit
  • Schnelligkeit
  • Starke plattformübergreifende Plattform
  • Hohe Effizienz
  • Grafikverarbeitung
  • Objektorientiert
  • Beruflicher Schwerpunkt
  • PHP-Technologieanwendung:
Generierung statischer Seiten

Datenbank-Cache
  • Prozess-Cache
  • p+css w3c-Standard
  • Große Ladung
  • Verteilt
  • Flex
  • Unterstützt MVC
  • Smarty-Modul-Engine
  • PHP-Zertifizierungsstufe
  • Junior IFE: Index Front Ingenieur Front-End-Ingenieur

Intermediate IPE: Index PHP Engineer PHP Engineer
  • Advanced IAE: Index Architecture Engineer Architecture Engineer
  • 6. Der Unterschied zwischen echo, print_r, print, var_dump
  • 7. HTTP-Statuscode

  • Klicken Sie hier für eine detaillierte Erklärung der HTTP-Statuscodes

Allgemeine HTTP-Statuscodes:
* echo、print是php语句,var_dump和print_r是函数
* echo 输出一个或多个字符串,中间以逗号隔开,没有返回值是语言结构而不是真正的函数,因此不能作为表达式的一部分使用
* print也是php的一个关键字,有返回值 只能打印出简单类型变量的值(如int,string),如果字符串显示成功则返回true,否则返回false* print_r 可以打印出复杂类型变量的值(如数组、对象)以列表的形式显示,并以array、object开头,但print_r输出布尔值和NULL的结果没有意义,因为都是打印"\n",因此var_dump()函数更适合调试
* var_dump() 判断一个变量的类型和长度,并输出变量的数值

200 – Anforderung erfolgreich

301 – Die Ressource ( Webseite usw.) wird dauerhaft an eine andere URL maskiert
  • 404 – Die angeforderte Ressource (Webseite usw.) existiert nicht
  • 505 - Interner Serverfehler
  • HTTP-Statuscode-Klassifizierung:
1** - Vom Server empfangene Informationen Die Anfrage erfordert, dass der Anforderer den Vorgang fortsetzt

2** – Erfolg, der Vorgang wurde erfolgreich empfangen und verarbeitet
  • 3** – Wiederholen Angewiesen, es sind weitere Maßnahmen erforderlich, um die Anfrage abzuschließen
  • 4** – Clientfehler, die Anfrage enthält einen Syntaxfehler oder die Anfrage kann nicht abgeschlossen werden
  • 5 ** Serverfehler. Während der Server die Anfrage verarbeitete
  • 8. Was sind magische Anführungszeichen? Dadurch wird automatisch ein PHP-Skript eingegeben. Es ist am besten, es nicht beim Codieren zu maskieren, sondern nach Bedarf während der Laufzeit zu maskieren der Code der IP des Servers
  • Client:

    Server:

10. Verwenden Sie diese Tools für die Versionskontrolle

cvs, svn, vss , git

11. Methoden zur Optimierung von Datenbanken

Acht Möglichkeiten zur Optimierung von MySQL-Datenbanken (Klassiker, die man gesehen haben muss) Klicken Sie hier, um zu erhalten$_SERVER["REMOTE_ADDR"];或者getenv('REMOTE_ADDR')ip2long进行转换gethostbyname('www.baidu.com')

Wählen Sie die meisten aus Anwendbare Feldattribute und Reduzieren Sie die Feldbreite so weit wie möglich. Versuchen Sie, Felder auf NOTNULL zu setzen. Beispielsweise eignen sich „Provinz“ und „Geschlecht“ am besten für ENUM

Verwenden Sie Join (. JOIN) statt Unterabfrage

Verwenden Sie Union (UNION), um manuell erstellte temporäre Tabellen zu ersetzen
  • Transaktionsverarbeitung
  • Tabellen sperren und Transaktionsverarbeitung optimieren
  • Fremdschlüssel anwenden, Sperrtabellen optimieren
  • Indizes erstellen
  • Abfrageanweisungen optimieren
  • 12. Haben Sie schon einmal eine Template-Engine verwendet? Wie heißt die verwendete Template-Engine?
  • Smarty:

    Smarty ist eine sehr alte PHP-Template-Engine. Es war meine erste Wahl für die Verwendung von Templates in dieser Sprache. Obwohl es seltener aktualisiert wird und einige Funktionen der neuen Generation von Template-Engines fehlen, ist es dennoch einen Blick wert.
  • 13. Welche Methoden sollten zur Lösung des Verkehrsproblems verwendet werden?

Überprüfen Sie, ob die Serverhardware den aktuellen Datenverkehr unterstützen kann

Trennung von Datenbanklesen und -schreiben, Optimierung von Datentabellen

Programmfunktionsregeln, Verbot externer Hotlinks
  • Kontrollieren Sie den Download großer Dateien
  • Verwenden Sie verschiedene Hosts, um den Hauptverkehr umzuleiten

14 Was ist der Unterschied zwischen den Anweisungen include und require? Um zu vermeiden, dass dieselbe Datei mehrmals eingebunden wird, können Sie (?)-Anweisungen verwenden, um sie zu ersetzen.

  • require ist eine bedingungslose Einbindung, d. h. wenn require zu einem Prozess hinzugefügt wird, wird dies der Fall sein zuerst ausgeführt werden, unabhängig davon, ob die Bedingung erfüllt ist oder nicht. Wenn die Datei nicht vorhanden ist oder nicht geöffnet werden kann, wird ein Fehler angezeigt und die Programmausführung wird abgebrochen

  • include hat einen Rückgabewert, require jedoch nicht (vielleicht weil require schneller ist als include Fast). Wenn die eingebundene Datei nicht vorhanden ist, wird ein Fehler angezeigt, aber das Programm wird weiterhin ausgeführt

Hinweis: Wenn die eingebundene Datei nicht existiert oder die Syntax falsch ist, ist require schwerwiegend und include nicht.

  • require_once bedeutet, dass sie nur einmal eingebunden wird, wodurch eine wiederholte Einbindung vermieden wird

15. Sprechen Sie über das Verständnis von mvc

Eine durch ein Modell, eine Ansicht und einen Controller vervollständigte Anwendung. Das Modell sendet die zu implementierenden Funktionen an Controller, und der Controller empfängt und organisiert die Funktionen und übergibt sie an die Ansicht

16 Erklären Sie die Werteübertragung und -übertragung in PHP. Der Unterschied zwischen Referenzen und erklären, wann bei der Wertübergabe eine Referenz übergeben werden soll?

Variablen werden standardmäßig immer nach Wert zugewiesen, das heißt, wenn der Wert eines Ausdrucks einer Variablen zugewiesen wird, wird der Wert des gesamten Ausdrucks der Zielvariablen zugewiesen, was bedeutet: Wenn eine Variable einer anderen Variablen zugewiesen wird, hat die Änderung des Werts einer Variablen keine Auswirkungen auf die andere Variable

php bietet auch eine andere Möglichkeit, Variablen Werte zuzuweisen: Referenzzuweisung. Dies bedeutet, dass die neue Variable einfach __references__ (mit anderen Worten, ein Alias ​​oder Zeiger auf) der ursprünglichen Variablen wird. Änderungen an neuen Variablen wirken sich auf die ursprünglichen Variablen aus und umgekehrt. Verwenden Sie die Referenzzuweisung, fügen Sie einfach ein &-Symbol vor der zuzuweisenden Variablen (Quellvariable) hinzu.

Das Objekt verwendet standardmäßig die Übergabe per Referenz. Bei größeren Daten ist die Übergabe per Referenz besser, was Speicheraufwand sparen kann .

Verwandte Empfehlungen:

Zusammenfassung der PHP-Interviewfragen

PHP klassischer Interviewfragensatz PHP klassischer Interviewfragensatz

Die umfassendsten und detailliertesten PHP-Interviewfragen (mit Antworten)

Das obige ist der detaillierte Inhalt vonZusammenfassung der neuesten klassischen PHP-Interviewfragen im Jahr 2017. 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