Heim  >  Artikel  >  Backend-Entwicklung  >  Antworten auf Interviewfragen

Antworten auf Interviewfragen

不言
不言Original
2018-04-21 11:48:302024Durchsuche

Bei dem Inhalt dieses Artikels geht es um die Beantwortung von Interviewfragen. Jetzt kann ich ihn mit allen teilen, die ihn benötigen


1. Vorteile von Ajax
Ajax ist eine asynchrone Übertragungstechnologie, die über Javascript oder das JQuery-Framework implementiert werden kann, um eine teilweise Aktualisierung zu erreichen, was den Druck auf den Server verringert und verbessert die Effizienz des Servers.

2. Die MVC-Dreischichtstruktur wird heutzutage häufig in der Programmierung verwendet sind seine Vorteile?

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 Dann werden die Daten
zur Anzeige auf die Ansichtsebene abgebildet.
Die Vorteile sind:
1. kann erreicht werden Wiederverwendbarkeit des Codes und Vermeidung von Coderedundanz
2. Der Implementierungscode von M und V ist getrennt, sodass dasselbe Programm unterschiedliche Ausdrücke verwenden kann
3 echo(), Der Unterschied zwischen print() und print_r()
Antwort: echo ist eine PHP-Anweisung, print und print_r sind Funktionen, Anweisungen haben keinen Rückgabewert und Funktionen können einen haben Rückgabewerte
print() kann nur den Wert einfacher Typvariablen (wie int, string) ausdrucken
print_r() kann den Wert ausdrucken von komplexen Typvariablen (wie Array, Objekt)
echo gibt einen oder mehrere Strings aus



4 Was ist eine Transaktion, Eigenschaften u

Antwort: Transaktion: Es handelt sich um eine Reihe von Datenbankoperationen und die grundlegende logische Einheit von Datenbankanwendungen.

Transaktionsmerkmale:

(1) Atomizität: das heißt Unteilbarkeit, Entweder Alle Transaktionen werden ausgeführt oder keine.
(2) Konsistenz. Die Ausführung einer Transaktion wandelt die Datenbank von einem korrekten Zustand in einen anderen korrekten Zustand um
(3) Isolation. Bevor die Transaktion ordnungsgemäß festgeschrieben wird, dürfen Änderungen der Daten durch die Transaktion keiner anderen Transaktion zur Verfügung gestellt werden,
(4) Persistenz. Nachdem die Transaktion korrekt übermittelt wurde, werden ihre Ergebnisse dauerhaft in der Datenbank gespeichert. Auch wenn nach der Übermittlung der Transaktion weitere Fehler auftreten, werden die Verarbeitungsergebnisse der Transaktion gespeichert.
                                                                                                                 Die SQL-Anweisungen der Arbeitseinheit werden gruppiert. Wenn eine Anweisungsoperation fehlschlägt, schlägt die gesamte Operation fehl.
Die Operation wird auf den vorherigen Stand zurückgesetzt. Betriebszustand, sonst befindet sich ein Knoten darauf. Um sicherzustellen, dass etwas entweder ausgeführt oder nicht ausgeführt wird, können Transaktionen verwendet werden. Um eine Gruppe von Anweisungen
als Transaktion zu betrachten, müssen Sie den ACID-Test bestehen, nämlich Atomizität, Konsistenz, Isolation und Haltbarkeit.

5. Was ist ein Schloss?
Antwort: Wenn eine Transaktion ein Datenobjekt bearbeitet, sendet sie zunächst eine Anfrage an das System, um es zu sperren. Nach dem Sperren führt die Transaktion das Datenobjekt
aus Mit einer gewissen Kontrolle können andere Transaktionen dieses Datenobjekt nicht aktualisieren, bevor die Transaktion die Sperre aufhebt.

Grundlegende Sperrtypen: Sperren umfassen Sperren auf Zeilenebene und Sperren auf Tabellenebene
5 Indizierter Effekt? Und welche Vor- und Nachteile hat es?

