Heim > Schlagzeilen > Rekrutierungssaison 2017: Super Zusammenfassung der PHP-Interviewfragen!

Rekrutierungssaison 2017: Super Zusammenfassung der PHP-Interviewfragen!

大家讲道理
Freigeben: 2018-05-11 13:50:55
Original
21458 Leute haben es durchsucht

Es ist warm und es ist die jährliche IT-Rekrutierungssaison. Wie das Sprichwort sagt, gibt es drei Gold- und vier Silbermedaillen. Jedes Unternehmen sucht rekrutiert, und jeder, der einen Job sucht oder wechselt, sucht auch nach einem. Wenn Sie in ein gutes Unternehmen eintreten, sind Ihre Fähigkeiten das Wichtigste, aber Ihre Bewerbungsfähigkeiten dürfen nicht außer Acht gelassen werden. Auf der chinesischen Website von PHP sind umfassende PHP-Interviewfragen als Referenz zusammengefasst! (Rekrutierungssaison 2017: Wie sind PHP-Gehälter und -Leistungen?)

Grundlegende PHP-Interviewfragen

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

  • Doppelte Anführungszeichen interpretieren Variablen, einfache Anführungszeichen interpretieren keine Variablen

  • Fügen Sie einfache Anführungszeichen in doppelte Anführungszeichen ein. Wenn eine Variable vorhanden ist, muss die Variablenerklärung

  • Dem Variablennamen in doppelten Anführungszeichen muss ein Sonderzeichen folgen, bei dem es sich nicht um eine Zahl, einen Buchstaben oder einen Unterstrich handelt, oder die Variable muss in {} eingeschlossen werden, andernfalls wird der Teil nach dem Variablennamen als Ganzes behandelt, was zu Syntaxfehlern führt.

  • Einfache Anführungszeichen interpretieren keine Escape-Zeichen , aber interpretieren Sie ' und \

  • , um einfache Anführungszeichen so weit wie möglich zu verwenden. Einfache Anführungszeichen sind effizienter als doppelte Anführungszeichen (da doppelte Anführungszeichen zuerst durchlaufen werden müssen, um festzustellen). ob sie vor der Operation Variablen enthalten, während einfache Anführungszeichen nicht erforderlich sind)

2. Häufig verwendete superglobale Variablen (8)

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

  • $_POST ----->Übertragungsmethode posten

  • $_REQUEST ----->Kann Get- und Post-Werte auf zwei Arten empfangen


  • $GLOBALS -----> Alle Variablen werden im

  • $_FILES ----->Dateien hochladen mit

  • $_SERVER ----->System platziert Umgebungsvariablen


  • $_SESSION -----> Sitzungssteuerung wird verwendet

  • $ _COOKIE ----->Sitzung Wird bei der Steuerung von

3 verwendet. Der Unterschied zwischen POST-, GET-, PUT- und DELETE-Methoden in 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 lautet: Ressourcendeskriptor Netzwerk und Post, Get, Put und Delegate sind die Ressourcen, die hinzugefügt, gelöscht, geändert oder überprüft werden können!

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

Originalname der persönlichen Homepage

Zielzweck: Ermöglichen Sie Webentwicklern das schnelle Schreiben dynamisch generierter Webseiten. PHP bettet das Programm zur Ausführung in das HTML-Dokument ein, was viel effizienter ist als CGI, das die HTML-Bearbeitung vollständig generiert

HTML: Hypertext Markup Language

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

Ledov 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:

  • 1995.06.08 Öffentliche Veröffentlichung von PHP/FI

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

  • 1997 php3.0

  • 2000 php4.0

  • 2008 php5.0

  • Seitdem PHP6.0 löst die Unicode-Codierung nicht vollständig, es gibt im Grunde keine Anwendung in der Produktionslinie. Es handelt sich im Grunde nur um ein Konzeptprodukt. Viele Funktionen wurden in 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
  • Es kann dynamische Webseiten schneller ausführen Im Vergleich zu anderen Programmiersprachen bettet PHP Programme zur Ausführung in HTML-Dokumente ein >Unterstützt fast alle gängigen Datenbanken und Betriebssysteme
  • PHP kann C, C++ verwenden, um das Programm zu erweitern
  • PHP-Vorteile:
