Voyant que de nombreux amis posent des questions d'entretien PHP, j'ai rassemblé quelques questions d'entretien pour vous. Ce sont toutes les dernières questions de 2017. J'espère qu'elles vous aideront à améliorer vos compétences. J'aimerais également que vous puissiez intégrer l'entreprise dans laquelle vous souhaitez travailler.
Cet article rassemble et analyse plus en détail les dernières questions d'entretien PHP 2017. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :
1. Utilisez PHP pour imprimer l'heure de la veille au format 2006-5-10 22:21:21 (2). points)
$ a = date("Y-m-d H:i:s", strtotime("-1 day"));
print_r($a);
2. echo La différence entre (), print(), print_r() (3 points)
echo et print ne sont pas une fonction, mais une structure de langage
int print(string $arg), un seul paramètre
echo arg1,arg2; peut générer plusieurs paramètres et renvoyer void
echo et print ne peuvent imprimer que des chaînes, pas des structures
print_r peut imprimer des structures
Par exemple
$arr = array("key"=>"value");
print_r($arr);
3. Modèles permettant d'utiliser HTML et PHP séparément (1 point)
smarty, phplib
4. Quels outils sont utilisés pour le contrôle de version ?(1 point)
svn,git,cvs
5. 3 points)
Anglais :
strrev($a)
Chinois ou autre texte :
Chinois : GB2312, le code est encodé en utilisant GB2312
fonction inverse($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(" Bonjour"));
6. Méthodes pour optimiser la base de données MYSQL. (4 points, écrivez plus et obtenez plus)
Déclarations :
1 Utilisez des index pour augmenter l'efficacité des requêtes
2 Optimisez les instructions de requête et améliorez le taux de réussite des index
Aspects impliqués dans la base de données :
1 Construire des sous-bases de données et des tables pour améliorer les capacités de stockage et d'expansion de la base de données
2 Utiliser différents moteurs de stockage selon les besoins
7. La signification de PHP (donnez 1 point)
Langage de prétraitement hypertexte
Préprocesseur hypertexte
8, Quelle est la fonction permettant à MYSQL d'obtenir l'heure actuelle ?, et la fonction de formatage de la date est (2 points)
CURRENT_TIMESTAMP()
DATE_FORMAT()
select DATE_FORMAT("2011- 11-21 10:10:10", "%Y-%m-%d");
9. chaînes sans caractères tronqués. (3 points)
mb_substr($str, 1, 1, "GB2312");
10. Avez-vous déjà utilisé un logiciel de contrôle de version ? vous l'avez utilisé ? Quel est le nom du logiciel de contrôle de version ? (1 point)
svn
git
11. L'avez-vous utilisé ? avez-vous déjà utilisé un moteur de modèle ? Si vous utilisez un moteur de modèle, quel est son nom ? (1 point)
smarty
12. décrivez brièvement votre travail de développement le plus fier (4 points)
XXX
13. Pour les sites Web à fort trafic, quelle méthode utilisez-vous pour résoudre le trafic. problème ? (4 points)
1 Utiliser efficacement le cache pour augmenter le taux de réussite du cache
2 Utiliser l'équilibrage de charge
3 Utiliser CDN pour stocker et accélérer les fichiers statiques
4 Idées pour réduire l'utilisation de la base de données
5 Vérifiez où se trouvent les goulots d'étranglement statistiques
Utilisez PHP pour écrire le code permettant d'afficher l'adresse IP du client et IP du serveur 1 point)
$_SERVER["REMOTE_ADDR"]
$_SERVER["SERVER_ADDR"]
15. Qu'est-ce que la différence entre les instructions include et require ? ?Pour éviter d'inclure le même fichier plusieurs fois, vous pouvez utiliser des instructions (?) pour les remplacer ? (2 points)
En cas d'échec :
include génère un avertissement, tandis que require génère une interruption d'erreur directe
require est chargé avant l'exécution
include est chargé au moment de l'exécution
require_once
include_once
16. Comment modifier le temps de survie de SESSION (1 point).
session_set_cookie_params
17. Il existe une adresse de page web, comme la page d'accueil du laboratoire PHP : http://www.jb51.net/index.html, comment récupérer son contenu (1 point)
curl
18 Dans HTTP 1.0, la signification du code d'état 401 est (?) ; found" est renvoyé, la fonction d'en-tête peut être utilisée et son instruction est (?); (2 points)
Unauthorized
header("HTTP/1.0 404 Not Found");
CGI rapide :
header("Status : 404 Not Found");
19 en PHP, heredoc est une chaîne spéciale. la marque de fin doit être ?(1 point)
Apparaît par paires
$a = < bon test EOD; 20. Parlez d'asp, Avantages et inconvénients de php et jsp (1 point) asp doit s'appuyer sur IIS et est un langage développé par Microsoft php et jsp peuvent s'appuyer sur d'autres serveurs comme apache ou nginx 21 Parlez de votre compréhension de mvc (1 point) modèle : couche de structure de données vue : affichage contrôle : recevoir et juger les entrées de traitement 22. Écrivez le SQL des noms des dix personnes avec le plus de messages, utilisez le tableau suivant : membres (id, nom d'utilisateur, messages, pass, email )(2 points) sélectionnez les 10 meilleurs identifiants et noms d'utilisateur des membres, triés par messages desc 23 Veuillez expliquer la différence entre transmettre des valeurs et transmettre des références en PHP. Quand passer par valeur et quand passer par référence ? (2 points) & signifie passer par référence Passer le paramètre par référence dans la fonction changera le paramètre Généralement, il y en a Lorsqu'il y en a plus d'un, vous pouvez envisager d'utiliser des références 24. Quelle est la fonction du error_reporting en PHP ( 1 point) Définir le niveau d'erreur d'affichage 25 Veuillez écrire une fonction pour vérifier si le format de l'e-mail est correct (2 points) $str = "jianfeng @126.com"; regex="([a−z0−9.−]+)@([da−z.−]+). ([a−z.]2,6) " ; //Regular return preg_match(regex,str) 26. Décrivez brièvement comment obtenir le courant chemin du script d'exécution, y compris les paramètres obtenus. (2 points) $argc --Obtenir le nombre de paramètres $argv --Obtenir la liste des paramètres 27. Comment modifier SESSION Le temps de survie. (1 point) session_set_cookie_params 28. Quelle est la fonction de la boîte de dialogue pop-up d'un formulaire JS ? Quelle est la fonction pour obtenir le focus d'entrée ? (2 points) alert() confirm() prompt() focus() 29. Quelle est la fonction de redirection de JS ? Comment introduire un fichier JS externe (2 points) window.location.href="# " 30. Quelle est la différence entre foo() et @foo() ? (1 point) @ représente tous les avertissements et est ignoré 31. Comment déclarer une classe nommée "maclasse" sans méthodes ni attributs ? point) classe maclasse { } 32. Comment instancier un objet nommé "maclasse" ? point) $myclass = new myclass( ); 33. Comment accéder et définir les attributs d'une classe (2 points) classe A { public $name = "A"; } $a = new A(); n=a- >name; print_r($n); 34. 🎜>mysql_fetch_row() et mysql_fetch_array Quelle est la différence ? (1 point)
mysql_select_db("mydb");
$result = mysql_query("SELECT id, name FROM mytable");while (ligne =mysqlfetcharray(result, MYSQL_ASSOC)) {printf ("ID : %s Nom : %s", row["id"],row["name"]);}mysql_free_result($result);
$num = 10;fonction multiplier(){num=num * 10;}multiplier();echo $num;?>
41. Comment utiliser les classes suivantes et expliquer ce qu'elles signifient (3)
test de classe{
function Get_test($num){
num=md5(md5(num)."En");
return $num;
}
}
$test = new test();
ret=test->Get_test(11);
print_r($ret);exit;
Associez la chaîne de 32 bits a1 générée après que num soit encodé en MD5 avec "En", puis effectuez à nouveau l'encodage MD5
42. Écrivez le format de l'instruction SQL : insérer, mettre à jour, supprimer (4 points)
Nom de la table Nom d'utilisateur Tél. Contenu Date
Zhang San 13333663366 Diplômé d'université 2006-10-11
Zhang San 13612312331 Diplômé du premier cycle le 15/10/2006
Zhang Si 021-55665566 Diplômé de l'école secondaire technique le 15/10/2006
(a) Il y a un nouvel enregistrement (Xiao Wang 13254748547 Diplômé du lycée 2007-05-06) Veuillez utiliser l'instruction SQL pour ajouter au tableau
insérer dans les valeurs du nom de la table ('Xiao Wang', '13254748547', 'Diplômé du lycée school', '2007-05-06 ')
(b) Veuillez utiliser l'instruction SQL pour mettre à jour l'heure de Zhang San avec l'heure système actuelle
mettre à jour le nom de la table défini Date = GETDATE() où Nom d'utilisateur = "Zhang San"
(c) Veuillez écrire pour supprimer tous les enregistrements nommés Zhang Si
supprimer de indique où Nom d'utilisateur = "Zhang Si"
43. Veuillez noter la signification du type de données (int char varchar datetime text) ; Quelle est la différence entre varchar et char (2 points)
int integer type
char stockage longueur fixe
varchar stocke la longueur variable
datetime time
text stocke la longueur variable
varchar est de longueur variable
char( 20) longueur fixe
44. Le type d'incrémentation automatique MySQ (généralement le champ ID de table) doit être défini sur (?) champ (1 point)
auto_increment
45. Écrivez le résultat de sortie du programme suivant (1 point)
$b=201;
$c= 40;
a=b>$c?4:5;
echo $a;
46. pour détecter si une variable est définie ? Est-ce Quelle est la fonction vide ? (2 points)
isset()
vide()
47. Quelle est la fonction qui obtient le nombre total d'ensembles de résultats de requête ? (1 point)
mysql_num_rows()
48 $arr = array. ('james', 'tom', 'symfony'); Veuillez imprimer Récupérer la valeur du premier élément (1 point)
print_r($arr[0]) ;
reset($arr);
print_r(current($arr));
print_r(array_shift($arr));
49. Veuillez utiliser la valeur du tableau de la question 41 ',' séparée et combinée en sortie de chaîne (1 point)
imploser
50, a='abcdef'; veuillez retirer la valeur de a Et imprimer la première lettre (1 point)
$a[0];
substr($a, 0, 1);
51. PHP peut-il être connecté à des bases de données telles que SQL Server/Oracle (1 point)
Oui
Il existe des bibliothèques prêtes à l'emploi
52 Veuillez écrire le modificateur de contrôle d'autorisation PHP5 (3 points)
public
<.> privé protégé
fonction publique construct()
{
}
fonction publique destruct()
{
}
Questions de programmation :
1. Écrivez une fonction à récupérer. l'extension de fichier à partir d'une URL standard le plus efficacement possible
Par exemple : http://www.sina.com.cn/abc/de/fg.php?id=1 Vous devez supprimer php ou . 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. Écrivez une fonction pour calculer les chemins relatifs de deux fichiers
Pour exemple, $a = '/a/b/c/d/e.php';
$b = '/a/b/12/34/c.php';
Le chemin relatif calculé de b par rapport à a devrait être http://www jb51.net/12/34/c.php ajoutera
<.>$a = '/a/b/c/d/e.php';
$b = '/a/b/12/34/c.php'; //Obtenir le chemin relatif du chemin par rapport à conpathfonction 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. Écrivez une fonction qui peut parcourir tous les fichiers et sous-dossiers d'un dossier.
aFileArr[]=fichier;
}
else if(is_dir(folder."/".file))
{
aFileArr [file] = aGetAllFile(folder."/".file);
}
}
closeir($handle);
}
return $aFileArr;
}
$path = "/home/test/sql";
print_r(aGetAllFile($path));
Ce qui précède sont les dernières questions et réponses d'entretien que j'ai recueillies, qui seront utiles à tout le monde.
Lecture connexe :
Questions d'entretien PHP courantes et techniques de réponse en 2017
8 questions d'entretien PHP reflétant votre compréhension du niveau PHP
Un résumé des questions du test écrit dans les questions d'entretien php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!