Antwort: Ein Index ist eine spezielle Abfragetabelle, die die Datenbanksuchmaschine verwenden kann, um den Datenabruf zu beschleunigen.
Indizes können eindeutig sein. Durch das Erstellen eines Index können Sie eine einzelne Spalte oder mehrere Spalten angeben.
Der Nachteil besteht darin, dass dadurch die Geschwindigkeit der Dateneingabe verlangsamt und auch die Größe der Datenbank erhöht wird.
6. Unterschied zwischen der InnoDB-Typ-Engine vom MyISAM-Typ:
Der MyISAM-Typ unterstützt keine Transaktionen und Tabellensperren und ist anfällig für Fragmentierung Die Lese- und Schreibgeschwindigkeit ist schneller und der InnoDB-Typ unterstützt Transaktionen, Zeilensperren und Wiederherstellungsfunktionen nach Abstürzen. Die Lese- und Schreibgeschwindigkeiten sind langsamer als bei MyISAM.
7. PHP-Funktionsstandardmodifikator
statisch öffentlich

8 🎜>Was sind die Merkmale der Objektorientierung?                                                                                                                 Wenn es 4 Aspekte sind, fügen Sie hinzu: Abstraktion.
Folgende Erläuterung dient dem Verständnis:
Kapselung:
Kapselung ist die Grundlage dafür, dass Softwarekomponenten eine hervorragende Modularität aufweisen,
Das Ziel der Kapselung besteht darin, eine hohe Kohäsion und geringe Kopplung von Softwarekomponenten zu erreichen und die Auswirkungen von Änderungen zu verhindern, die durch Programmabhängigkeiten verursacht werden.
 
                                                                                                                                          🎜>
Der von der Klasse definierte Inhalt wird als eigener Inhalt verwendet, und einige neue Inhalte können hinzugefügt werden, oder die ursprüngliche Methode kann geändert werden, um sie für spezielle Anforderungen besser geeignet zu machen ist Vererbung. Vererbung ist ein Mechanismus für Unterklassen zum automatischen Austausch von Daten und Methoden der übergeordneten Klasse. Dabei handelt es sich um eine Beziehung zwischen Klassen, die die Wiederverwendbarkeit und Skalierbarkeit von Software verbessert.
                                                                                                           Der ausgegebene Methodenaufruf wird nicht während der Programmierung, sondern während der Ausführung des Programms bestimmt, d. h., auf welches Klasseninstanzobjekt eine Referenzvariable verweist. > Die implementierte Methode In welcher Klasse die Variablen ausgegeben werden, muss während der Ausführung des Programms ermittelt werden.

Zusammenfassung:
Bei der Abstraktion geht es darum, die Ähnlichkeiten und Gemeinsamkeiten einiger Dinge herauszufinden und diese dann in eine Klasse einzuteilen. Diese Klasse berücksichtigt nur die Ähnlichkeiten und Gemeinsamkeiten dieser Dinge
und ignoriert diese Aspekte die für das aktuelle Thema und Ziel irrelevant sind, und konzentrieren sich auf die Aspekte, die für das aktuelle Ziel relevant sind. Wenn Sie beispielsweise eine Ameise und einen Elefanten sehen und sich vorstellen können, wie ähnlich sie sind, handelt es sich um Abstraktion.
9.
Wie funktioniert die __autoload()-Methode? Antwort: Die Grundvoraussetzung für die Verwendung dieser magischen Funktion ist, dass der Dateiname der Klassendatei mit dem Namen der Klasse übereinstimmen muss.

Wenn das Programm zum Instanziieren einer bestimmten Klasse ausgeführt wird und die Klassendatei nicht vor der Instanziierung eingeführt wird, wird die Funktion __autoload() automatisch ausgeführt.
Diese Funktion findet den Pfad dieser Klassendatei basierend auf dem Namen der instanziierten Klasse. Wenn festgestellt wird, dass diese Klassendatei im Pfad dieser Klassendatei vorhanden ist,
Führen Sie include oder require aus, um die Klasse zu laden, und das Programm wird dann weiter ausgeführt. Wenn die Datei in diesem Pfad nicht vorhanden ist, wird eine Fehlermeldung angezeigt.
Durch die Verwendung der automatisch geladenen Magic-Funktion entfällt die Notwendigkeit, viele Include- oder Require-Funktionen zu schreiben.