Open Source Code

Freiheit
  • Schnelligkeit
  • Starke plattformübergreifende
  • Hohe Effizienz
  • Grafikverarbeitung
  • Objekt -orientiert
  • Beruflicher Schwerpunkt
  • PHP-Technologieanwendung:
Statische Seitengenerierung

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 Engineer Front-End-Ingenieur

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

* 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() 判断一个变量的类型和长度,并输出变量的数值
Nach dem Login kopieren

Rekrutierungssaison 2017: Super Zusammenfassung der PHP-Interviewfragen!

Rekrutierungssaison 2017: Super Zusammenfassung der PHP-Interviewfragen!

Rekrutierungssaison 2017: Super Zusammenfassung der PHP-Interviewfragen!

Rekrutierungssaison 2017: Super Zusammenfassung der PHP-Interviewfragen!

Gemeinsame HTTP-Statuscodes: Rekrutierungssaison 2017: Super Zusammenfassung der PHP-Interviewfragen!

Rekrutierungssaison 2017: Super Zusammenfassung der PHP-Interviewfragen!

200 – Anfrage 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** – Information, vom Server empfangene Anfrage, erforderlich. Der Anforderer setzt den Vorgang fort

2** – Erfolg, der Vorgang wurde erfolgreich empfangen und verarbeitet
  • 3** – Weiterleitung, weitere Schritte sind erforderlich. Vorgang zum Abschließen der Anfrage
  • 4** – Clientfehler, die Anfrage enthält einen Syntaxfehler oder die Anfrage kann nicht abgeschlossen werden
  • 5** Serverfehler, der Server ist auf einen Fehler gestoßen Fehler bei der Verarbeitung der Anfrage
  • 8. Was sind magische Anführungszeichen
  • Magische Anführungszeichen sind Daten, die automatisch in das PHP-Skript eingegeben werden Escape, es ist am besten, 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:

10. Verwenden Sie diese Tools für die Versionskontrolle $_SERVER["REMOTE_ADDR"];或者getenv('REMOTE_ADDR')
cvs, svn, vss, gitip2long进行转换
11. Methoden zur Optimierung der Datenbankgethostbyname('www.baidu.com')

Wählen Sie die am besten geeigneten Feldattribute aus, reduzieren Sie die Breite der definierten Felder so weit wie möglich und versuchen Sie, die Felder auf NOTNULL zu setzen, z 'Provinz', 'Geschlecht' verwenden Sie am besten ENUM

Verwenden Sie Join (JOIN) anstelle von Unterabfrage
  • Verwenden Sie stattdessen Union (UNION). der manuell erstellten temporären Tabelle
  • Transaktionsverarbeitung
  • Tabelle sperren, Transaktionsverarbeitung optimieren
  • anwendbar zu Fremdschlüsseln, Sperrtabelle optimieren
  • 建立索引

  • 优化查询语句

12、是否使用过模板引擎?使用的模板引擎的名字是?

Smarty:Smarty算是一种很老的PHP模板引擎了,它曾是我使用这门语言模板的最初选择。虽然它的更新已经不算频繁了,并且缺少新一代模板引擎所具有的部分特性,但是它仍然值得一看。

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

  • 确认服务器硬件是否能够支持当前的流量

  • 数据库读写分离,优化数据表

  • 程序功能规则,禁止外部的盗链

  • 控制大文件的下载

  • 使用不同主机分流主要流量

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

  • require是无条件包含,也就是如果一个流程里加入require,无论条件成立与否都会先执行require,当文件不存在或者无法打开的时候,会提示错误,并且会终止程序执行

  • include有返回值,而require没有(可能因为如此require的速度比include快),如果被包含的文件不存在的化,那么会提示一个错误,但是程序会继续执行下去

