Heim  >  Artikel  >  Backend-Entwicklung  >  Einige klassische Interviewfragen im Jahr 2018

Einige klassische Interviewfragen im Jahr 2018

王林
王林Original
2019-08-19 13:50:365217Durchsuche

Heute habe ich einige Interviewfragen für Sie gesammelt. Ich hoffe, dass sie für Sie hilfreich sind.

Empfohlene PHP-bezogene Video-Tutorials: https://www.php.cn/course/list/29/type/2.html

1. Ein großer Vorteil der PHP-Sprache ist, dass sie plattformübergreifend ist.

Die optimale Kombination der PHP-Betriebsumgebung ist Apache+MySQL+PHP in verschiedenen Betriebssystemen (wie Windows, Linux usw.) und ist nicht durch das Betriebssystem eingeschränkt, daher wird es als plattformübergreifend bezeichnet

2. Wie viele Methoden gibt es für die Datenübermittlung in WEB-Entwicklung? Was sind die Unterschiede? Welche Methode verwendet Baidu?

Zwei Methoden von Get und Post

Unterschiede:

1 Server und Post überträgt Daten an den Server

2. Get überträgt Der Wert ist in der URL sichtbar, aber der Beitrag ist in der URL nicht sichtbar

3 Der von Get übergebene Wert ist Im Allgemeinen innerhalb von 2 KB, und die Größe des per Post übergebenen Werts kann in php.ini

4 festgelegt werden. Get ist sicher. Die Leistung ist nicht niedrig, die Post-Sicherheit ist höher, aber die Ausführungseffizienz ist höher der Beitrag

Empfehlungen:

1. Der Get-Typ ist weniger sicher als der Post-Typ und enthält vertrauliche Informationen. Es wird empfohlen, Post-Daten zum Senden der Formel zu verwenden.

2. Es wird empfohlen, die Get-Formel für die Datenabfrage zu verwenden; es wird empfohlen, die Post-Methode zum Hinzufügen, Ändern oder Löschen von Daten zu verwenden;

Die von Baidu verwendete Get-Methode, da sie aus ersichtlich ist seine URL Out

3. Verstehen Sie, welche Frameworks, Template-Engines, Systeme usw. von PHP

Framework: Es gibt viele Frameworks, wie z. B. Zendframe, CI, Yii usw. Das, was wir gelernt haben, ist thinkphp

Template-Engines: Es gibt viele, die wir in Lehrbüchern enthalten haben

System: Es gibt viele, wie zum Beispiel Kangshengs Produkte (uchome, supesite, discuzX usw.), Empire System, DEDE(Dream Weaver), ecshop usw.

4. Welche Web-Frontend-Technologien beherrschen Sie? ?

Kompetentes Master-DIV+CSS-Webseitenlayout, JavaScript, jQuery-Framework, Photoshop-Bildverarbeitung

Was sind die Vorteile von AJAX?

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

6. Sicherheit ist für ein Programm von entscheidender Bedeutung. Bitte sagen Sie mir, auf welche Sicherheitsmechanismen wir während der Entwicklung achten sollten. ② Verhindern Sie die Remote-Übermittlung und filtern Sie spezielle Codes Verhindern Sie eine Überflutung der Registrierungsmaschine und verwenden Sie Verifizierungscodes. Wie kann bei der Entwicklung des Programms die Betriebseffizienz des Programms verbessert werden? Versuchen Sie, in der Abfrageanweisung kein Select * zu verwenden. Verwenden Sie weniger, um zu überprüfen, welches Feld verwendet wird. Die Abfrage kann durch eine weniger Fuzzy-Abfrage ersetzt werden. ③ Erstellen Sie häufig einen Cache im Programm verwendet;

Kann PHP mit anderen Datenbanken verwendet werden?

PHP ist natürlich auch mit MYSQL kompatibel mit anderen Datenbanken wie MSSQL. PHP verfügt über reservierte Funktionen für den Betrieb von MSSQL, die verwendet werden können, solange sie aktiviert sind