10. Wie ist das Verhalten in tp3? Vor der Aktion ausgeführtes Verhalten
Verhalten: Auf dem Systemkern sind viele Label-Erweiterungsbits gesetzt, und jede Label-Position kann nacheinander ihr eigenes unabhängiges Verhalten ausführen; Durch die integrierten Verhaltenserweiterungen werden Systemfunktionen komplettiert, und alle Verhaltenserweiterungen sind austauschbar und additiv.

11. Wie aktiviere ich den Debugging-Modus? Welche Vorteile bietet der Debug-Modus?

Antwort: Das Aktivieren des Debugging-Modus ist sehr einfach. Sie müssen nur eine Zeile Konstantendefinitionscode zur Eintragsdatei hinzufügen:

// Debugging-Modus aktivieren
define('APP_DEBUG', true);

Nach Abschluss der Entwicklungsphase und Bereitstellung für In der Produktionsumgebung müssen Sie nur den Debug-Modus löschen und den Code definieren, um in den Bereitstellungsmodus zu wechseln.
Nach dem Einschalten des Debugging-Modus lädt das System zunächst die Standard-Debugging-Konfigurationsdatei des Systems und dann die Debugging-Konfigurationsdatei des Projekts. Die Vorteile des Debugging-Modus sind:
1.
Aktivieren Sie die Protokollierung, alle Fehlermeldungen und Debugging-Informationen werden detailliert aufgezeichnet, um das Debuggen zu erleichtern 2.
Deaktivieren Sie das Vorlagen-Caching, Vorlagenänderungen können sofort wirksam werden 3.
SQL-Protokolle aufzeichnen, um die SQL-Analyse zu erleichtern 4.
Feld-Caching deaktivieren, Änderungen an Datentabellenfeldern werden vom Cache nicht beeinflusst; 5. Überprüfen Sie die Dateigröße genau (auch für Windows-Plattformen), um Probleme bei der Linux-Bereitstellung im Voraus zu erkennen.
6. kann bequem in verschiedenen Phasen des Entwicklungsprozesses verwendet werden, einschließlich der Entwicklung , Tests und Demonstrationen sowie alle anderen erforderlichen Situationen. Im Anwendungsmodus können unabhängige Projektkonfigurationsdateien konfiguriert werden.
12.
Was sind die URL-Muster in TP? Welches ist die Standardeinstellung?

Antwort: ThinkPHP unterstützt vier URL-Modi, die durch Festlegen des URL_MODEL-Parameters definiert werden können, einschließlich Normalmodus, PATHINFO, REWRITE und Kompatibilitätsmodus.  
Der Standardmodus ist: PATHINFO-Modus, setzen Sie URL_MODEL auf 1
13.Was ist der Unterschied zwischen Kompilierung und Caching in Smarty

Der Kompilierungsprozess von Smarty besteht darin, die Vorlage zu nehmen und die darin enthaltenen Tags durch den entsprechenden PHP-Code zu ersetzen. Tatsächlich handelt es sich um den Prozess des Mischens von PHP und HTML
Der Cache von Smarty Der Cache von Smarty muss manuell aktiviert werden. Nachdem die kompilierte Datei ausgeführt wurde, wird gleichzeitig eine statische HTML-Seite generiert.
Bei einem erneuten Besuch wird auf die HTML-Seite zugegriffen Datei, daher ist sie in Bezug auf die Effizienz höher
13.Was ist der Smarty-Caching-Mechanismus?

Wenn das Caching aktiviert ist, generiert smarty gleichzeitig eine statische HTML-Seite. Wenn diese nicht innerhalb der eingestellten Zeit abläuft,
wenn Sie Besuchen Sie uns noch einmal. Sie greifen auf die HTML-Datei zu, wodurch die Notwendigkeit zum Lesen der Datenbank verringert wird und die Effizienz höher ist.
14. Wie kann bei der Entwicklung des Programms die Betriebseffizienz des Programms verbessert werden?
                                                                                                                                                ; 4.
