8 PHP-Interviewfragen, die Ihre PHP-Kenntnisse widerspiegeln

黄舟
Freigeben: 2023-03-17 09:40:01
Original
2066 Leute haben es durchsucht

Es gibt ständig wechselnde PHP-Interviewfragen. Ich habe Ihnen auch die schriftlichen Testfragen, grundlegenden technischen Fragen, Thinkphp-Fragen und fehleranfälligen Fragen in den PHP-Interviewfragen vorgestellt. Das sind alles Fragen, denen wir in Vorstellungsgesprächen begegnen werden. Ich habe kürzlich etwas sehr Interessantes entdeckt, das von vielen Unternehmen gestellt wird und das PHP-Niveau widerspiegeln kann Ihr Verständnis von PHP!

1. Was ist das Ausführungsergebnis von

<?php echo count(strlen(“http://php.net”)); ?>
Nach dem Login kopieren

?

Antwort: 1

Erklärung: count(var) wird verwendet, um die Anzahl der Elemente in einem Array oder Objekt zu zählen. Wenn var null oder ein leeres Array ist, ist das Ergebnis 0. Wenn var eine normale Variable ist, wird 1 zurückgegeben. Unter normalen Umständen wird die Anzahl der Elemente oder Attribute in var zurückgegeben.

2. Worauf sollten Sie bei der Verwendung der list()-Funktion achten?

Antwort: list() ist eine grammatikalische Struktur. List($array) wird verwendet, um Elementen in einem Array schnell einigen Variablen zuzuweisen. Bitte beachten Sie bei der Verwendung, dass $array ein Indexarray sein muss und der Indexwert bei 0 beginnt.

3. Bitte erläutern Sie, welche Funktionen betroffen sind, nachdem der Safe_Mode in php.ini aktiviert wurde.


Antwort: Safe_mode ist der abgesicherte Modus von PHP. Nach dem Einschalten wirkt es sich hauptsächlich auf Systemvorgänge, Dateien, Berechtigungseinstellungen und andere Methoden aus und wird hauptsächlich für den Umgang mit Webshells verwendet. Im Folgenden sind einige der betroffenen Funktionen aufgeführt:

ckdir,move_uploaded_file,chgrp,parse_ini_file,
chown,rmdir,copy,rename,fopen,require,highlight_file,show_source,include,symlink,link,touch,mkdir,unlink,exec,
shell_exec,pasathru,system,popen
Nach dem Login kopieren

Es ist zu beachten, dass „safe_mode“ in PHP 5.3 und höher veraltet ist und in PHP 5.4 und höher diese Funktion vollständig entfernt wurde.

4. Bitte erläutern Sie die Hauptfunktionen sowohl des POSIX-Stils als auch der Prel-kompatiblen regulären Ausdrücke.

Antwort: POSIX-Stil: Passen Sie den regulären Ausdruck „ereg“ an und ersetzen Sie „ereg_replace“

Prel-Stil: Passen Sie den regulären Ausdruck „preg_match“ an und ersetzen Sie „preg_replace“

Preg_match ist besser als die Ausführung von „ereg“ Schneller Effizienz, preg_replace ist schneller als ereg_replace.

5. Wie führe ich ein PHP-Skript unter dem Befehl aus (schreibe auf zwei Arten) und wie übergebe ich Parameter an das PHP-Skript?

Antwort: Der erste Weg: Geben Sie zuerst das PHP-Installationsverzeichnis ein und führen Sie php path/filename.php aus.

Beispiel:

php my_script.php     php -f  "my_script.php"
Nach dem Login kopieren

Zweiter Weg: php -r „php script“ (die Start- und Endzeichen von php müssen nicht hinzugefügt werden).

Beispiel:

php -r "print_r(get_defined_constants());"
Nach dem Login kopieren

Parameter an PHP-Skript übergeben:

Erster Weg: php -r "var_dump($argv); -- -h ( Hinweis: Wenn die zu übergebenden Parameter mit - beginnen, müssen Sie das Parameterlistentrennzeichen -- verwenden, um die Parameter korrekt zu übergeben.

Zweite Methode: test.php-Dateicode:

#!/usr/bin/php  <?phpvar_dump($argv);?>
Nach dem Login kopieren
<> ./test.php -h -- foo (Fügen Sie #!/usr/bin/php am Anfang der PHP-Datei hinzu, um Parameter direkt zu übergeben, die mit - beginnen)

6. php5 Was sind die magische Methoden? Bitte geben Sie Beispiele für die jeweilige Verwendung.

Antwort:

1. construction(): wird automatisch aufgerufen, wenn ein Objekt instanziiert wird.

2. destruct(): Wird automatisch aufgerufen, wenn das Objekt zerstört wird oder die Skriptausführung endet.

3. call(): Diese Funktion wird ausgeführt, wenn eine Methode aufgerufen wird, die auf dem Objekt nicht vorhanden ist.

4. get(): Führen Sie diese Funktion aus, wenn Sie die nicht vorhandenen Attribute des Objekts abrufen.

5. set(): Führen Sie diese Funktion aus, wenn Sie ein Attribut festlegen, das im Objekt nicht vorhanden ist.

6. isset(): Diese Funktion wird ausgeführt, wenn festgestellt wird, ob ein bestimmtes Attribut des Objekts vorhanden ist.

7. unset(): Führen Sie diese Funktion aus, wenn Sie ein Attribut des Objekts zerstören.

8. toString(): Führen Sie diese Funktion aus, wenn Sie das Objekt als String ausgeben.

9. clone(): Diese Funktion wird beim Klonen eines Objekts ausgeführt.

10. autoload(): Wenn Sie ein Objekt instanziieren und die Klasse nicht existiert, führen Sie diese Funktion aus

, um die Klasse automatisch zu laden .

11. sleep(): Wird vor der Serialisierung aufgerufen und kann die zu serialisierenden Objektattribute angeben.

12. Wakeup: Wird vor der Initialisierung aufgerufen und kann die Initialisierung des Objekts durchführen.

13. set_state(): Wird aufgerufen, wenn var_export aufgerufen wird. Verwenden Sie den Rückgabewert von set_state als Rückgabewert von var_export.

14. invoke(): Diese Methode wird ausgeführt, wenn das Objekt als Funktion verwendet wird.

7. Beschreiben Sie kurz den Garbage-Collection-Mechanismus von PHP.

Antwort: Variablen in PHP werden im Variablencontainer zval gespeichert. Zusätzlich zum Speichern von Variablentypen und -werten verfügt zval auch über die Felder is_ref und refcount. refcount gibt die Anzahl der Elemente an, die auf die Variable verweisen, und is_ref gibt an, ob die Variable einen Alias ​​hat. Wenn refcount 0 ist, wird der Variablencontainer recycelt. Wenn der Refcount eines zval größer als 0 ist, nachdem er um 1 reduziert wurde, wird er in den Garbage-Puffer eingetragen. Wenn der Puffer den Maximalwert erreicht, durchläuft der Recycling-Algorithmus den ZVAL, um festzustellen, ob es sich um Müll handelt, und gibt ihn frei.

8. Verwenden Sie PHP, um eine bidirektionale Warteschlange zu implementieren.

Die Warteschlange ist ein linearer Tisch, der nach dem First-In-First-Out-Prinzip funktioniert.

Einseitige Warteschlange: kann nur am Kopf betreten und am Ende verlassen werden .

Zwei-Wege-Warteschlange: Auf Kopf und Ende kann zugegriffen werden

class DuiLie {
private $array = array();//声明空数组
public function setFirst($item){
return array_unshift($this->array,$item);//头入列
}
public function delFirst(){
return array_shift($this->array);//头出列
}
public function setLast($item){
return array_push($this->array,$item);//尾入列
}
public function delLast(){
return array_pop($this->array,$item);//尾出列
}
public function show(){
var_dump($this->array);//打印数组
}
public function Del(){
unset($this->array);//清空数组
}
}
Nach dem Login kopieren

Zusammenfassung:

Die in diesem Artikel vorgestellten PHP-Interviewfragen sind alle Fragen, denen wir in der Entwicklungsarbeit häufig begegnen. Diese Fragen können also widerspiegeln, wie viel Sie über PHP wissen und wie viel Sie tatsächlich entwickelt haben, also ist es sehr Intuitive PHP-Interviewfragen, ich hoffe, sie werden Ihnen hilfreich sein!

Verwandte Empfehlungen:

php-Interview Analyse der objektorientierten Fragen in der Frage


Die 10 fehleranfälligsten PHP-Interviewfragen


Teilen von PHP-Kerntechnologiefragen in PHP-Interviewfragen


Eine Zusammenfassung schriftlicher Testfragen in PHP Interviewfragen


Das obige ist der detaillierte Inhalt von8 PHP-Interviewfragen, die Ihre PHP-Kenntnisse widerspiegeln. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!