9 Heutzutage wird die dreischichtige Struktur von MVC häufig in der Programmierung übernommen . Auf welche drei Schichten bezieht sich MVC und was sind ihre Vorteile?

Die drei Schichten von MVC beziehen sich auf: Geschäftsmodell bzw. Ansicht, Controller, die Controller-Schicht ruft das Modell auf, um die Daten zu verarbeiten. und ordnet die Daten dann zur Anzeige der Ansichtsebene zu. Die Vorteile sind: ① Es kann eine Wiederverwendbarkeit des Codes erreicht und Coderedundanz vermieden werden. ② Die Implementierungscodes von M und V sind getrennt, sodass dasselbe Programm unterschiedliche Darstellungen verwenden kann

10. Verständnis des JSON-Datenformats?

() ist ein leichtes Datenaustauschformat, das JSON-Datenformat ist festgelegt und kann für Daten verwendet werden Übertragung in mehreren Sprachen

Die Funktion in PHP, die das JSON-Format verarbeitet, ist

(

), die eine JSON-Formatzeichenfolge akzeptiert und sie in eine PHP-Variable, den Parameter json, umwandelt ist eine Zeichenfolge im -Format, die dekodiert werden soll.

Wenn der Parameter

ist, wird JSON anstelle von JavaScript Object Notation zurückgegeben;

json_decode: Konvertieren Sie PHP-Variablen in das JSON-Format string $json [, bool $assoc ]json string11 , Print, echo, print_r Was ist der Unterschied? assocTRUEarray① Sowohl echo als auch print können eine Ausgabe durchführen. Der Unterschied besteht darin, dass echo keine Funktion ist und keinen Rückgabewert hat, während print eine Funktion mit a ist Rückgabewert, also Relativ gesehen ist es schneller, nur Echo auszugeben, und print_r wird normalerweise zum Drucken relevanter Informationen zu Variablen verwendet, die normalerweise beim Debuggen verwendet werden. object

② print dient zum Drucken einer Zeichenfolge

Json_encode③ print_r dient zum Drucken eines zusammengesetzten Typs wie eines Array-Objekts

12 Was ist der Unterschied zwischen SESSION und COOKIE?

①Speicherort: Sitzung wird auf dem Server gespeichert, Cookie wird im Browser gespeichert

②Sicherheit: Sitzungssicherheit ist höher als Cookie

③Sitzung ist eine 'Sitzungsdienst', bei Verwendung muss der Dienst aktiviert werden, Cookies müssen nicht aktiviert werden, Sie können ihn direkt verwenden

13. Was sind die allgemeinen Funktionen von PHP zum Verarbeiten von Arrays (Focus auf die 'Parameter' und den 'Rückgabewert' der Funktion)

①array() erstellt ein Array; ②count() gibt die Anzahl der Elemente im Array zurück; ③array_push() fügt ein oder mehrere Elemente am Ende des Arrays ein (push); ④array_column() gibt den Wert einer einzelnen Spalte zurück im Eingabearray;⑤array_combine() erstellt ein neues Array durch Zusammenführen zweier Arrays;⑥array_reverse() gibt das Array in umgekehrter Reihenfolge zurück;⑦array_unique() entfernt doppelte Werte im Array;⑧in_array() prüft, ob der angegebene Wert im vorhanden ist array;

14. Häufig verwendete Funktionen in PHP zur Verarbeitung von Zeichenfolgen? (Konzentrieren Sie sich auf die „Parameter“ und „Rückgabewerte“ der Funktion)

①trim() Entfernt den Leerraum auf beiden Seiten der Zeichenfolge und anderer Zeichen.

②substr_replace() ersetzt einen Teil einer Zeichenfolge durch eine andere Zeichenfolge.

③substr_count() zählt, wie oft eine Teilzeichenfolge vorkommt eine Zeichenfolge;

④substr() gibt einen Teil der Zeichenfolge zurück;

⑤strtolower() konvertiert die Zeichenfolge in Kleinbuchstaben;