Indizes in Datentabellen erstellen;         5.
Cache für häufig im Programm verwendete Daten generieren;
Das JSON-Datenformat ist festgelegt.
Kann von vielen Sprachen zum Übertragen von Daten verwendet werden                                                                                                                                             , bool $assoc ] ),
Akzeptiert eine JSON-Formatzeichenfolge und konvertiert sie in eine PHP-Variable.
Der Parameter json ist ein Zeichen im JSON-Zeichenfolgenformat, das als Zeichenfolge dekodiert werden soll. assoc Wenn dieser Parameter TRUE ist, wird ein Array anstelle eines Objekts zurückgegeben

Json_encode: Konvertieren Sie PHP-Variablen in das JSON-Format

16. Prinzip der Sitzungssteuerung:

http ist ein zustandsloses Protokoll, dieses Protokoll kann die Verbindung zwischen nicht aufrechterhalten zwei Transaktionen. Wenn ein Benutzer eine Seite anfordert und dann eine andere Seite anfordert, kann http uns nicht mitteilen, dass die beiden Anforderungen von derselben Variablen stammen. Die Idee der Sitzungssteuerung besteht darin, eine Variable auf der Website verfolgen zu können. Wenn wir die Variable verfolgen können, können wir den Benutzer unterstützen und je nach Autorisierung und Benutzeridentität unterschiedliche Inhalte und verschiedene Seiten anzeigen.

17. Was machen die PHP-Upload-Dateien move_upload_file und is_uploaded_file?
move_upload_file verschiebt die hochgeladene Datei an einen neuen Speicherort
is_uploaded_file ermittelt, ob die Datei per HTTP POST hochgeladen wurde

18 >Die Speicher-Engine der Datenbank MySQL, der Unterschied zwischen Myisam und Innodb.

Der erste Typ:
MyISAM ist eine nicht-transaktionale Speicher-Engine; geeignet für Anwendungen mit häufigen Tabellensperren, keine Deadlocks; , kleine Parallelität
innodb ist eine Speicher-Engine, die Transaktionen unterstützt. Sie eignet sich für Anwendungen mit vielen Einfügungs- und Aktualisierungsvorgängen. Wenn das Design angemessen ist, handelt es sich um eine Zeilensperre (der größte Unterschied). ist auf der Ebene der Sperre); Geeignet für große Datenmengen und große Parallelität.
Der zweite Typ:
Der MyISAM-Typ unterstützt keine Transaktionen und Tabellensperren, ist anfällig für Fragmentierung, erfordert häufige Optimierung und weist schnellere Lese- und Schreibgeschwindigkeiten auf. während der InnoDB-Typ Transaktionen, Zeilensperren und Wiederherstellungsfunktionen nach Abstürzen unterstützt. Die Lese- und Schreibgeschwindigkeiten sind langsamer als bei MyISAM.
19. Der Unterschied zwischen char und varchar

Antwort: char ist ein Zeichentyp mit fester Länge viel Platz, da es langen Raum zuweist.
Varchar ist ein Zeichentyp mit variabler Länge. Er nimmt genauso viel Platz ein wie der Inhalt, wodurch effektiv Platz gespart werden kann.
Da der Typ varchar variabel ist und sich die Datenlänge ändert, muss der Server zusätzliche Vorgänge ausführen, sodass die Effizienz geringer ist als die des Typs char.
20. Als Speicher des Veröffentlichungssystems wird die Erweiterung um mehr als 50.000 Elemente pro Tag voraussichtlich drei Jahre dauern um es zu optimieren?