注意:包含文件不存在或者语法错误的时候require是致命的,而include不是

  • require_once表示了只包含一次,避免了重复包含

15、谈谈mvc的认识

由模型、视图、控制器完成的应用程序,由模型发出要实现的功能到控制器,控制器接收组织功能传递给视图

16、 说明php中传值与传引用的区别,并说明传值什么时候传引用?

变量默认总是传值赋值,那也就是说,当将一个表达式的值赋予一个变量时,整个表达式的值被赋值到目标变量,这意味着:当一个变量的赋予另外一个变量时,改变其中一个变量的值,将不会影响到另外一个变量

php也提供了另外一种方式给变量赋值:引用赋值。这意味着新的变量简单的引用(换言之,成为了其别名或者指向)了原始变量。改动的新的变量将影响到原始变量,反之亦然。使用引用赋值,简单地将一个&符号加到将要赋值的变量前(源变量)

对象默认是传引用
对于较大是的数据,传引用比较好,这样可以节省内存的开销


17、isset、empty、is_null的区别

isset 判断变量是否定义或者是否为空

  变量存在返回ture,否则返回false
  变量定义不赋值返回false  unset一个变量,返回false
  变量赋值为null,返回false
Nach dem Login kopieren

empty:判断变量的值是否为空,能转换为false的都是空,为空返回true,反之返回false。

    "",0,"0",NULL,FALSE都认为为空,返回true
    没有任何属性的对象都认为是空
Nach dem Login kopieren

is_null:检测传入的值(值、变量、表达式)是否为null

    定义了,但是赋值为Null
    定义了,但是没有赋值    unset一个变量
Nach dem Login kopieren

18、前端调试的工具

  • Firefox的firebug

  • Chrome的开发工具

  • Emmet

  • JSON格式校验工具

19.    简单描述mysql中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响(从读写两方面)(新浪网技术部)

索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。
普通索引(由关键字KEY或INDEX定义的索引)的唯一任务是加快对数据的访问速度。
普通索引允许被索引的数据列包含重复的值。如果能确定某个数据列将只包含彼此各不相同的值,在为这个数据列创建索引的时候就应该用关键字UNIQUE把它定义为一个唯一索引。也就是说,唯一索引可以保证数据记录的唯一性。
主键,是一种特殊的唯一索引,在一张表中只能定义一个主键索引,主键用于唯一标识一条记录,使用关键字 PRIMARY KEY 来创建。
索引可以覆盖多个数据列,如像INDEX(columnA, columnB)索引,这就是联合索引。
索引可以极大的提高数据的查询速度,但是会降低插入、删除、更新表的速度,因为在执行这些写操作时,还要操作索引文件。

20.数据库中的事务是什么?

事务(transaction)是作为一个单元的一组有序的数据库操作。如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成,事务则提交,其修改将作用于所有其他数据库进程。如果一个操作失败,则事务将回滚,该事务所有操作的影响都将取消。ACID 四大特性,原子性、隔离性、一致性、持久性。

21. Verstehen Sie XSS-Angriffe? Wie kann man es verhindern?

XSS ist ein Cross-Site-Scripting-Angriff. Zunächst wird die Cross-Site-Scripting-Schwachstelle genutzt, um ein vom Angreifer erstelltes Skript in einem privilegierten Modus auszuführen, und dann wird das unsichere Activex-Steuerelement verwendet, um böswillige Verhaltensweisen auszuführen .
Verwenden Sie die Funktion htmlspecialchars(), um den übermittelten Inhalt zu filtern und die Sonderzeichen in der Zeichenfolge zu materialisieren.

22. Was verursacht SQL-Injection-Schwachstellen? Wie kann man es verhindern?

