Da viele Freunde nach PHP-Interviewfragen fragen, habe ich einige Interviewfragen für Sie zusammengestellt. Dies sind die aktuellsten Fragen im Jahr 2017. Ich hoffe, dass sie Ihnen dabei helfen, Ihre Fähigkeiten zu verbessern. Ich wünsche Ihnen auch, dass Sie in das Unternehmen einsteigen können, in dem Sie arbeiten möchten.
In diesem Artikel werden die neuesten PHP-Interviewfragen für 2017 gesammelt und detaillierter analysiert. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
1 Verwenden Sie PHP, um die Uhrzeit des Vortages im Format 2006-5-10 22:21:21 (2) auszudrucken Punkte)
$ a = date("Y-m-d H:i:s", strtotime("-1 day"));
print_r($a);
2. echo Der Unterschied zwischen (), print() und print_r() (3 Punkte)
echo und print sind keine Funktion, sondern eine Sprachstruktur
int print(string $arg), nur ein Parameter
echo arg1,arg2; kann mehrere Parameter ausgeben und void zurückgeben
echo und print können nur Zeichenfolgen ausgeben, keine Strukturen
print_r kann Strukturen ausdrucken
Zum Beispiel
$arr = array("key"=>"value");
print_r($arr);
3. Vorlagen, die die getrennte Nutzung von HTML und PHP ermöglichen (1 Punkt)
smarty, phplib
4. Welche Tools werden für die Versionskontrolle verwendet? (1 Punkt)
svn,git,cvs
5. 3 Punkte)
Englisch:
strrev($a)
Chinesischer oder anderer Text:
Chinesisch: GB2312, der Code wird mit GB2312 codiert
function reverse($str)
{
$ret = "
len=mbstrwidth( str,"GB2312");
for(i=0;i< len;i++)
{
arr[]=mbsubstr(str, $i, 1 , "GB2312");
}
return implode("", array_reverse($arr));
}
print_r(reverse(" Hallo"));
6. Methoden zur Optimierung der MYSQL-Datenbank. (4 Punkte, schreiben Sie mehr und erhalten Sie mehr)
Aussagen:
1 Verwenden Sie Indizes, um die Abfrageeffizienz zu steigern
2 Optimieren Sie Abfrageanweisungen und verbessern Sie die Indextrefferquote
Aspekte der Datenbank:
1 Erstellen Sie Unterdatenbanken und Tabellen, um die Speicher- und Erweiterungsmöglichkeiten der Datenbank zu verbessern
2 Verwenden Sie je nach Bedarf verschiedene Speicher-Engines
7. Die Bedeutung von PHP (geben Sie 1 Punkt)
Hypertext Preprocessing Language
Hypertext PreProcessor
8 , Was ist die Funktion für MYSQL, um die aktuelle Uhrzeit zu erhalten? und die Funktion zum Formatieren des Datums ist (2 Punkte)
CURRENT_TIMESTAMP()
DATE_FORMAT()
select DATE_FORMAT("2011- 11-21 10:10:10", "%Y-%m-%d");
9 Zeichenfolgen ohne verstümmelte Zeichen. (3 Punkte)
mb_substr($str, 1, 1, "GB2312");
10 Sie haben es verwendet? (1 Punkt)
svn
git
Haben Haben Sie jemals eine Template-Engine verwendet? (1 Punkt)
12 Beschreiben Sie kurz Ihre stolzeste Entwicklungsarbeit (4 Punkte). Problem? (4 Punkte)
1 Cache effektiv nutzen, um die Cache-Trefferquote zu erhöhen
2 Lastausgleich verwenden
3 CDN verwenden, um statische Dateien zu speichern und zu beschleunigen
14. Verwenden Sie PHP, um den Code zur Anzeige der Client-IP zu schreiben Server-IP 1 Punkt)
$_SERVER["REMOTE_ADDR"]
$_SERVER["SERVER_ADDR"]
15. Was ist Der Unterschied zwischen den include- und require-Anweisungen? ?Um zu vermeiden, dass dieselbe Datei mehrmals eingefügt wird, können Sie (?)-Anweisungen verwenden, um sie zu ersetzen? (2 Punkte)
Wenn es fehlschlägt:
include generiert eine Warnung, während require einen direkten Fehlerinterrupt generiert
require wird vor der Ausführung geladen
16. So ändern Sie die Überlebenszeit von SESSION (1 Punkt).
session_set_cookie_params
17. Es gibt eine Webseitenadresse, z. B. die Homepage des PHP-Labors: http://www.jb51.net/index.html, wie erhalte ich deren Inhalt ($1 Punkt)
curl
18. In HTTP 1.0 hat der Statuscode 401 die Bedeutung (?); „found“ wird zurückgegeben, die Header-Funktion kann verwendet werden und ihre Anweisung lautet (?); (2 Punkte)Unauthorized
header("HTTP/1.0 404 Not Found");
fast CGI:
21 Sprechen Sie über Ihr Verständnis von MVC (1 Punkt)
Modell: Datenstrukturschicht
Ansicht: Anzeige
Steuerung: Verarbeitungseingabe empfangen und beurteilen
22. Schreiben Sie die SQL der Namen der Um zehn Personen mit den meisten Beiträgen zu ermitteln, verwenden Sie die folgende Tabelle: Mitglieder (ID, Benutzername, Beiträge, Pass, E-Mail) (2 Punkte)
Wählen Sie die Top-10-ID und den Benutzernamen aus der Reihenfolge der Beiträge desc aus
23 Bitte erläutern Sie den Unterschied zwischen der Übergabe von Werten und der Übergabe von Referenzen in PHP. Wann soll ein Wert übergeben werden und wann eine Referenz? (2 Punkte)
& bedeutet die Übergabe per Referenz
Die Übergabe des Parameters per Referenz in der Funktion ändert den Parameter
Im Allgemeinen gibt es Wenn es mehr als eine gibt, können Sie die Verwendung von Referenzen
24 in Betracht ziehen. Welche Funktion hat error_reporting? 1 Punkt)
Legen Sie die Anzeigestufe des Fehlers fest
25 Bitte schreiben Sie eine Funktion, um zu überprüfen, ob das Format der E-Mail korrekt ist (2 Punkte)
$str = "jianfeng @126.com";
regex="([a−z0−9.−]+)@([da−z.−]+). ([a−z.]2,6) " ; //Regular
return preg_match(regex,str)
26. Beschreiben Sie kurz, wie Sie den Strom erhalten Pfad des Ausführungsskripts, einschließlich der erhaltenen Parameter. (2 Punkte)
$argc --Anzahl der Parameter abrufen
$argv --Parameterliste abrufen
27. So ändern Sie die Überlebenszeit von SESSION (1 Punkt)
session_set_cookie_params
28. Was ist die Popup-Dialogfeldfunktion eines JS-Formulars? Was ist die Funktion, um den Eingabefokus zu erhalten? (2 Punkte)
alert()
bestätigung()
prompt()
focus()
29. Was ist die Umleitungsfunktion von JS? (2 Punkte)
window.location.href="# "
30. Was ist der Unterschied zwischen foo() und @foo()? (1 Punkt)
@ steht für alle Warnungen und wird ignoriert
31. Wie deklariere ich eine Klasse namens „myclass“ ohne Methoden und Attribute? point)
class myclass
{
}
32. Wie instanziiere ich ein Objekt namens „myclass“ (1 point)
$myclass = new myclass( );
33. Wie greife ich auf die Attribute einer Klasse zu und stelle sie ein? (2 Punkte)
Klasse A
{
public $name = "A";
}
$a = new A();
n=a- >name;
print_r($n);
34 🎜>mysql_fetch_row
() undmysql_fetch_array Was ist der Unterschied? (1 Punkt)mysql_fetch_array() ist eine erweiterte Version von mysql_fetch_row(). Zusätzlich zum Speichern von Daten in einem Array als numerischen Index können Sie Daten auch als assoziativen Index speichern, indem Sie den Feldnamen als Schlüssel verwenden.
mysql_connect("localhost", "mysql_user", "mysql_password") oderdie("Verbindung konnte nicht hergestellt werden: " . mysql_error()) ;mysql_select_db
("mydb");$result = mysql_query("SELECT id, name FROM mytable");
while (row =mysqlfetcharray(result, MYSQL_ASSOC)) {printf ("ID: %s Name: %s", row["id"],row["name"]);}mysql_free_result
($result);35. Wofür wird die GD-Bibliothek verwendet? 1 Punkt)
36. Zeigen Sie einige Möglichkeiten auf, einen Teil des HTML-Codes in PHP einzugeben. (1 Punkt)
38. Welche der folgenden Optionen fügt John nicht zum Benutzerarray hinzu? (1 Punkt) b
39. Wird das folgende Programm eingegeben?
$num = 10;
function multiply(){
num=num * 10;
}
multiply();
echo $num;
?>
40. Schreiben Sie mit PHP eine einfache Abfrage, um alle Namen mit dem Namen „Zhang“ herauszufinden San" " Inhalt und drucken Sie ihn aus (2 Punkte)
Tabellenname Benutzername Tel. Inhalt Datum
Zhang San 13333663366 Hochschulabsolvent 2006-10-11
Zhang San 13612312331 Bachelor Absolvent 15.10.2006
Zhang Si 021-55665566 Absolvent der technischen Sekundarschule 15.10.2006
Bitte vervollständigen Sie den Code entsprechend der obigen Frage:
$mysql_db =mysql_connect("local ","root","pass");
@mysql_select_db("DB",$mysql_db);
$sql = sprintf("select * from %s wobei UserName = '% s'",
"Tabellenname",
"Zhang San");
values=mysqlquery(sql);
while(item= mysqlfetchqueryarray(values))
{
echo sprintf("Benutzername: %s, Telefonnummer %s, Ausbildung: %s, Abschlussdatum: %s",
item['UserName'],item['Tel'], item['Content'],item['Date']
);
}
41. Wie verwende ich die folgenden Klassen und erkläre, was sie bedeuten?
Klassentest{
function Get_test($num){
num=md5(md5(num)."En");
return $num;
}
}
$test = new test();
ret=test->Get_test(11);
print_r($ret);exit;
Verknüpfen Sie die 32-Bit-Zeichenfolge a1, die nach der MD5-Codierung von num generiert wurde, mit „En“ und führen Sie dann die MD5-Codierung erneut durch
42. Schreiben Sie das Format der SQL-Anweisung: Einfügen, Aktualisieren, Löschen (4 Punkte)
Tabellenname Benutzername Tel. Inhaltsdatum
Zhang San 13333663366 Hochschulabsolvent 2006-10-11
Zhang San 13612312331 Abschluss des Grundstudiums 2006-10-15
Zhang Si 021-55665566 Abschluss der technischen Sekundarschule 2006-10-15
(a) Es gibt eine neuer Datensatz (Xiao Wang 13254748547 Abschluss an der High School am 06.05.2007) Bitte verwenden Sie eine SQL-Anweisung, um der Tabelle etwas hinzuzufügen.
in die Tabelle einfügen Namenswerte('Xiao Wang', '13254748547', 'Abschluss an der Highschool school', '2007-05-06 ')
(b) Bitte verwenden Sie eine SQL-Anweisung, um Zhang Sans Zeit auf die aktuelle Systemzeit zu aktualisieren
Update Table Name Set Date = GETDATE() where Benutzername = „Zhang San“
(c) Bitte schreiben Sie, um alle Datensätze mit dem Namen Zhang Si zu löschen
Löschen von gibt an, wo Benutzername = „Zhang Si“
44. Der MySQ-Auto-Inkrementtyp (normalerweise Tabellen-ID-Feld) muss auf (?) Feld (1 Punkt) eingestellt werden
auto_increment
45. Schreiben Sie das Ausgabeergebnis des folgenden Programms (1 Punkt)
$b=201;
46 um zu erkennen, ob eine Variable gesetzt ist? (2 Punkte)
isset()
48 ('james', 'tom', 'symfony'); Bitte drucken Sie den Wert des ersten Elements (1 Punkt)
print_r($arr[0]) ;
reset($arr);
50, a='abcdef'; Bitte nehmen Sie den Wert von a heraus und drucken Sie den ersten Buchstaben aus (1 Punkt)
52. Bitte schreiben Sie den PHP5-Berechtigungskontrollmodifikator (3 Punkte)
öffentlich
53. Bitte schreiben Sie den Konstruktor und Destruktor von PHP5 (2 Punkte)
öffentliche Funktion construction()
}
Programmierfragen:
1. Schreiben Sie eine abzurufende Funktion Entfernen Sie die Dateierweiterung so effizient wie möglich von einer Standard-URL
Zum Beispiel: http://www.sina.com.cn/abc/de/fg.php?id=1 Sie müssen PHP oder entfernen. php
$url = "http://www.sina.com.cn/abc/ de/fg.php?id=1";arr=parseurl(url);pathArr=pathinfo(arr['path']);print_r( $pathArr['extension']);
3. Schreiben Sie eine Funktion zur Berechnung der relativen Pfade zweier Dateien
Für Beispiel: $a = '/a/b/c/d/e.php';
$b = '/a/b/12/34/c.php';
//Erhalte den relativen Pfad des Pfades relativ zu conpath
function sGetRelativePath(path,conpath)
{
pathArr=explode("/",path);
conpathArr=explode("/",conpath);
$dismatchlen = 0;
for(i=0;i < count(pathArr);i++)
{
if(conpathArr[i] ! = pathArr[i])
{
dismatchlen=count(pathArr) - $i;
arrLeft=arrayslice(pathArr, $i);
break;
}
}
ret=strrepeat("../" ,dismatchlen).implode("/", $arrLeft);
return $ret;
}
print_r(sGetRelativePath(b,a));
3. Schreiben Sie eine Funktion, die alle Dateien und Unterordner in einem Ordner durchlaufen kann.
function aGetAllFile($folder)
{
$aFileArr = array();
if(is_dir($folder))
{
handle=opendir(folder);
while((file=readdir(handle)) != = false)
{
//Wenn ja oder.., überspringen
if(file=="."||file == ".." )
{
continue;
}
if(is_file(folder."/".file))
{
aFileArr[]=file;
}
else if(is_dir(folder."/".file))
{
aFileArr [file] = aGetAllFile(folder."/".file);
}
}
geschlossenir($handle);
}
return $aFileArr;
}
$path = "/home/test/sql";
print_r(aGetAllFile($path));
Das Obige sind die neuesten Interviewfragen und -antworten, die ich gesammelt habe und die für alle hilfreich sein werden.
Verwandte Lektüre:
Häufige PHP-Interviewfragen und Antworttechniken im Jahr 2017
8 PHP-Interviewfragen, die Ihr Verständnis des PHP-Levels widerspiegeln
Eine Zusammenfassung schriftlicher Testfragen in PHP-Interviewfragen
Das obige ist der detaillierte Inhalt vonInterviewfragen zur neuesten Version von PHP2017 (mit Antworten). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!