a. Entwerfen Sie eine gut gestaltete Datenbankstruktur, ermöglichen Sie teilweise Datenredundanz und versuchen Sie, Join-Abfragen zu vermeiden, um die Effizienz zu verbessern.
b. Wählen Sie den entsprechenden Tabellenfelddatentyp und die Speicher-Engine aus und fügen Sie die Indizes entsprechend hinzu.
c. Master-Slave-Lese- und Schreibtrennung der MySQL-Bibliothek.
d. Suchen Sie nach regulären Tabellen, um die Datenmenge in einer einzelnen Tabelle zu reduzieren und die Abfragegeschwindigkeit zu verbessern.
e. Caching-Mechanismus hinzufügen, z. B. Memcached, APC usw.
f. Seiten, die sich nicht häufig ändern, erzeugen statische Seiten.
g. Schreiben Sie effizientes SQL. Beispielsweise wird SELECT * FROM TABEL in SELECT field_1, field_2, field_3 FROM TABLE geändert.

21. Objektorientiertes Verständnis

Objektorientiertes OO = Objektorientierte Analyse OOA + Objektorientiertes Design OOD + Objektorientierte Programmierung OOP
Die beliebte Erklärung ist, dass „alles ein Objekt ist“ und Alle Dinge werden als betrachtet. Jedes Objekt (Einheit) kann unabhängig sein.
Sie können ihre eigenen Funktionen erfüllen, anstatt wie C in Funktionen unterteilt zu werden.
Die aktuellen reinen OO-Sprachen sind hauptsächlich Java und C#. PHP und C++ unterstützen auch OO.
Der zweite Typ:
Objektorientiert ist eine Entwurfsmethode für Programme, die dazu beiträgt, die Wiederverwendbarkeit des Programms zu verbessern und die Programmstruktur klarer zu machen. Hauptmerkmale: Kapselung, Vererbung, Polymorphismus.        
22. Beschreiben Sie kurz die Zugriffsrechte privater, geschützter und öffentlicher Modifikatoren.
  Antwort: privat: Auf private Mitglieder kann nur innerhalb der Klasse zugegriffen werden.
protected: geschützte Mitglieder, zugänglich innerhalb der Klasse und in geerbten Klassen.
Öffentlich: Öffentliche Mitglieder, vollständig öffentlich, keine Zugangsbeschränkungen.
23. Was sind die Konzepte und Unterschiede zwischen abstrakten Klassen und Schnittstellen?

Antwort:
Abstrakte Klasse:
Es handelt sich um eine spezielle Klasse, die nicht instanziiert werden kann übergeordnete Klasse für andere Klassen. Wird mit dem Schlüsselwort abstract deklariert.
Schnittstelle:
Es handelt sich um eine spezielle abstrakte Klasse und eine spezielle Klasse, die über die Schnittstelle deklariert wird.
(1) Die Operationen abstrakter Klassen werden durch das Vererbungsschlüsselwort „extens“ implementiert, während die Verwendung von Schnittstellen durch das Schlüsselwort „implements“ implementiert wird.
(2) Es gibt Datenelemente in der abstrakten Klasse, die eine Datenkapselung realisieren können, aber die Schnittstelle verfügt nicht über Datenelemente.
(3) Abstrakte Klassen können Konstruktoren haben, aber Schnittstellen haben keine Konstruktoren.
(4) Methoden abstrakter Klassen können mit privaten, geschützten und öffentlichen Schlüsselwörtern geändert werden (abstrakte Methoden können nicht privat sein), während Methoden in Schnittstellen nur mit öffentlichen Schlüsselwörtern geändert werden können.
(5) Eine Klasse kann nur von einer abstrakten Klasse erben und eine Klasse kann mehrere Schnittstellen gleichzeitig implementieren.
(6) Abstrakte Klassen können Implementierungscodes für Mitgliedsmethoden haben, Schnittstellen können jedoch keine Implementierungscodes für Mitgliedsmethoden haben.
Der zweite Unterschied:
1. Eine Klasse mit abstrakten Methoden wird als abstrakte Klasse bezeichnet. Es müssen nicht unbedingt nur abstrakte Methoden verwendet werden abstraktes Schlüsselwort.
                                                                                                                                                                                                                  
23.
Wann werden Konstruktoren und wann Destruktoren verwendet? Der Konstruktor (die Methode) ist der Abschluss der Objekterstellung erste Methode, die vom Objekt automatisch aufgerufen wird.