Ursache der SQL-Injection: Während des Programmentwicklungsprozesses haben Sie nicht auf das standardmäßige Schreiben von SQL-Anweisungen und das Filtern von Sonderzeichen geachtet, was dazu führte, dass der Client einige SQL-Anweisungen über globale Variablen POST übermitteln konnte und GET für die normale Ausführung.

Möglichkeiten, SQL-Injection zu verhindern:
  1. Einstellungen „magic_quotes_gpc“ und „magic_quotes_runtime“ in der Konfigurationsdatei aktivieren

  2. Beim Ausführen von SQL-Anweisungen verwenden addslashes konvertiert SQL-Anweisungen

  3. Versuchen Sie beim Schreiben von SQL-Anweisungen, doppelte und einfache Anführungszeichen nicht wegzulassen.

  4. Filtern Sie einige Schlüsselwörter in der SQL-Anweisung heraus: aktualisieren, einfügen, löschen, auswählen, *.

  5. Verbessern Sie Ihre Benennungsfähigkeiten für Datenbanktabellen und -felder und benennen Sie einige wichtige Felder entsprechend den Merkmalen des Programms, sodass sie schwer zu erraten sind.

  6. Setzen Sie „register_globals“ in der PHP-Konfigurationsdatei auf „off“ und deaktivieren Sie die globale Variablenregistrierung.

  7. Fehlermeldungen steuern und keine Fehlermeldungen ausgeben Browser. Fehlerinformationen in die Protokolldatei schreiben.

23. Was sind die wichtigsten Angriffsmethoden auf PHP-Websites?

  1. Befehlsinjektion

  2. Evaluierungsinjektion

  3. Client-Skript-Einfügung

  4. Cross Site Scripting (XSS)

  5. SQL-Injection

  6. Cross Site Request
    Forgeries, CSRF)

  7. Sitzungshijacking

  8. Sitzungsfixierung

  9. HTTP-Antwortaufteilung

  10. Sicherheitslücke beim Datei-Upload (Datei-Upload-Angriff)

  11. Verzeichnisdurchquerung (Verzeichnisdurchquerung)

  12. Remote-Inklusion-Angriff (Remote-Inklusion)

  13. Dynamische Variable
    Auswertung)

  14. URL-Angriff (URL-Angriff)

  15. Formularübermittlung gefälschtes Formular
    Einreichungen

  16. HTTP-Request-Spoofing-Angriff (gefälschte HTTP-Anfragen)

24. Was ist im Framework enthalten? Einzeleingang und mehrere Eingänge, Was sind die Vor- und Nachteile eines Einzeleingangs?

  1. Duokou erfüllt Benutzeranfragen, indem er auf verschiedene Dateien zugreift. Ein Webprogramm mit nur einem Eintrag leitet alle Anfragen an eine Skriptdatei weiter.

  2. Ein einziger Zugang erleichtert die Kontrolle von Berechtigungen und erleichtert Sicherheitsüberprüfungen bei http-Anfragen.
    Nachteile: Die URL sieht nicht so schön aus, vor allem nicht suchmaschinenfreundlich.

25. Für relationale Datenbanken ist die Indizierung ein sehr wichtiges Konzept:

a).
  1. Schneller Zugriff auf spezifische Informationen in der Datentabelle und Verbesserung der Abrufgeschwindigkeit

  2. Erstellen Sie einen eindeutigen Index, um die Einzigartigkeit jeder Datenzeile sicherzustellen die Datenbanktabelle sex.

  3. Beschleunigen Sie Tabellen und Verknüpfungen zwischen Tabellen

  4. Wenn Sie Gruppierungs- und Sortierklauseln für den Datenabruf verwenden, können Sie die Gruppierungs- und Sortierzeit erheblich verkürzen

b) Welche negativen Auswirkungen hat die Indizierung auf das Datenbanksystem?

