Top 100 de întrebări și răspunsuri la interviu PHP (PDF)
Întrebări de interviu în PHP pentru cei proaspăt
1) Ce este PHP?
PHP este un limbaj web bazat pe scripturi care permit dezvoltatorilor să creeze dinamic pagini web generate.
2) Ce înseamnă inițialele PHP?
PHP reprezintă Hypertext Pre-processor.
👉 Descărcare PDF gratuită: Întrebări și răspunsuri la interviu PHP
3) Cu ce limbaj de programare seamănă PHP?
Sintaxa PHP seamănă cu Perl și C
4) Ce înseamnă PEAR?
PEAR înseamnă „Extensii PHP și depozit de aplicații”. Extinde PHP și oferă un nivel superior de programare pentru dezvoltatorii web.
5) Care este versiunea PHP folosită de fapt?
Versiunea 7.1 sau 7.2 este versiunea recomandată de PHP.
6) Cum executați un script PHP din linia de comandă?
Utilizați doar interfața de linie de comandă PHP (CLI) și specificați numele fișierului scriptului care urmează să fie executat după cum urmează:
php script.php
7) Cum să rulați shell-ul interactiv PHP din interfața de linie de comandă?
Utilizați doar programul PHP CLI cu opțiunea -a după cum urmează:
php -a
8) Care este modalitatea corectă și cea mai comună de a începe și a termina un bloc de cod PHP?
Cele mai comune două moduri de a începe și a finaliza un script PHP sunt:
<?php [ --- PHP code---- ] ?> and <? [--- PHP code ---] ?>
9) Cum putem afișa rezultatul direct în browser?
Pentru a putea afișa rezultatul direct în browser, trebuie să folosim etichetele speciale .
10) Care este principala diferență dintre PHP 4 și PHP 5?
PHP 5 prezintă multe OOP suplimentare (Programare orientată pe obiecte) Caracteristici.
11) Moștenirea multiplă este acceptată în PHP?
PHP acceptă doar o singură moștenire; înseamnă că o clasă poate fi extinsă dintr-o singură clasă folosind cuvântul cheie „extins”.
12) Care este semnificația unei clase finale și a unei metode finale?
„final” este introdus în PHP5. Clasa finală înseamnă că această clasă nu poate fi extinsă și că o metodă finală nu poate fi înlocuită.
13) Cum se face compararea obiectelor în PHP?
Folosim operatorul „==” pentru a testa dacă două obiecte sunt instanțate din aceeași clasă și au aceleași atribute și valori egale. Putem testa dacă două obiecte se referă la aceeași instanță a aceleiași clase prin utilizarea operatorului de identitate „===”.
14) Cum pot interacționa PHP și HTML?
Este posibil să generați HTML prin scripturi PHP și este posibil să treceți informații din HTML în PHP.
15) Ce tip de operație este necesar atunci când se transmit valori printr-un formular sau un URL?
Dacă dorim să trecem valori printr-un formular sau o adresă URL, atunci trebuie să le codificăm și să le decodăm folosind htmlspecialchars() și urlencode().
16) Cum poate PHP și Javascript interacționa?
PHP și Javascript nu poate interacționa direct, deoarece PHP este un limbaj pe partea serverului și Javascript este un limbaj pentru client. Cu toate acestea, putem face schimb de variabile, deoarece PHP poate genera Javascript cod să fie executat de browser și este posibil să se transmită anumite variabile înapoi către PHP prin intermediul URL-ului.
17) Ce este necesar pentru a putea folosi funcția de imagine?
Biblioteca GD este necesară pentru a executa funcții de imagine.
18) La ce folosește funcția „imagetypes()”?
imagetypes()
oferă formatul și tipurile de imagine acceptate de versiunea curentă a GD-PHP.
19) Care sunt funcțiile care trebuie utilizate pentru a obține proprietățile imaginii (dimensiune, lățime și înălțime)?
20) Cum sunt gestionate eșecurile în execuție cu funcțiile include() și require()?
Dacă funcţia require()
nu poate accesa fișierul, apoi se termină cu o eroare fatală. Însă include()
funcția dă un avertisment, iar scriptul PHP continuă să se execute.
21) Care este principala diferență dintre require() și require_once()?
require()
și require_once()
efectuați aceeași sarcină, cu excepția faptului că a doua funcție verifică dacă scriptul PHP este deja inclus sau nu înainte de a-l executa.
(la fel pentru include_once() și include())
22) Cum pot afișa text cu un script PHP?
Sunt posibile două metode:
<!--?php echo "Method 1"; print "Method 2"; ?-->
23) Cum putem afișa informații despre o variabilă și care pot fi citite de un om cu PHP?
Pentru a putea afișa un rezultat care poate fi citit de om, folosim print_r()
.
24) Cum este posibil să setați un timp infinit de execuție pentru scriptul PHP?
Set_time_limit(0) adăugat la începutul unui script setează la infinit timpul de execuție pentru a nu avea eroarea PHP „timpul maxim de execuție depășit”. De asemenea, este posibil să specificați acest lucru în fișierul php.ini.
Întrebări și răspunsuri la interviu PHP pentru cei cu experiență
25) Ce înseamnă eroarea PHP „Eroare de analiză în PHP – T_variable neașteptată la linia x”?
Aceasta este o eroare de sintaxă PHP care exprimă că o greșeală la linia x oprește analizarea și executarea programului.
26) Ce ar trebui să facem pentru a putea exporta date într-un fișier Excel?
Cea mai comună și utilizată modalitate este de a obține date într-un format acceptat de Excel. De exemplu, este posibil să scrieți un fișier .csv, să alegeți de exemplu virgula ca separator între câmpuri și apoi să deschideți fișierul cu Excel.
27) Pentru ce este utilă funcția file_get_contents()?
file_get_contents()
permite citirea unui fișier și stocarea lui într-o variabilă șir.
28) Cum ne putem conecta la a MySQL baza de date dintr-un script PHP?
Pentru a vă putea conecta la un MySQL baza de date, trebuie să folosim funcția mysqli_connect() după cum urmează:
<!--?php $database = mysqli_connect("HOST", "USER_NAME", "PASSWORD"); mysqli_select_db($database,"DATABASE_NAME"); ?-->
29) Pentru ce este utilă funcția mysql_pconnect()?
mysql_pconnect()
asigurați o conexiune persistentă la baza de date, înseamnă că conexiunea nu se închide atunci când scriptul PHP se termină.
Această funcție nu este acceptată în PHP 7.0 și versiuni ulterioare
30) Cum se gestionează setul de rezultate Mysql în PHP?
Setul de rezultate poate fi gestionat folosind mysqli_fetch_array, mysqli_fetch_assoc, mysqli_fetch_object sau mysqli_fetch_row.
31) Cum este posibil să cunoaștem numărul de rânduri returnate în setul de rezultate?
Funcția mysqli_num_rows()
returnează numărul de rânduri dintr-un set de rezultate.
32) Ce funcție ne oferă numărul de intrări afectate de o interogare?
mysqli_affected_rows()
returnează numărul de intrări afectate de o interogare SQL.
33) Care este diferența dintre mysqli_fetch_object() și mysqli_fetch_array()?
mysqli_fetch_object()
funcția colectează prima înregistrare unică de potrivire unde mysqli_fetch_array()
colectează toate înregistrările care se potrivesc din tabel într-o matrice.
34) Cum putem accesa datele trimise prin URL cu metoda GET?
Pentru a accesa datele trimise prin metoda GET, folosim matricea $_GET astfel:
www.url.com?var=value $variable = $_GET["var"]; this will now contain 'value'
35) Cum putem accesa datele trimise prin URL cu metoda POST?
Pentru a accesa datele trimise în acest fel, utilizați matricea $_POST.
Imaginați-vă că aveți un câmp de formular numit „var” pe formular atunci când utilizatorul face clic pe Trimiteți la formularul de postare, apoi puteți accesa valoarea astfel:
$_POST["var"];
36) Cum putem verifica valoarea unei variabile date este un număr?
Este posibil să utilizați funcția dedicată, is_numeric() pentru a verifica dacă este un număr sau nu.
37) Cum putem verifica că valoarea unei variabile date este alfanumeric?
Este posibil să utilizați funcția dedicată, ctype_alnum pentru a verifica dacă este o valoare alfanumerică sau nu.
38) Cum verific dacă o anumită variabilă este goală?
Dacă vrem să verificăm dacă o variabilă are o valoare sau nu, este posibil să folosim funcția empty().
39) Ce înseamnă funcția unlink()?
Funcția unlink() este dedicată gestionării sistemului de fișiere. Pur și simplu șterge fișierul dat ca intrare.
40) Ce înseamnă funcția unset()?
Funcția unset() este dedicată gestionării variabilelor. Va face o variabilă nedefinită.
41) Cum pot evada datele înainte de a le stoca în baza de date?
Funcția addslashes ne permite să evadăm datele înainte de stocare în baza de date.
42) Cum este posibil să eliminați caracterele de escape dintr-un șir?
Funcția stripslashes ne permite să eliminăm caracterele de evacuare înainte de apostrofe în a şir.
43) Cum putem scăpa automat de datele primite?
Trebuie să activăm intrarea Magic quotes în fișierul de configurare al PHP.
44) Ce înseamnă funcția get_magic_quotes_gpc()?
Funcția get_magic_quotes_gpc() ne spune dacă ghilimelele magice sunt activate sau nu.
45) Este posibil să eliminați etichetele HTML din date?
Funcția strip_tags() ne permite să curățăm un șir de etichete HTML.
46) pentru ce este utilă variabila statică în funcție?
O variabilă statică este definită în cadrul unei funcții doar prima dată, iar valoarea acesteia poate fi modificată în timpul apelurilor de funcție, după cum urmează:
<!--?php function testFunction() { static $testVariable = 1; echo $testVariable; $testVariable++; } testFunction(); //1 testFunction(); //2 testFunction(); //3 ?-->
47) Cum putem defini o variabilă accesibilă în funcțiile unui script PHP?
Această caracteristică este posibilă folosind cuvântul cheie global.
48) Cum este posibil să returnăm o valoare dintr-o funcție?
O funcție returnează o valoare folosind instrucțiunea „return $value;”.
49) Care este cea mai convenabilă metodă de hashing pentru a fi folosită pentru hashing parole?
Este de preferat să folosiți crypt() care acceptă în mod nativ mai mulți algoritmi de hashing sau funcția hash() care acceptă mai multe variante decât crypt() decât să folosiți algoritmii de hashing obișnuiți, cum ar fi md5, sha1 sau sha256, deoarece sunt concepute a fi rapide. Prin urmare, hashingul parolelor cu acești algoritmi poate crea vulnerabilitate.
50) Ce extensie criptografică oferă generarea și verificarea semnăturilor digitale?
PHP-OpenSSL extensia oferă mai multe operațiuni criptografice, inclusiv generarea și verificarea semnăturilor digitale.
Întrebări de interviu PHP pentru 5 ani de experiență
51) Cum este definită o constantă într-un script PHP?
Directiva define() ne permite să definim o constantă după cum urmează:
define ("ACONSTANT", 123);
52) Cum puteți trece o variabilă prin referință?
Pentru a putea trece o variabilă prin referință, folosim un ampersand în fața acesteia, după cum urmează $var1 = &$var2
53) Va funcționa o comparație între un număr întreg 12 și un șir „13” în PHP?
„13” și 12 pot fi comparate în PHP, deoarece aruncă totul la tipul întreg.
54) Cum este posibil să aruncați tipuri în PHP?
Numele tipului de ieșire trebuie specificat între paranteze înaintea variabilei care urmează să fie turnată după cum urmează:
* (int), (întreg) – transformat în întreg
* (bool), (boolean) – transformat în boolean
* (float), (dublu), (real) – aruncat pentru a pluti
* (șir) – turnat în șir
* (matrice) – turnat în matrice
* (obiect) – aruncat la obiect
55) Când se termină o declarație condiționată cu endif?
Când originalul if a fost urmat de: și apoi blocul de cod fără acolade.
56) Cum este utilizat operatorul condițional ternar în PHP?
Este compus din trei expresii: o condiție și doi operanzi care descriu ce instrucțiune ar trebui efectuată atunci când condiția specificată este adevărată sau falsă, după cum urmează:
Expression_1?Expression_2 : Expression_3;
57) Pentru ce este folosită funcția func_num_args()?
Funcția func_num_args() este folosită pentru a da numărul de parametri trecuți într-o funcție.
58) Dacă variabila $var1 este setată la 10 și $var2 este setată la caracterul var1, care este valoarea lui $$var2?
$$var2 conține valoarea 10.
59) Ce înseamnă accesarea unei clase prin ::?
:: este folosit pentru a accesa metode statice care nu necesită inițializare obiect.
60) În PHP, obiectele sunt transmise după valoare sau prin referință?
În PHP, obiectele sunt transmise prin referință.
61) Constructorii părinți sunt apelați implicit în interiorul unui constructor de clasă?
Nu, un constructor părinte trebuie apelat explicit după cum urmează:
parent::constructor($value)
62) Care este diferența dintre __sleep și __wakeup?
__sleep returnează matricea tuturor variabilelor care trebuie salvate, în timp ce __wakeup le preia.
63) Ce este mai rapid?
1- Combinând două variabile după cum urmează:
$variable1 = 'Hello '; $variable2 = 'World'; $variable3 = $variable1.$variable2;
Or
2- $variable3 = "$variable1$variable2";
$variable3 va conține „Hello World”. Primul cod este mai rapid decât al doilea cod, mai ales pentru seturi mari de date.
64) care este definiția unei sesiuni?
O sesiune este un obiect logic care ne permite să păstrăm date temporare pe mai multe pagini PHP.
65) Cum să inițiezi o sesiune în PHP?
Utilizarea funcției session_start() ne permite să activăm o sesiune.
66) Cum puteți propaga un ID de sesiune?
Puteți propaga un ID de sesiune prin cookie-uri sau parametri URL.
67) Care este semnificația unui cookie persistent?
Un cookie persistent este stocat permanent într-un fișier cookie de pe computerul browserului. În mod implicit, cookie-urile sunt temporare și sunt șterse dacă închidem browserul.
68) Când se termină sesiunile?
Sesiunile se termină automat când scriptul PHP se termină de execuție, dar pot fi încheiate manual folosind session_write_close().
69) Care este diferența dintre session_unregister() și session_unset()?
Funcția session_unregister() anulează înregistrarea unei variabile globale din sesiunea curentă, iar funcția session_unset() eliberează toate variabilele de sesiune.
70) Ce înseamnă $GLOBALS?
$GLOBALS este un tablou asociativ care include referințe la toate variabilele care sunt definite în prezent în domeniul global al scriptului.
Întrebări de interviu PHP pentru 10 ani de experiență
71) Ce înseamnă $_SERVER?
$_SERVER este o matrice care include informații create de serverul web, cum ar fi căi, anteturi și locații de script.
72) Ce înseamnă $_FILES?
$_FILES este o matrice asociativă compusă din elemente trimise la scriptul curent prin metoda HTTP POST.
73) Care este diferența dintre $_FILES['userfile']['name'] și $_FILES['userfile']['tmp_name']?
$_FILES['userfile']['name'] reprezintă numele original al fișierului de pe computerul client,
$_FILES['userfile']['tmp_name'] reprezintă numele de fișier temporar al fișierului stocat pe server.
74) Cum putem obține eroarea când există o problemă la încărcarea unui fișier?
$_FILES['userfile']['error'] conține codul de eroare asociat fișierului încărcat.
75) Cum putem schimba dimensiunea maximă a fișierelor care urmează să fie încărcate?
Putem modifica dimensiunea maximă a fișierelor care urmează să fie încărcate prin modificarea upload_max_filesize în php.ini.
76) Ce înseamnă $_ENV?
$_ENV este o matrice asociativă de variabile trimisă scriptului PHP curent prin metoda mediului.
77) Ce înseamnă $_COOKIE?
$_COOKIE este o matrice asociativă de variabile trimisă la scriptul PHP curent folosind cookie-urile HTTP.
78) Ce înseamnă domeniul de aplicare al variabilelor?
Sfera de aplicare a unei variabile este contextul în care este definită. În cea mai mare parte, toate variabilele PHP au un singur domeniu de aplicare. Acest domeniu unic cuprinde și fișierele incluse și necesare.
79) care este diferența dintre operatorul „BITWISE AND” și operatorul „LOGICAL AND”?
$a și $b: ADEVĂRAT dacă atât $a, cât și $b sunt ADEVĂRAT.
$a și $b: biții care sunt setați atât în $a cât și în $b sunt setați.
80) Care sunt cei doi operatori principali de șir?
Primul este operatorul de concatenare ('.'), care returnează concatenarea argumentelor din dreapta și din stânga. Al doilea este ('.='), care adaugă argumentul din dreapta argumentului din stânga.
81) Ce înseamnă operatorul de matrice „===”?
$a === $b TRUE dacă $a și $b au aceleași perechi cheie/valoare în aceeași ordine și de aceleași tipuri.
82) Care este diferența dintre $a != $b și $a !== $b?
!= înseamnă inegalitate (adevărat dacă $a nu este egal cu $b) și !== înseamnă non-identitate (adevărat dacă $a nu este identic cu $b).
83) Cum putem determina dacă o variabilă PHP este un obiect instanțiat al unei anumite clase?
Pentru a putea verifica dacă o variabilă PHP este un obiect instanțiat al unei anumite clase, folosim instanceof.
84) Pentru ce este utilă declarația goto?
Declarația goto poate fi plasată pentru a permite saltul în cadrul programului PHP. Ținta este indicată de o etichetă urmată de două puncte, iar instrucțiunea este specificată ca o instrucțiune goto urmată de eticheta țintă dorită.
85) care este diferența dintre Exception::getMessage și Exception:: getLine?
Exception::getMessage ne permite să obținem mesajul Exception și Exception::getLine ne permite să obținem linia în care a apărut excepția.
86) Ce înseamnă expresia Exception::__toString?
Exception::__toString oferă reprezentarea String a excepției.
87) Cum este posibil să analizați un fișier de configurare?
Funcția parse_ini_file() ne permite să încărcăm fișierul ini specificat în filename și returnează setările din acesta într-o matrice asociativă.
88) Cum putem determina dacă o variabilă este setată?
Funcția booleană isset determină dacă o variabilă este setată și nu este NULL.
89) Care este diferența dintre funcțiile strstr() și stristr()?
Funcția șir strstr(șir allString, șir occ) returnează o parte din allString de la prima apariție a lui occ până la sfârșitul allString. Această funcție ține cont de majuscule și minuscule. stristr() este identic cu strstr() cu excepția faptului că nu face distincție între majuscule și minuscule.
90) care este diferența dintre for și foreach?
pentru se exprimă după cum urmează:
pentru (expr1; expr2; expr3)
declaraţie
Prima expresie este executată o dată la început. În fiecare iterație, expr2 este evaluată. Dacă este TRUE, bucla continuă și instrucțiunile din interior pentru sunt executate. Dacă se evaluează la FALSE, execuția buclei se termină. expr3 este testat la sfârșitul fiecărei iterații.
Cu toate acestea, foreach oferă o modalitate ușoară de a itera peste matrice și este folosit doar cu matrice și obiecte.
91) Este posibil să trimiteți un formular cu un buton dedicat?
Este posibil să utilizați document.form.submit()
funcția de trimitere a formularului. De exemplu: <input type=button value="SUBMIT" onClick="document.form.submit()">
92) Care este diferența dintre ereg_replace() și eregi_replace()?
Funcția eregi_replace() este identică cu funcția ereg_replace() cu excepția faptului că ignoră distincția dintre majuscule și minuscule atunci când potrivirea caracterelor alfabetice.
93) Este posibil să protejați caracterele speciale într-un șir de interogare?
Da, folosim funcția urlencode() pentru a putea proteja caracterele speciale.
94) Care sunt cele trei clase de erori care pot apărea în PHP?
Cele trei clase de erori de bază sunt notificări (non-critice), avertismente (erori grave) și erori fatale (erori critice).
95) Care este diferența dintre caracterele \034 și \x34?
\034 este octal 34 și \x34 este hex 34.
96) Cum putem trece variabila prin navigarea între pagini?
Este posibilă trecerea variabilelor între paginile PHP folosind sesiuni, cookie-uri sau câmpuri de formular ascunse.
97) Este posibil să extindeți timpul de execuție al unui script PHP?
Utilizarea set_time_limit(int seconds) ne permite să extindem timpul de execuție al unui script PHP. Limita implicită este de 30 de secunde.
98) Este posibil să distrugi un cookie?
Da, este posibil prin setarea cookie-ului cu un timp de expirare trecut.
99) Care este timpul implicit de sesiune în PHP?
Timpul implicit al sesiunii în PHP este până la închiderea browserului
100) Este posibil să utilizați componenta COM în PHP?
Da, este posibil să se integreze componentele (Distribuite) ale modelului de obiecte componente ((D)COM) în scripturi PHP, care sunt furnizate ca cadru.
101) Explicați dacă este posibil să partajați o singură instanță a unui Memcache între mai multe proiecte PHP?
Da, este posibil să partajați o singură instanță de Memcache între mai multe proiecte. Memcache este un spațiu de stocare a memoriei și puteți rula memcache pe unul sau mai multe servere. De asemenea, vă puteți configura clientul să vorbească cu un anumit set de instanțe. Deci, puteți rula două procese Memcache diferite pe aceeași gazdă și totuși sunt complet independente. Cu excepția cazului în care, dacă ați partiționat datele, atunci devine necesar să știți din ce instanță să obțineți sau să le introduceți datele.
102) Explicați cum puteți actualiza Memcached când faceți modificări în PHP?
Când PHP se schimbă, puteți actualiza Memcached de
- Ștergerea cache-ului în mod proactiv: Ștergerea memoriei cache atunci când se face o inserare sau o actualizare
- Resetarea memoriei cache: Este similară cu prima metodă, dar în loc să ștergeți cheile și să așteptați următoarea solicitare a datelor pentru a reîmprospăta memoria cache, resetați valorile după inserare sau actualizare.
Aceste întrebări de interviu vă vor ajuta, de asemenea, în viva (orale)