Sie existiert in jeder deklarierten Klasse und ist eine spezielle Member-Methode.
Die Funktion besteht darin, einige Initialisierungsaufgaben auszuführen. In PHP wird __construct() zum Deklarieren der Konstruktormethode verwendet, und es kann nur eine deklariert werden.
Der Destruktor (Methode) ist genau das Gegenteil des Konstruktors. Er ist die letzte Methode, die vom Objekt automatisch aufgerufen wird, bevor es zerstört wird.

Es wird verwendet, um bestimmte Vorgänge auszuführen, bevor ein Objekt zerstört wird, z. B. das Schließen von Dateien und das Freigeben von Speicher.
24.
Was ist Smarty, Vor- und Nachteile Smarty ist eine in PHP geschriebene PHP-Template-Engine Verwenden Sie ein PHP-Programm, um den Künstler zu trennen,

, damit der Programmierer den logischen Inhalt des Programms ändern kann, ohne das Seitendesign des Künstlers zu beeinträchtigen,
Die Programmlogik des Programms wird dadurch nicht beeinträchtigt, was besonders bei Kooperationsprojekten mit mehreren Personen wichtig ist. (Es ist auch einfach, mehrere Programmstile zu entwickeln)

 Intelligente Vorteile

1. Schnell: im Vergleich zu anderen Template-Engines.
                                                                                                                 
3 Caching-Technologie: Sie kann die HTML-Datei, die der Benutzer schließlich sieht, in einer statischen HTML-Seite zwischenspeichern
4. Plug-in-Technologie : smarty kann Plug-Ins anpassen.
 
Wo Smarty nicht geeignet ist
 
1. Inhalt, der aktualisiert werden muss Echtzeit. Beispielsweise müssen die Daten wie bei der Lagerbestandsanzeige regelmäßig aktualisiert werden
2. Kleine Projekte. Kleine Projekte, die aufgrund ihrer Einfachheit sowohl Künstler als auch Programmierer erfordern
25. Allgemeine HTTP-Statuscodes:

200 – Die Anfrage war erfolgreich
301 – Die Ressource (Webseite usw.) wurde dauerhaft an eine andere URL maskiert
302 – Die vorübergehende Übertragung war erfolgreich und der angeforderte Inhalt wurde erfolgreich übertragen an den neuen Standort gezogen
401 - Der Vertreter ist nicht autorisiert.
403 – Zugriff verboten.
404 – Die angeforderte Ressource (Webseite usw.) existiert nicht
500 – Interner Serverfehler
505 – Intern Serverfehler

27. Was ist der Unterschied zwischen der Wertübergabe und der Referenzübergabe in PHP und wann wird sie verwendet?

Variablen werden standardmäßig immer nach Wert zugewiesen, d. h. wenn der Wert eines Ausdrucks einer Variablen zugewiesen wird,
Der Wert des gesamten Ausdrucks wird der Zielvariablen zugewiesen, was bedeutet, dass, wenn einer Variablen eine weitere Änderung gegeben wird
Eine Variable                                                                        Das bedeutet, dass die neue Variable einfach
__references__ (mit anderen Worten: sie wird zu einem Alias ​​oder Zeiger auf) auf die ursprüngliche Variable. Die geänderte neue Variable wirkt sich auf die ursprüngliche Variable aus und umgekehrt. Um die Referenzzuweisung zu verwenden, fügen Sie einfach ein &-Symbol zur zuzuweisenden
-Variable (Quellvariable) hinzu.
Objektstandard Bei größeren Daten ist es besser, vorbeizugehen Referenz, die Speicheraufwand sparen kann
Der zweite Typ:
Wertübergabe: Alle Änderungen am Wert innerhalb des Funktionsumfangs werden außerhalb der Funktion ignoriert

Spiegelt diese Änderungen wider

Vorteile und Nachteile: Bei der Wertübergabe muss PHP den Wert kopieren. Insbesondere bei großen Zeichenfolgen und Objekten
Dies wird ein sehr kostspieliger Vorgang sein. Bei der Referenzübergabe ist kein Kopieren des Werts erforderlich, was sich positiv auf die Leistungsverbesserung auswirkt.

28. Der Unterschied zwischen doppelten und einfachen Anführungszeichen

1. Doppelte Anführungszeichen zur Interpretation von Variablen und einfache Anführungszeichen Interpretieren Sie keine Variablen
2. Fügen Sie einfache Anführungszeichen in die doppelten Anführungszeichen von ein. Wenn eine Variable in den einfachen Anführungszeichen steht, wird die Variable erklärt
3. Dem Variablennamen nach den doppelten Anführungszeichen muss folgen. Es muss ein Sonderzeichen enthalten, das keine Zahl, kein Buchstabe oder Unterstrich ist,
oder die Variable einschließen, andernfalls wird der Teil nach dem Variablennamen verwendet als Ganzes behandelt werden, was zu einem Syntaxfehler führt
4 . Doppelte Anführungszeichen interpretieren Escape-Zeichen, einfache Anführungszeichen interpretieren keine Escape-Zeichen, sondern interpretieren ' und \
5 . kann dafür sorgen, dass einfache Anführungszeichen so weit wie möglich einfache Anführungszeichen verwenden, und einfache Anführungszeichen sind effizienter als doppelte Anführungszeichen sollten höher sein (
, da doppelte Anführungszeichen zuerst durchlaufen werden müssen, um festzustellen, ob Variablen vorhanden sind in ihnen vor dem Betrieb, während einfache Anführungszeichen nicht beurteilt werden müssen)

29. Wo ist der Cache des Benutzerverhaltensprotokolls? MongoDB
1.
Häufig verwendete superglobale Variablen
$_GET ----->Get-Übertragungsmethode
$_POST ----->Post-Übertragungsmethode
$_REQUEST ----->Kann Werte sowohl in der Get- als auch in der Post-Methode empfangen
                                                                                                        🎜>
$_SERVER ----->Systemumgebungsvariablen

werden bei der Sitzungssteuerung $_COOKIE verwendet -----> ->Umgebungsvariablen
2.
Der Unterschied zwischen dem Versionskontrolltool SVN und Git
1. Git ist verteilt, svn ist zentralisiert. SVN muss einen zentralen Server haben, Git benötigt ihn nicht.
Git kann verwendet werden ohne Internet, aber SVN muss online sein. Git erleichtert den Wechsel zwischen Zweigen.
5.
Die Integrität von Git ist besser als bei SVN
3.
Der Unterschied zwischen isset() und empty()Isset bestimmt, ob eine Variable vorhanden ist. Wenn eine der Variablen nicht vorhanden ist, gibt sie „Falsch“ zurück, um festzustellen, ob die Variable leer ist. Wenn sie leer ist, wird „Falsch“ zurückgegeben gibt true zurück.
4. Split-Strings auflösen und implodieren und Arrays verbinden
5.Welche Prozesse durchläuft file_get_contents? 🎜>6. Was ist der Unterschied zwischen make und make install unter Linux? Kompilieren und installieren Sie
7. Können Schnittstellen in objektorientierter Umgebung Schnittstellen erben? Ja, aber die Schnittstelle kann die Klasse nicht erben
8 Der Unterschied zwischen Memcache und Redis
1. Datentyp