Negative Auswirkung:
Das Erstellen und Verwalten von Indizes nimmt Zeit in Anspruch, und diese Zeit nimmt zu, wenn die Datenmenge zunimmt; nicht nur Tabellen müssen Daten belegen Speicherplatz: Jeder Index muss auch physischen Speicherplatz belegen. Wenn die Tabelle hinzugefügt, gelöscht oder geändert wird, muss der Index dynamisch verwaltet werden, was die Datenwartungsgeschwindigkeit verringert.

c). Was sind die Prinzipien für die Indizierung von Datentabellen?
  1. Erstellen Sie einen Index für die am häufigsten verwendeten Felder, um den Umfang der Abfrage einzugrenzen.

  2. Indizes für häufig verwendete Felder erstellen, die sortiert werden müssen

d) Unter welchen Umständen ist es unangemessen, einen Index zu erstellen?
  1. Es ist nicht angebracht, einen Index für Spalten zu erstellen, die selten an Abfragen beteiligt sind, oder für Spalten mit vielen doppelten Werten.

  2. Für einige spezielle Datentypen ist die Erstellung von Indizes nicht geeignet, z. B. Textfelder (Text) usw.

26. Beschreiben Sie kurz den Unterschied zwischen MyISAM und InnoDB in der MySQL-Datenbank

Das wichtigste Merkmal, das es von anderen Datenbanken unterscheidet, ist seine Plug-in-Tabellenspeicher-Engine. Denken Sie daran: Die Speicher-Engine basiert auf Tabellen, nicht auf Datenbanken.

Der Unterschied zwischen InnoDB und MyISAM:

InnoDB-Speicher-Engine: Hauptsächlich für OLTP-Anwendungen (Online Transaction Processing, Online-Transaktionsverarbeitung) ist es die erste ACID mit vollständiger Unterstützung Transaktionsspeicher-Engine (die erste Speicher-Engine von BDB, die Transaktionen unterstützt, hat die Entwicklung eingestellt).

Eigenschaften:

  • Reihensperrdesign, Unterstützung von Fremdschlüsseln

  • Unterstützt konsistente, nicht sperrende Lesevorgänge ähnlich dem Oracle-Stil (dh: Lesevorgänge generieren standardmäßig keine Sperren);

  • InnoDB wird es in a einfügen logischer Tabellenbereich und wird von InnoDB selbst verwaltet. Ab der MySQL 4.1-Version kann jede InnoDB-Speicher-Engine-Tabelle in einer unabhängigen ibd-Datei gespeichert werden.

  • InnoDB verwendet MVCC (Multi-Version Concurrency Control: Lesen blockiert das Schreiben und Schreiben). blockiert das Lesen nicht), um eine hohe Parallelität zu erreichen, und implementiert die 4 Isolationsstufen des SQL-Standards (die Standardeinstellung ist REPEATABLE-Stufe).

  • InnoDB bietet außerdem hohe Leistung und hohe Verfügbarkeit Funktionen wie Puffer einfügen, doppeltes Schreiben, adaptiver Hash-Index und Vorauslesen;

  • InnoDB verwendet eine Cluster-Methode, um Daten in der Reihenfolge zu speichern Primärschlüssel (wenn der Primärschlüssel beim Erstellen der Tabelle nicht explizit angegeben wird, generiert InnoDB für jede Zeile eine 6-Byte-ROWID und verwendet diese als Primärschlüssel). Die InnoDB-Tabelle verfügt über drei versteckte Felder: Zusätzlich zu der oben erwähnten 6-Byte-DB_ROW_ID gibt es auch eine 6-Byte-DB_TX_ID (Transaktions-ID) und eine 7-Byte-DB_ROLL_PTR (die auf die Adresse des entsprechenden Rollback-Segments zeigt). Dies kann über den Innodb-Monitor gesehen werden;

  • MyISAM-Speicher-Engine:
  • ist die offiziell von MySQL bereitgestellte Speicher-Engine, hauptsächlich für OLAP (Online Analytical Processing, Online-Analyse und Bearbeitung) von Anträgen.