⑥strtoupper() konvertiert die Zeichenfolge in Großbuchstaben ;

⑦strtr() konvertiert bestimmte Zeichen in einer Zeichenfolge;

⑧strrchr() findet das letzte Vorkommen einer Zeichenfolge in einer anderen Zeichenfolge;

⑨strstr() findet das letzte Vorkommen eines Strings in einem anderen Zeichen Das erste Vorkommen im String (Groß-/Kleinschreibung beachten); strlen() gibt die Länge des Strings zurück (Groß-/Kleinschreibung beachten); print( ) Gibt einen oder mehrere Strings aus; „explosive()“ bricht den String in ein Array auf; „strip_tags()“ entfernt HTML-Tags aus einem String; Funktionen

15. Häufig verwendete Funktionen in PHP zur Zeitverarbeitung? (Konzentrieren Sie sich auf die „Parameter“ und „Rückgabewerte“ der Funktion)

date_default_timezone_get()Return auf die Standardzeitzone umzustellen.

 date_default_timezone_set()Legen Sie die Standardzeitzone fest.

 date()Ortszeit/-datum formatieren.

 getdate()Datums-/Uhrzeitinformationen zurückgeben.

 gettimeofday()Gibt die aktuellen Zeitinformationen zurück.

 microtime()Gibt die Anzahl der Mikrosekunden in der aktuellen Zeit zurück.

 mktime()Gibt den Unix-Zeitstempel eines Datums zurück.

 strtotime()Parsen Sie alle Datums- oder Zeitbeschreibungen in englischem Text in einen Unix-Zeitstempel.

 time()Gibt den Unix-Zeitstempel der aktuellen Zeit zurück.

16. Was sind die häufig verwendeten Funktionen für PHP zur Verarbeitung von Datenbanken (Konzentrieren Sie sich auf die „Parameter“ und „Rückgabewerte“ der Funktion)

Bitte beachten Sie Lesen Sie das PHP-Handbuch sorgfältig durch.

 17 Häufig verwendete Funktionen zum Betreiben von Dateien in PHP 🎜>

 ①Datei öffnen; ④ Datei lesen; ⑥ Datei erstellen usw. Dieses Element wird häufig zum Erstellen eines Caches verwendet oder statische Dateien bei der Arbeit. Bitte lesen Sie das PHP-Handbuch sorgfältig durch

 

18 Werte' der Funktion)

 ①Öffnen Sie das Verzeichnis; ③ Erstellen Sie das Verzeichnis; ⑥ Schließen Sie das Verzeichnis usw Wichtig. Es wird häufig zum Erstellen oder Löschen von Verzeichnissen für hochgeladene Dateien sowie zum Erstellen oder Löschen von Verzeichnissen für zwischengespeicherte und statische Seiten verwendet. Bitte lesen Sie das PHP-Handbuch und prüfen Sie es sorgfältig

19 ist mvc? Welche Beziehung besteht zwischen ihnen?

Antwort: MVC ist ein Entwicklungsmodell, das hauptsächlich in drei Teile unterteilt ist: m (Modell), das das Modell ist, ist für den Betrieb verantwortlich von Daten; v (Ansicht), das ist die Ansicht, ist für die Anzeige von Front- und Backends verantwortlich; c (Controller), das ist der Controller, ist für die Geschäftslogik verantwortlich

20 ist oop?

Antwort: oop ist objektorientierte Programmierung. Ein Grundprinzip von OOP besteht darin, dass ein Computerprogramm aus einem einzigen besteht Einheiten oder Objekte, die von Unterprogrammen verwendet werden

21. OOP hat drei Hauptmerkmale

1 Die Implementierung der Klasse ist getrennt und nur einige Schnittstellen und Methoden bleiben für den externen Kontakt erhalten, oder nur einige Methoden werden für die Verwendung durch Entwickler verfügbar gemacht. Daher müssen Entwickler nur darauf achten, wie diese Klasse verwendet wird, anstatt sich um den spezifischen Implementierungsprozess zu kümmern. Dies kann eine MVC-Arbeitsteilung und -Zusammenarbeit erreichen und auch gegenseitige Abhängigkeiten zwischen Programmen effektiv vermeiden und eine lose Kopplung zwischen Codemodulen erreichen.