Redis hat Reichhaltige Datentypen. Unterstützt Set-List- und andere Typen
Memcache unterstützt einfache Datentypen, bei denen der Client komplexe Objekte selbst verarbeiten muss
2. Persistenz
Redis unterstützt persistente Datenspeicherung
Memcache unterstützt keine persistente Datenspeicherung
3. Verteilter Speicher
Redis unterstützt Master-Slave-Replikationsmodus
Memcache kann konsistentes Hashing verwenden, um verteilt zu arbeiten
4. Wertgrößen sind unterschiedlich
Memcache ist ein Speicher Cache, Schlüssel Die Länge beträgt weniger als 250 Zeichen und der Speicher eines einzelnen Elements beträgt weniger als 1 MB, was nicht für virtuelle Maschinen geeignet ist
5. Die Datenkonsistenz ist unterschiedlich
redis verwendet ein Single-Threaded-Modell, um sicherzustellen, dass die Daten in der richtigen Reihenfolge übermittelt werden.
Memcache muss CAS verwenden, um die Datenkonsistenz sicherzustellen. CAS (Check and Set) ist ein Mechanismus zur Sicherstellung der Parallelitätskonsistenz und gehört zur Kategorie der „optimistischen Sperre“. Das Prinzip ist sehr einfach: Versionsnummer nehmen, operieren, Versionsnummer vergleichen, wenn sie konsistent ist, operieren, wenn Geben Sie keine Operation auf >9. Was ist Serialisierung? Was ist die Funktion?
Formatieren Sie die Zeichenfolge und konvertieren Sie sie in ein Array oder Objekt
serialize() serialize
1. Unterschiede zwischen TP, Lavarel und Yii [TP YII CI Framework-Vergleich – CSDN-Blog](http://blog.csdn.net/pangchengyong0724/article/details/49246847)
2. Konstruktion von CI Prinzip? Welche Version verwenden Sie (3.1.7 stabile Version)

Bevor das Programm ausgeführt wird, lädt das Framework Hooks, hauptsächlich um festzustellen, ob die Konfiguration Hooks aktiviert hat,
Wenn aktiviert, laden Sie die Konfigurationsdatei config/hoos.php und die Hook-Konfigurationsinformationen. Anschließend ruft das Framework hoosk auf, indem es die Methode „hooks->call“ aufruft Die Hook-Klasse analysiert die Konfiguration über call_hook. Rufen Sie die Funktion über run_hook in der Hook-Klasse auf.
Erklären Sie, was PHP ist.
ist die Abkürzung der englischen Hypertext-Vorverarbeitungssprache PHP: Hypertext Preprocessor.
PHP ist eine eingebettete HTML-Sprache, eine Skriptsprache, die serverseitig ausgeführte HTML-Dokumente einbettet
Der Stil der Sprache ähnelt weitgehend der C-Sprache gebraucht.
5. Der Unterschied zwischen include und require
include Wenn die importierte Datei nicht existiert, wird versucht, die Ausführung fortzusetzen und eine Warnung zu melden.
Und require, wenn die importierte Datei nicht existiert, wird ein schwerwiegender Fehler gemeldet Ausführung fortsetzen.
6. Der Unterschied zwischen mysql_fetch_assoc und mysql_fetch_array

//mysql_fetch_array erhält eine Zeile aus der Ergebnismenge als assoziatives Array, ein numerisches Array , oder beides
//mysql_fetch_assoc – Holen Sie sich eine Zeile aus der Ergebnismenge als assoziatives Array

Diese beiden Funktionen geben ein Array zurück. Der Unterschied besteht darin Das von der ersten Funktion zurückgegebene Array ist Enthält nur Werte, wir können nur $row[0],$row[1], also können wir Daten mithilfe von Array-Indizes,
und dem von zurückgegebenen Array lesen MySQL_fetch_array() enthält sowohl den ersten Typ als auch die Form von Schlüssel-Wert-Paaren. Wir können die Daten wie folgt lesen (wenn die Datenbankfelder Benutzername und Passwort sind): $row['Benutzername']$row['Passwd ']
7. Kann die Sitzung in der Datenbank gespeichert werden?
 
Kann

8.Welche Funktion ist Serialisierung? Was ist das Format? Was soll zur Konvertierung verwendet werden?

serialize() serialisiert das Array in eine in geschweifte Klammern eingeschlossene Schlüsselwert-Strukturzeichenfolge

//unserialize() deserialisiert ein Array
11. Zurück zur vorherigen Seite go(-1)
12 Kann js Cookies betreiben? Ja, Cookie setzen: setcookie; Cookie abrufen: getcookie
Die Dollar$-Funktion ist in jQ gekapselt und repräsentiert jquery >

Zusammenfassung des PHP-Interviews

Das obige ist der detaillierte Inhalt vonAntworten auf Interviewfragen. 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