Funktionen: Unterstützt keine Transaktionen, unterstützt jedoch Tabellen und Volltextindizes. Die Betriebsgeschwindigkeit ist hoch;

  • Die MyISAM-Speicher-Engine-Tabelle besteht aus MYD und MYI, MYD wird zum Speichern von Datendateien und MYI zum Speichern von Indexdateien verwendet. Die MySQL-Datenbank speichert nur ihre Indexdateien und das Zwischenspeichern der Datendateien wird dem Betriebssystem selbst überlassen.

    Ab der MySQL-Version 5.0 unterstützt MyISAM standardmäßig 256T Einzeltabellendaten >
  • 27. Erklären Sie den Unterschied zwischen MySQL-Outer-Joins, Inner-Joins und Self-Joins

  • Was ist zunächst ein Cross-Join:

    Cross-Join wird auch kartesisch genannt Das bedeutet, dass keine Bedingungen direkt mit allen Datensätzen in einer anderen Tabelle abgeglichen werden.

Inner Join

ist eine Querverbindung, bei der nur Datensätze, die die Bedingungen erfüllen, gemäß einer bestimmten Bedingung herausgefiltert werden. Datensätze, die die Bedingungen nicht erfüllen, werden nicht im Ergebnis angezeigt festgelegt, das heißt, innere Verknüpfungen verbinden nur übereinstimmende Linien.

Äußerer Join

Die Ergebnismenge enthält nicht nur Zeilen, die die Join-Bedingungen erfüllen, sondern auch alle Datenzeilen in der linken Tabelle, der rechten Tabelle oder

in beiden Tabellen drei Typen Die Situationen werden nacheinander als linker äußerer Join, rechter äußerer Join und vollständiger äußerer Join bezeichnet. Linker äußerer Join, auch linker Join genannt, die linke Tabelle ist die Haupttabelle, alle Datensätze in der linken Tabelle werden in der Ergebnismenge angezeigt, und die Datensätze, die in der rechten Tabelle nicht übereinstimmen, müssen trotzdem angezeigt werden angezeigt werden, rechts werden die entsprechenden Feldwerte mit NULL gefüllt. Rechter äußerer Join, auch rechter Join genannt. Die rechte Tabelle ist die Haupttabelle und alle Datensätze in der rechten Tabelle werden im Ergebnissatz angezeigt. Left-Joins und Right-Joins sind austauschbar und MySQL unterstützt derzeit keine vollständigen Outer-Joins. 28. Schreiben Sie die Namen von mehr als drei MySQL-Datenbankspeicher-Engines (Tipp: Groß- und Kleinschreibung beachten) MyISAM, InnoDB, BDB (BerkeleyDB), Merge, Memory (Heap), Beispiel, Federated,
Archive, CSV, Blackhole, MaxDB und mehr als ein Dutzend Engines

29. Was ist objektorientiert? Was sind die Hauptmerkmale? Was sind die wichtigsten Prinzipien?

Objektorientiert ist ein Entwurfsmuster für Programme, das dazu beiträgt, die Wiederverwendbarkeit von Programmen zu verbessern und die Programmstruktur klarer zu machen. Die Hauptmerkmale sind: Kapselung, Vererbung und Polymorphismus.

Fünf Grundprinzipien: Prinzip der offenen und geschlossenen Schnittstelle;


30. Was ist statisches Routing und was sind seine Merkmale?

Referenzantwort:

Statisches Routing wird von Systemadministratoren entworfen und erstellt Route, die in der Routing-Tabelle angegeben ist. Es eignet sich für Situationen, in denen die Anzahl der Gateways begrenzt ist und sich die Netzwerktopologie nicht häufig ändert. Der Nachteil besteht darin, dass es sich nicht dynamisch an Änderungen der Netzwerkbedingungen anpassen kann. Wenn sich die Netzwerkbedingungen ändern, muss die Routing-Tabelle vom Netzwerkadministrator geändert werden.