2. Vererbung: Unterklassen erben automatisch die Attribute und Methoden ihrer übergeordneten Klasse und können neue Attribute und Methoden hinzufügen oder einige Attribute und Methoden neu schreiben. Vererbung erhöht die Wiederverwendbarkeit von Code. PHP unterstützt nur die Einzelvererbung, was bedeutet, dass eine Unterklasse nur eine übergeordnete Klasse haben kann.

3. Polymorphismus: Die Unterklasse erbt die Attribute und Methoden von der übergeordneten Klasse und schreibt einige der Methoden neu. Obwohl mehrere Unterklassen dieselbe Methode haben, können von diesen Unterklassen instanziierte Objekte nach dem Aufruf derselben Methoden völlig unterschiedliche Ergebnisse erzielen. Polymorphismus erhöht die Flexibilität der Software.

22. Was ist Smarty und welche Rolle spielt es?

Antwort: Antwort 1: Smarty ist eine in PHP geschriebene Template-Engine und auch die bekannteste PHP in der Branche.

Es trennt den Logikcode und die externe Anzeige und bietet eine einfach zu verwaltende und zu verwendende Methode, um den gemischten PHP-Logikcode vom HTML-Code zu trennen

Antwort 2: Smarty ist PHP Eines davon Als eines der bekanntesten Engine-Frameworks in China verwendet unser Unternehmen das TP-Framework mit gekapselten Smarty-Vorlagen und wurde daher nicht allein verwendet.

Antwort 3: Smarty ist eine Template-Engine, und das Wichtigste ist, dass sie es ist verfügt über Vorlagen, die zwischengespeichert werden können. Im Allgemeinen werden Vorlagen erstellt, um eine statische Seite zu erstellen, dann einige dynamische Teile mit beliebigen Trennzeichen darin auszuschneiden, dann die Vorlagendatei in PHP zu öffnen, die Werte in den Trennzeichen zu ersetzen und sie dann auszugeben, Sie Sie können sich den Vorlagenteil in PHPLib ansehen.

23. Was sind die Vorteile des TP-Frameworks?

Antwort: Das TP-Framework ist ein von den Chinesen selbst entwickeltes Framework sind relativ vollständig und können im Inland verwendet werden, relativ einfach und bequem, und es ist kostenlos und Open Source

Was sind die Merkmale von TP?

Antwort:

1. Die Zuordnung mehrerer Tabellen ist sehr praktisch.

2. Integrieren Sie Smarty-Vorlagen um Front- und Backend zu trennen

3. Unterstützt mehrere Caches. Die technische Unterstützung für Memcache ist sehr gut

4. Benennungsstandards, Modelle, Ansichten und Controller folgen strikt den Namensregeln Eins-zu-eins durch Benennung

5. Unterstützt mehrere URL-Modi

6. Integrierte Ajax-Rückgabemethode, einschließlich XML, JSON, HTML usw.

7 . Anwendungserweiterung, Klassenbibliothekserweiterung, Treibererweiterung usw. unterstützen.

24. TP Großbuchstabenfunktionen im Framework?

Antwort: U: Zusammenstellung der URL

A: Interner Instanziierungscontroller

S: Cache-Verarbeitung

R: Rufen Sie die Operationsmethode eines Controllers auf

D: Instanziieren Sie eine benutzerdefinierte Modellklasse

M: Instanziieren Sie eine grundlegende Modellklasse

I: Parameter abrufen

L: Aktuelle Sprache festlegen oder abrufen

C: Konfiguration festlegen oder abrufen, speichern

25. Bitte stellen Sie das Laravel-Framework vor?

Antwort: Die Designideen des Laravel-Frameworks sind relativ weit fortgeschritten und eignen sich sehr gut für die Anwendung verschiedener Entwicklungsmodelle Framework, es hat alles für Sie vorbereitet. Ohne Composer wird PHP definitiv untergehen

Das größte Merkmal und die größte Stärke des Laravel-Frameworks ist, dass es auch die relativ neuen Funktionen von PHP integriert B. verschiedene Designmuster, IOC-Muster, Abhängigkeitsinjektion usw.

Was hat Laravel?

Antwort: Antwort 1:

1. Leistungsstarker Rest-Router: Er kann mit einer einfachen Callback-Funktion aufgerufen werden und verbindet Controller und Router schnell

2.artisan: Befehlszeilentool, automatisiert viele manuelle Aufgaben

3 Vorlagen, die die Entwicklung und Verwaltung von Ansichten vereinfachen

4.Blade-Vorlage: Schnelleres Rendern

5.ORM betreibt die Datenbank

6.Migration: verwaltet Datenbank und Versionskontrolle

7. Die Testfunktion ist auch sehr leistungsfähig

8.Composer ist auch ein Highlight

Antwort 2: Das Laravel-Framework führt Fassade, Abhängigkeitsinjektion, IOC-Modus und vieles mehr ein Entwurfsmuster usw.

27. Bitte beschreiben Sie kurz die Optimierung der Datenbank?

Antwort: Die Datenbankoptimierung kann aus vier Aspekten optimiert werden:

1. Strukturelle Schicht: Der Webserver verwendet einen Lastausgleichsserver, der MySQL-Server verwendet Master-Slave-Replikation und Lese-/Schreib-Trennung

2. Von der Speicherschicht: Verwenden Sie eine geeignete Speicher-Engine und verwenden Sie drei Normalformen

3. Von der Entwurfsebene aus: Verwenden Sie Partitionen, um Tabellen und Indizes zu unterteilen, und verwenden Sie geeignete Feldattribute für Tabellenfelder. Aktivieren Sie den MySQL-Cache

4 . SQL-Anweisungsebene: Wenn die Ergebnisse gleich sind, verwenden Sie SQL-Anweisungen, die effizient und schnell auszuführen sind

28. Wie löst man die Ausnahmebehandlung? >Antwort: Eine Ausnahme auslösen: Mit try...catch wird der Ausnahmecode in den Try-Codeblock eingefügt. Wenn die Ausnahme nicht ausgelöst wird, wird eine Ausnahme ausgelöst. Der Catch-Codeblock fängt die Ausnahme ab und erstellt ein Objekt mit den Ausnahmeinformationen. $e->getMessage() gibt eine ungewöhnliche Fehlermeldung aus.

Derzeit wird der Warenkorb hauptsächlich über Cookies, Sitzungen oder in Kombination mit Datenbanken implementiert. Lassen Sie uns ihre Mechanismen und Funktionen analysieren.

1. Cookie

2. Ein Cookie ist eine vom Server generierte und auf dem Client gespeicherte Information. Es definiert einen Mechanismus für einen Webserver zum Speichern und Zurückgeben von Informationen auf dem Client. Die Cookie-Datei enthält vom Server festgelegte Domänen-, Pfad-, Lebensdauer- und Variablenwerte. Wenn der Benutzer in Zukunft denselben Webserver besucht, sendet der Browser das Cookie unverändert an den Server. Dadurch, dass der Server die ursprünglich auf dem Client gespeicherten Informationen lesen kann, kann die Website den Besuchern eine Reihe von Annehmlichkeiten bieten, z. B. die Identifizierung der Identität des Benutzers bei Online-Transaktionen und verhindert, dass Benutzer in Situationen, in denen Sicherheitsanforderungen bestehen, wiederholt ihren Namen und ihr Passwort eingeben müssen nicht hoch, und die Startseite der Portal-Website anpassen, Anzeigen ausrichten und mehr. Mithilfe der Eigenschaften von Cookies können die Funktionen von WEB-Anwendungen erheblich erweitert werden. Da die Cookies vom Server angepasst werden können, kann nicht nur die Verbindung zwischen dem Server und dem Client hergestellt werden, sondern auch der durch die Einkaufsinformationen generierte Cookie-Wert auf dem Client gespeichert und dadurch die Warenkorbfunktion realisiert. Die Verwendung einer Cookie-basierten Methode zur Implementierung einer Sitzung oder eines Warenkorbs zwischen dem Server und dem Browser weist die folgenden Merkmale auf:

3. Cookies werden auf dem Client gespeichert und belegen nur sehr wenige Ressourcen Die Größe jedes Cookies beträgt 4 KB, was ausreicht, um die Anforderungen des Warenkorbs zu erfüllen und auch die Belastung des Servers zu reduzieren

4. Cookies sind in den Browser integriert und einfach zu verwenden. Selbst wenn der Benutzer das Browserfenster versehentlich schließt, gehen die Informationen im Warenkorb nicht verloren, solange sie innerhalb der durch das Cookie definierten Gültigkeitsdauer liegen.

5 Cookies sind keine ausführbaren Dateien wird in keiner Weise ausgeführt und verursacht keine Viren oder Angriffe auf das System des Benutzers.

6 Der Browser des Benutzers muss andernfalls Cookies unterstützen der Warenkorb wird ungültig;

7. Es gibt eine Debatte darüber, dass Cookies die Privatsphäre der Besucher verletzen, weshalb einige Benutzer die Cookie-Funktion des Geräts deaktivieren.

2. Sitzung

1. Sitzung ist eine weitere Möglichkeit, einen Warenkorb zu implementieren. Die Sitzung bietet die Funktion zum Speichern und Verfolgen der Statusinformationen des Benutzers, sodass die vom aktuellen Benutzer in der Sitzung definierten Variablen und Objekte zwischen Seiten gemeinsam genutzt werden können, andere Benutzer in der Anwendung jedoch nicht darauf zugreifen können und Cookies besteht darin, dass die Sitzung die privaten Informationen des Benutzers während der Sitzung auf der Serverseite speichert und so die Sicherheit erhöht. Nachdem der Server eine Sitzung generiert hat, generiert der Client eine Sitzungs-ID-Identifikationsnummer und speichert sie auf dem Client, um die Synchronisierung mit dem Server aufrechtzuerhalten. Diese Sitzungs-ID ist schreibgeschützt. Wenn der Client die Cookie-Funktion deaktiviert, wird die Sitzung zwischen Seiten übertragen, indem Parameter an die URL angehängt oder implizit in einem Formular übermittelt werden usw. Daher ist es sicherer und effektiver, Sitzungen zur Verwaltung von Benutzern zu verwenden.

2. In ähnlicher Weise kann der Warenkorb auch mithilfe der Sitzung implementiert werden. Die Merkmale dieser Methode sind:

1. Die Sitzung verwendet einen neuen Mechanismus, um die Synchronisierung mit dem Client aufrechtzuerhalten zu den Client-Einstellungen.

2. Im Vergleich zu Cookies werden die Sitzungsinformationen sicherer gespeichert >

3. Sitzungen beanspruchen Serverressourcen und erhöhen die Belastung des Servers. Insbesondere wenn viele gleichzeitige Benutzer vorhanden sind, wird eine große Anzahl von Sitzungen generiert, was sich auf die Leistung des Servers auswirkt Da die in Sitzungen gespeicherten Informationen vertraulicher sind und in Form von Dateien vorliegen, werden sie auf dem Server gespeichert, sodass immer noch Sicherheitsrisiken bestehen.

Bei den oben genannten Fragen handelt es sich um gesammelte Interviewfragen. Ich hoffe, dass sie für alle hilfreich sind. Danke!

Weitere verwandte Fragen finden Sie auf der chinesischen PHP-Website:

https://www.php.cn/

Das obige ist der detaillierte Inhalt vonEinige klassische Interviewfragen im Jahr 2018. 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