Heim >Backend-Entwicklung >PHP-Tutorial >Zusammenfassung der neuesten klassischen PHP-Interviewfragen (Teil 1)
Dieser Artikel stellt hauptsächlich die neueste Zusammenfassung der klassischen PHP-Interviewfragen im Jahr 2017 vor. Er ist sehr gut und hat Referenzwert.
1. Der Unterschied zwischen doppelten und einfachen Anführungszeichen
Doppelte Anführungszeichen interpretieren Variablen, einfache Anführungszeichen interpretieren Variablen nicht
In doppelten Anführungszeichen Fügen Sie einfache Anführungszeichen ein. Wenn in den einfachen Anführungszeichen eine Variable steht, muss die Variablenerklärung
in den doppelten Anführungszeichen stehen. Dem Variablennamen muss gefolgt werden eine Nicht-Zahl, ein Buchstabe oder ein Unterstrich. Sonderzeichen, oder verwenden Sie {}, um Variablen einzuschließen, andernfalls wird der Teil nach dem Variablennamen als Ganzes behandelt, was zu einem Grammatikfehler führt
Doppelte Anführungszeichen interpretieren Escape-Zeichen, einfache Anführungszeichen interpretieren keine Escape-Zeichen, aber die Interpretation von ' und \
kann dazu führen, dass einfache Anführungszeichen einfach verwendet werden Einfache Anführungszeichen sind effizienter als doppelte Anführungszeichen. Sie sollten hoch sein (da doppelte Anführungszeichen zuerst durchlaufen werden müssen, um festzustellen, ob sie Variablen enthalten, während einfache Anführungszeichen nicht beurteilt werden müssen). 🎜>
2. Häufig verwendete super globale Variablen(8)
3. Der Unterschied zwischen den Methoden POST, GET, PUT und DELETE HTTP
HTTP definiert verschiedene Methoden zur Interaktion mit dem Server. Die grundlegendsten sind POST, GET, PUT und DELETE. Der vollständige Name der unverzichtbaren URL ist Verstehen Sie es so: URL-Beschreibung Eine Ressource im Internet wird abgerufen. Post, Get, Put und Delegate sind Vorgänge zum Hinzufügen, Löschen, Ändern und Überprüfen dieser Ressource!3.1 Der Unterschied zwischen Get- und Post-Übermittlungsmethoden in der Form
Löschvorgang der Datenbank.
4. Einführung in PHP
Hypertext-Präprozessor----Hypertext-PräprozessorPersönlich Startseite Ursprünglicher NameZielzweck: Ermöglichen Sie Webentwicklern das schnelle Schreiben dynamisch generierter Webseiten. PHP bettet das Programm zur Ausführung in dasHTML-Dokument ein als CGI, das die HTML-Bearbeitung vollständig generiert
HTML: Hypertext Markup LanguageGründer: Rasmus Lerdorf, geboren 1968, University of Waterloo, KanadaLedov schrieb das Wartungsprogramm zunächst 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:
PHP/FI wurde am 08.06.1995 für die Öffentlichkeit freigegeben
1995 php2.0 und fügte Unterstützung für MySQL
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 Anwendung in der Produktionslinie. 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 EntwicklungsumgebungNetBeans
Gemeinsamer Text
Editor
NodePad++SublimeText
PHP-Vorteile
PHP-Funktionen:
PHP mischt auf einzigartige Weise C, Java, Prel und PHPs eigene Syntax
Unterstützt fast alle gängigen Datenbanken und Betriebssysteme
PHP kann C, C++ verwenden, um das Programm zu erweitern
Offener Quellcode
Kostenlos
Schnelligkeit
Stark plattformübergreifend
Hohe Effizienz
Grafikverarbeitung
Statische Seitengenerierung
Datenbank-Cache
Prozesscache
p+css
w3cVerteilt
flex
Unterstützung
MVCJunior IFE: Index Front Engineer Front-End Engineer Intermediate IPE: Index PHP Engineer PHP Engineer Senior IAE: Index Architecture Engineer Architekturingenieur
6. echo, print_r, Der Unterschied zwischen print und var_dump
7.
* 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() 判断一个变量的类型和长度,并输出变量的数值HTTP-Statuscode
Klicken Sie hier, um die detaillierte Erklärung der HTTP-Statuscodes anzuzeigen Allgemeine HTTP-Statuscodes:
200 – Anfrage erfolgreich
301 – Ressourcen (Webseiten usw.) werden dauerhaft an andere URLs maskiert404 – Die angeforderte Ressource (web Seite usw.) existiert nicht
505 – Interner ServerfehlerHTTP-Statuscode-Klassifizierung:
1** – Information, die vom Server empfangene Anfrage erfordert, dass der Anforderer die Ausführung des Vorgangs fortsetzt
2** – Erfolg, der Vorgang wurde erfolgreich empfangen und verarbeitet
3** – Weiterleitung, weitere Maßnahmen sind erforderlich, um die Anfrage abzuschließen
5** Serverfehler, der Server hat bei der Verarbeitung der Anfrage einen Fehler festgestellt
8. Was sind
Magische Anführungszeichen sind ein Prozess, der die in das PHP-Skript eingegebenen Daten automatisch maskiert. Es ist am besten, sie nicht beim Codieren zu maskieren, sondern nach Bedarf während der Laufzeit zu maskieren
9. So erhalten Sie die IP des Clients (erfordert ein int) und den Code der IP des Servers
Client: $_SERVER["REMOTE_ADDR"] ;oder getenv('REMOTE_ADDR')ip2long für die KonvertierungServerseite: gethostbyname('www.baidu.com')
10
cvs, svn, vss, git
11. Methoden zur Datenbankoptimierung
MySQL-DatenbankAcht Möglichkeiten zur Optimierung (klassisches Muss) Klicken Sie hier, um zu gelangen
Wählen Sie die am besten anwendbaren Feldattribute aus, reduzieren Sie die Definition der Feldbreite so weit wie möglich, und versuchen Sie, Felder auf NOTNULL zu setzen. Beispielsweise eignen sich „Provinz“ und „Geschlecht“ am besten für ENUM.Verwenden Sie Join (JOIN) anstelle einer Unterabfrage.Verwenden Sie Union (UNION) anstelle einer manuell erstellten temporären Tabelle.
TransaktionsverarbeitungTabelle sperren, Transaktionsverarbeitung optimieren
Fremdschlüssel anwenden, Sperrtabellen optimieren
Indizes erstellen
Abfrageanweisungen optimieren
12. Haben Sie jemals die Vorlagen-Engine verwendet? Wie heißt die verwendete Template-Engine?
Smarty: Smarty ist eine sehr alte PHP-Template-Engine. Sie 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 dies unterstützt den aktuellen Datenverkehr
Lesen und Schreiben der Datenbank trennen, Datentabellen optimieren
Funktionsregeln programmieren, externe Hotlinks verbieten
Download großer Dateien kontrollieren
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 wird zuerst ausgeführt, unabhängig davon, ob die Bedingung wahr ist oder nicht. Wenn die Datei nicht existiert oder nicht geöffnet werden kann, wird ein Fehler angezeigt und die Programmausführung wird abgebrochen.
include hat einen Rückgabewert. aber require nicht (vielleicht ist require aus diesem Grund schneller als include), wenn es enthalten ist. Wenn die Datei nicht vorhanden ist, wird ein Fehler angezeigt, aber das Programm wird weiterhin ausgeführt
Hinweis: require ist schwerwiegend, wenn die include-Datei nicht existiert oder einen Syntaxfehler aufweist, aber include nicht
require_once die Einbindung nur einmal anzeigt und wiederholte Einbindung vermeidet
15. Sprechen Sie über das Verständnis von MVC
Durch Modelle, Ansichten und Controller abgeschlossene Anwendungen. Das Modell sendet die zu implementierenden Funktionen der Controller, und der Controller empfängt die Organisationsfunktionen und übergibt sie an die Ansicht
16. Erklären Sie den Unterschied zwischen der Wertübergabe und der Referenzübergabe in PHP und erklären Sie, wann die Referenzübergabe erfolgt bei der Wertübergabe?
Variablen werden standardmäßig immer nach Wert zugewiesen, d. h. wenn der Wert eines Ausdrucks einer Variablen zugewiesen wird, wird der Wert des gesamten Ausdrucks der Zielvariablen zugewiesen , was bedeutet Hinweis: 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 auf die ursprüngliche Variable verweist (mit anderen Worten, sie wird zu einem Alias oder zeigt auf sie). Änderungen an neuen Variablen wirken sich auf die ursprünglichen Variablen aus und umgekehrt. Um die Referenzzuweisung zu verwenden, fügen Sie einfach ein &-Symbol vor der zuzuweisenden Variablen (Quellvariable) hinzu.
Das Objekt verwendet standardmäßig die Referenzübergabe
Für größere Daten ist es besser zur Referenzübergabe. Dies kann Speicheraufwand sparen
Das obige ist der detaillierte Inhalt vonZusammenfassung der neuesten klassischen PHP-Interviewfragen (Teil 1). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!