Dynamisches Routing wird dynamisch erstellt, indem Routing-Protokolle den Inhalt von Routing-Tabellen in Echtzeit aktualisieren, indem sie ihre eigenen Routing-Informationen austauschen. Dynamisches Routing kann die Topologie des Netzwerks automatisch lernen und die Routing-Tabelle aktualisieren. Der Nachteil besteht darin, dass das Routing von Broadcast-Aktualisierungsinformationen viel Netzwerkbandbreite beansprucht.

31. Haben Sie jemals den Memcache-Cache verwendet? Wenn ja, können Sie kurz beschreiben, wie er funktioniert?

Memcahce speichert alle Daten mithilfe einer Hash-Tabelle. Jedes Datenelement besteht aus einem Schlüssel und einem Wert. Wenn Sie auf einen bestimmten Wert zugreifen möchten, befolgen Sie zunächst die Schritte, um ihn zu finden. Wert und gibt das Ergebnis zurück.

Memcahce verwendet den LRU-Algorithmus, um abgelaufene Daten schrittweise zu löschen.

32. Die beliebtesten Ajax-Frameworks auflisten? Erklären Sie, was das Implementierungsprinzip von Ajax ist und welche Rolle JSON in Ajax spielt?

Beliebte Ajax-Frameworks sind jQuery, Prototype, Dojo und MooTools.

Das Arbeitsprinzip von Ajax besteht darin, dass der angegebene Speicherort einer Seite den gesamten Ausgabeinhalt einer anderen Seite laden kann. Auf diese Weise kann eine statische Seite auch die zurückgegebenen Dateninformationen aus der Datenbank abrufen. Daher ermöglicht die Ajax-Technologie, dass eine statische Webseite mit dem Server kommuniziert, ohne die gesamte Seite zu aktualisieren, wodurch die Wartezeit des Benutzers verkürzt wird, wodurch der Netzwerkverkehr reduziert und die Freundlichkeit des Kundenerlebnisses verbessert wird.
Bei der Verwendung von Ajax handelt es sich um die Datenübertragung, d sind die beiden am häufigsten verwendeten und JSON ist einfacher als XML.

33. Überblick über den Transaktions-Rollback-Mechanismus in Myql

Eine Transaktion ist eine vom Benutzer definierte Folge von Datenbankoperationen, die entweder alle oder keine ausgeführt werden Unter „Transaktions-Rollback“ versteht man das Rückgängigmachen der durch die Transaktion abgeschlossenen Aktualisierungsvorgänge an der Datenbank.

Wenn Sie zwei verschiedene Tabellen in der Datenbank gleichzeitig ändern möchten und es sich nicht um eine Transaktion handelt, kann es beim Ändern der ersten Tabelle zu einer Ausnahme während des Änderungsprozesses der zweiten Tabelle kommen Zu diesem Zeitpunkt kann nicht geändert werden. Nur die zweite Tabelle befindet sich noch in ihrem unveränderten Zustand, während die erste Tabelle geändert wurde. Wenn Sie sie als Transaktion festlegen und die erste Tabelle geändert wird und die zweite Tabelle abnormal geändert wird und nicht geändert werden kann, kehren die erste Tabelle und die zweite Tabelle in den unveränderten Zustand zurück. Dies wird als Transaktions-Rollback bezeichnet.


Die oben genannten 33 Fragen listen einige der Fragen im Vorstellungsgespräch von einfach bis schwierig auf. Für Studenten, die den Job wechseln möchten, kann das Durchgehen dieser Fragen ihre Leistung im Vorstellungsgespräch verbessern Die Erfolgsquote ist hoch, daher wünsche ich mir, dass jeder, der einen Job sucht, einen Job findet, mit dem er zufrieden ist!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage