Top 100 pitanja i odgovora na PHP intervjuu (PDF)
PHP pitanja za intervju za brucoše
1) Što je PHP?
PHP je web jezik temeljen na skriptama koje programerima omogućuju dinamičku izradu generiranih web stranica.
2) Što inicijali PHP označavaju?
PHP kratica za Hypertext Pre-processor.
👉 Besplatno preuzimanje PDF-a: PHP intervju Pitanja i odgovori
3) Na koji programski jezik sliči PHP?
PHP sintaksa nalikuje Perlu i C
4) Što znači PEAR?
PEAR znači "PHP ekstenzija i spremište aplikacija". Proširuje PHP i pruža višu razinu programiranja za web programere.
5) Koja je stvarno korištena PHP verzija?
Verzija 7.1 ili 7.2 je preporučena verzija PHP-a.
6) Kako izvršavate PHP skriptu iz naredbenog retka?
Samo upotrijebite PHP sučelje naredbenog retka (CLI) i navedite naziv datoteke skripte koja će se izvršiti na sljedeći način:
php script.php
7) Kako pokrenuti interaktivnu PHP ljusku iz sučelja naredbenog retka?
Samo koristite PHP CLI program s opcijom -a na sljedeći način:
php -a
8) Koji je ispravan i dva najčešća načina za početak i završetak PHP bloka koda?
Dva najčešća načina pokretanja i završetka PHP skripte su:
<?php [ --- PHP code---- ] ?> and <? [--- PHP code ---] ?>
9) Kako možemo prikazati izlaz izravno u pregledniku?
Da bismo mogli prikazati izlaz izravno u pregledniku, moramo koristiti posebne oznake .
10) Koja je glavna razlika između PHP 4 i PHP 5?
PHP 5 predstavlja mnoge dodatne OOP (Objektno orijentirano programiranje) značajke.
11) Je li višestruko nasljeđivanje podržano u PHP-u?
PHP podržava samo jedno nasljeđivanje; to znači da se klasa može proširiti iz samo jedne klase koristeći ključnu riječ 'prošireno'.
12) Koje je značenje konačne klase i konačne metode?
'final' je uveden u PHP5. Konačna klasa znači da se ova klasa ne može proširiti i da se konačna metoda ne može nadjačati.
13) Kako se vrši usporedba objekata u PHP-u?
Koristimo operator '==' da testiramo jesu li dva objekta instancirana iz iste klase i imaju li iste atribute i jednake vrijednosti. Možemo testirati odnose li se dva objekta na istu instancu iste klase korištenjem operatora identiteta '==='.
14) Kako PHP i HTML mogu međusobno komunicirati?
Moguće je generirati HTML putem PHP skripti, a moguće je i proslijediti dijelove informacija iz HTML-a u PHP.
15) Koja je vrsta operacije potrebna kada se vrijednosti prosljeđuju kroz obrazac ili URL?
Ako želimo proslijediti vrijednosti kroz obrazac ili URL, tada ih trebamo kodirati i dekodirati pomoću htmlspecialchars() i urlencode().
16) Kako PHP i Javascript komunicirati?
PHP i Javascript ne može izravno komunicirati budući da je PHP jezik poslužiteljske strane i Javascript je jezik na strani klijenta. Međutim, možemo razmjenjivati varijable jer PHP može generirati Javascript kod koji će izvršiti preglednik i moguće je proslijediti određene varijable natrag u PHP putem URL-a.
17) Što je potrebno da biste mogli koristiti funkciju slike?
GD biblioteka je potrebna za izvršavanje funkcija slike.
18) Čemu služi funkcija 'imagetypes()'?
imagetypes()
daje format slike i vrste koje podržava trenutna verzija GD-PHP.
19) Koje funkcije treba koristiti za dobivanje svojstava slike (veličina, širina i visina)?
The funkcije su getimagesize()
za veličinu, imagesx()
za širinu i imagesy()
za visinu.
20) Kako se neuspjesi u izvršavanju rješavaju funkcijama include() i require()?
Ako funkcija require()
ne može pristupiti datoteci, a zatim završava fatalnom pogreškom. Međutim include()
daje upozorenje, a PHP skripta se nastavlja izvršavati.
21) Koja je glavna razlika između require() i require_once()?
require()
i require_once()
izvršiti isti zadatak osim što druga funkcija provjerava je li PHP skripta već uključena ili ne prije nego što je izvrši.
(isto za include_once() i include())
22) Kako mogu prikazati tekst s PHP skriptom?
Moguće su dvije metode:
<!--?php echo "Method 1"; print "Method 2"; ?-->
23) Kako pomoću PHP-a možemo prikazati informacije o varijabli koje čovjek može pročitati?
Da bismo mogli prikazati čovjeku čitljiv rezultat koristimo print_r()
.
24) Kako je moguće postaviti beskonačno vrijeme izvršavanja za PHP skriptu?
Set_time_limit(0) dodan na početku skripte postavlja beskonačno vrijeme izvršavanja kako se ne bi pojavila PHP pogreška 'prekoračeno maksimalno vrijeme izvršenja.' To je također moguće navesti u datoteci php.ini.
Pitanja i odgovori za PHP intervju za iskusne
25) Što znači PHP pogreška 'Parse error in PHP – unexpected T_variable at line x' znači?
Ovo je pogreška PHP sintakse koja izražava da pogreška u retku x zaustavlja raščlanjivanje i izvršavanje programa.
26) Što trebamo učiniti da bismo mogli izvesti podatke u Excel datoteku?
Najčešći i najčešće korišteni način je prebacivanje podataka u format koji podržava Excel. Na primjer, moguće je napisati .csv datoteku, odabrati npr. zarez kao razdjelnik između polja i zatim otvoriti datoteku u Excelu.
27) Za što je korisna funkcija file_get_contents()?
file_get_contents()
omogućuje čitanje datoteke i njezino pohranjivanje u string varijablu.
28) Kako se možemo povezati s a MySQL baza podataka iz PHP skripte?
Da biste se mogli spojiti na a MySQL baze podataka, moramo koristiti funkciju mysqli_connect() na sljedeći način:
<!--?php $database = mysqli_connect("HOST", "USER_NAME", "PASSWORD"); mysqli_select_db($database,"DATABASE_NAME"); ?-->
29) Za što je korisna funkcija mysql_pconnect()?
mysql_pconnect()
osigurati stalnu vezu s bazom podataka, to znači da se veza ne zatvara kada PHP skripta završi.
Ova funkcija nije podržana u PHP 7.0 i novijim verzijama
30) Kako se sa skupom rezultata Mysqla rukuje u PHP-u?
Skupom rezultata može se rukovati pomoću mysqli_fetch_array, mysqli_fetch_assoc, mysqli_fetch_object ili mysqli_fetch_row.
31) Kako je moguće znati broj redaka vraćenih u skupu rezultata?
Funkcija mysqli_num_rows()
vraća broj redaka u skupu rezultata.
32) Koja nam funkcija daje broj zahvaćenih unosa upitom?
mysqli_affected_rows()
vratiti broj unosa na koje utječe SQL upit.
33) Koja je razlika između mysqli_fetch_object() i mysqli_fetch_array()?
The mysqli_fetch_object()
funkcija prikuplja prvi pojedinačni podudarni zapis gdje mysqli_fetch_array()
prikuplja sve podudarne zapise iz tablice u polje.
34) Kako možemo pristupiti podacima poslanim putem URL-a GET metodom?
Za pristup podacima koji se šalju GET metodom, koristimo niz $_GET ovako:
www.url.com?var=value $variable = $_GET["var"]; this will now contain 'value'
35) Kako možemo pristupiti podacima poslanim putem URL-a metodom POST?
Da biste pristupili podacima poslanim na ovaj način, koristite niz $_POST.
Zamislite da imate polje obrasca pod nazivom 'var' na obrascu kada korisnik klikne pošalji na obrazac za objavu, tada možete pristupiti vrijednosti ovako:
$_POST["var"];
36) Kako možemo provjeriti je li vrijednost zadane varijable broj?
Moguće je koristiti namjensku funkciju, is_numeric() za provjeru je li to broj ili ne.
37) Kako možemo provjeriti je li vrijednost dane varijable alfanumerička?
Moguće je koristiti namjensku funkciju, ctype_alnum za provjeru je li to alfanumerička vrijednost ili ne.
38) Kako mogu provjeriti je li data varijabla prazna?
Ako želimo provjeriti ima li varijabla vrijednost ili ne, moguće je koristiti funkciju empty().
39) Što znači unlink() funkcija?
Funkcija unlink() namijenjena je rukovanju datotečnim sustavom. Jednostavno briše datoteku zadanu kao unos.
40) Što znači funkcija unset()?
Funkcija unset() namijenjena je za upravljanje varijablama. To će učiniti varijablu nedefiniranom.
41) Kako mogu izbjeći podatke prije pohranjivanja u bazu podataka?
Funkcija addslashes omogućuje nam izbjegavanje podataka prije pohranjivanja u bazu podataka.
42) Kako je moguće ukloniti izlazne znakove iz niza?
Funkcija stripslashes omogućuje nam da uklonimo izlazne znakove prije apostrofa u a niz.
43) Kako možemo automatski izbjeći dolazne podatke?
Moramo omogućiti unos Magic quotes u konfiguracijskoj datoteci PHP-a.
44) Što znači funkcija get_magic_quotes_gpc()?
Funkcija get_magic_quotes_gpc() nam govori jesu li čarobni navodnici uključeni ili ne.
45) Je li moguće ukloniti HTML oznake iz podataka?
Funkcija strip_tags() omogućuje nam čišćenje niza iz HTML oznaka.
46) za što je korisna statička varijabla u funkciji?
Statička varijabla definirana je unutar funkcije samo prvi put, a njezina se vrijednost može mijenjati tijekom poziva funkcije na sljedeći način:
<!--?php function testFunction() { static $testVariable = 1; echo $testVariable; $testVariable++; } testFunction(); //1 testFunction(); //2 testFunction(); //3 ?-->
47) Kako možemo definirati varijablu dostupnu u funkcijama PHP skripte?
Ova je značajka moguća pomoću ključne riječi global.
48) Kako je moguće vratiti vrijednost iz funkcije?
Funkcija vraća vrijednost koristeći instrukciju 'return $value;'.
49) Koja je najprikladnija metoda raspršivanja za raspršivanje lozinki?
Poželjno je koristiti crypt() koji izvorno podržava nekoliko algoritama raspršivanja ili funkciju hash() koja podržava više varijanti od crypt() umjesto upotrebe uobičajenih algoritama raspršivanja kao što su md5, sha1 ili sha256 jer su zamišljeni kao brzi. Stoga raspršivanje lozinki ovim algoritmima može stvoriti ranjivost.
50) Koje kriptografsko proširenje omogućuje generiranje i provjeru digitalnih potpisa?
PHP-OpenSSL proširenje pruža nekoliko kriptografskih operacija uključujući generiranje i provjeru digitalnih potpisa.
PHP pitanja za intervju za 5 godina iskustva
51) Kako se konstanta definira u PHP skripti?
Direktiva define() omogućuje nam definiranje konstante na sljedeći način:
define ("ACONSTANT", 123);
52) Kako možete proslijediti varijablu referencom?
Da bismo mogli proslijediti varijablu referencom, koristimo znak & ispred nje, kako slijedi $var1 = &$var2
53) Hoće li usporedba cijelog broja 12 i niza "13" raditi u PHP-u?
“13” i 12 mogu se usporediti u PHP-u jer on sve pretvara u cjelobrojni tip.
54) Kako je moguće cast tipove u PHP-u?
Naziv vrste izlaza mora biti naveden u zagradama prije varijable koja se pretvara na sljedeći način:
* (int), (cijeli broj) – pretvaranje u cijeli broj
* (bool), (boolean) – pretvaranje u Boolean
* (float), (double), (real) – bacanje na plutanje
* (string) – pretvaranje u niz
* (niz) – pretvaranje u niz
* (objekt) – lijevano na objekt
55) Kada se uvjetna naredba završava s endif?
Kada je nakon izvornog if-a slijedilo: a zatim blok koda bez zagrada.
56) Kako se ternarni uvjetni operator koristi u PHP-u?
Sastoji se od tri izraza: uvjeta i dva operanda koji opisuju koje se instrukcije trebaju izvršiti kada je specificirani uvjet istinit ili netočan, kako slijedi:
Expression_1?Expression_2 : Expression_3;
57) Za što se koristi funkcija func_num_args()?
Funkcija func_num_args() koristi se za davanje broja parametara proslijeđenih u funkciju.
58) Ako je varijabla $var1 postavljena na 10, a $var2 je postavljen na znak var1, koja je vrijednost $$var2?
$$var2 sadrži vrijednost 10.
59) Što znači pristup klasi preko ::?
:: koristi se za pristup statičkim metodama koje ne zahtijevaju inicijalizaciju objekta.
60) U PHP-u, objekti se prosljeđuju po vrijednosti ili po referenci?
U PHP-u se objekti prosljeđuju po referenci.
61) Pozivaju li se roditeljski konstruktori implicitno unutar konstruktora klase?
Ne, nadređeni konstruktor mora se pozvati eksplicitno na sljedeći način:
parent::constructor($value)
62) Koja je razlika između __spavanja i __buđenja?
__sleep vraća niz svih varijabli koje je potrebno spremiti, dok ih __wakeup dohvaća.
63) Što je brže?
1- Kombinacija dviju varijabli na sljedeći način:
$variable1 = 'Hello '; $variable2 = 'World'; $variable3 = $variable1.$variable2;
Or
2- $variable3 = "$variable1$variable2";
$variable3 će sadržavati "Hello World". Prvi kod je brži od drugog koda, posebno za velike skupove podataka.
64) koja je definicija sesije?
Sesija je logičan objekt koji nam omogućuje da sačuvamo privremene podatke na više PHP stranica.
65) Kako pokrenuti sesiju u PHP-u?
Upotreba funkcije session_start() omogućuje nam aktiviranje sesije.
66) Kako možete propagirati ID sesije?
Možete propagirati ID sesije putem kolačića ili URL parametara.
67) Što je značenje trajnog kolačića?
Trajni kolačić trajno se pohranjuje u datoteku kolačića na računalu preglednika. Prema zadanim postavkama, kolačići su privremeni i brišu se ako zatvorimo preglednik.
68) Kada sesije završavaju?
Sesije se automatski završavaju kada PHP skripta završi s izvođenjem, ali se mogu ručno prekinuti pomoću session_write_close().
69) Koja je razlika između session_unregister() i session_unset()?
Funkcija session_unregister() poništava registraciju globalne varijable iz trenutne sesije, a funkcija session_unset() oslobađa sve varijable sesije.
70) Što znači $GLOBALS?
$GLOBALS je asocijativni niz koji uključuje reference na sve varijable koje su trenutno definirane u globalnom opsegu skripte.
PHP pitanja za intervju za 10 godina iskustva
71) Što znači $_SERVER?
$_SERVER je polje koje uključuje informacije koje je kreirao web poslužitelj kao što su staze, zaglavlja i lokacije skripti.
72) Što znači $_FILES?
$_FILES je asocijativni niz sastavljen od stavki poslanih trenutnoj skripti putem HTTP POST metode.
73) Koja je razlika između $_FILES['userfile']['name'] i $_FILES['userfile']['tmp_name']?
$_FILES['userfile']['name'] predstavlja originalni naziv datoteke na klijentskom računalu,
$_FILES['userfile']['tmp_name'] predstavlja privremeni naziv datoteke pohranjene na poslužitelju.
74) Kako možemo dobiti grešku kada postoji problem s učitavanjem datoteke?
$_FILES['userfile']['error'] sadrži kôd pogreške povezan s učitanom datotekom.
75) Kako možemo promijeniti maksimalnu veličinu datoteka za učitavanje?
Možemo promijeniti maksimalnu veličinu datoteka za učitavanje promjenom upload_max_filesize u php.ini.
76) Što znači $_ENV?
$_ENV je asocijativni niz varijabli koji se šalje trenutnoj PHP skripti putem metode okruženja.
77) Što znači $_COOKIE?
$_COOKIE je asocijativni niz varijabli koji se šalje trenutnoj PHP skripti pomoću HTTP kolačića.
78) Što znači opseg varijabli?
Opseg varijable je kontekst unutar kojeg je definirana. Većinom sve PHP varijable imaju samo jedan opseg. Ovaj jedinstveni opseg također obuhvaća uključene i potrebne datoteke.
79) koja je razlika između operatora 'BITOVNO I' i operatora 'LOGIČKO I'?
$a i $b: TRUE ako su i $a i $b TRUE.
$a & $b: Bitovi koji su postavljeni u $a i $b su postavljeni.
80) Koja su dva glavna string operatora?
Prvi je operator ulančavanja ('.'), koji vraća ulančavanje svojih desnih i lijevih argumenata. Drugi je ('.='), koji dodaje argument s desne strane argumentu s lijeve strane.
81) Što znači operator polja '==='?
$a === $b TRUE ako $a i $b imaju iste parove ključ/vrijednost istim redoslijedom i iste vrste.
82) Koje su razlike između $a != $b i $a !== $b?
!= znači nejednakost (ISTINA ako $a nije jednako $b) i !== znači neidentičnost (ISTINA ako $a nije identično $b).
83) Kako možemo odrediti je li PHP varijabla instancirani objekt određene klase?
Da bismo mogli provjeriti je li PHP varijabla instancirani objekt određene klase koristimo instanceof.
84) Za što je koristan goto iskaz?
Naredba goto može se postaviti da omogući skakanje unutar PHP programa. Cilj je označen oznakom iza koje slijedi dvotočka, a instrukcija je navedena kao goto naredba iza koje slijedi željena ciljna oznaka.
85) koja je razlika između Exception::getMessage i Exception::getLine?
Exception::getMessage nam omogućuje da dobijemo poruku o iznimci, a Exception::getLine nam omogućuje da dobijemo liniju u kojoj se dogodila iznimka.
86) Što znači izraz Exception::__toString?
Exception::__toString daje String reprezentaciju iznimke.
87) Kako je moguće analizirati konfiguracijsku datoteku?
Funkcija parse_ini_file() omogućuje nam učitavanje ini datoteke navedene u filename i vraća postavke u njoj u asocijativnom nizu.
88) Kako možemo utvrditi je li varijabla postavljena?
Booleova funkcija isset određuje je li varijabla postavljena i nije NULL.
89) Koja je razlika između funkcija strstr() i stristr()?
String funkcija strstr(string allString, string occ) vraća dio allStringa od prvog pojavljivanja occ do kraja allStringa. Ova funkcija razlikuje velika i mala slova. stristr() je identičan strstr() osim što ne razlikuje velika i mala slova.
90) koja je razlika između for i foreach?
za se izražava kako slijedi:
za (izraz1; izraz2; izraz3)
izjava
Prvi izraz se izvodi jednom na početku. U svakoj iteraciji, expr2 se procjenjuje. Ako je TRUE, petlja se nastavlja, a naredbe unutar for se izvršavaju. Ako je vrijednost FALSE, izvođenje petlje završava. expr3 se testira na kraju svake iteracije.
Međutim, foreach pruža jednostavan način za ponavljanje nizova, a koristi se samo s nizovima i objektima.
91) Je li moguće podnijeti obrazac s namjenskim gumbom?
Moguće je koristiti document.form.submit()
funkciju za slanje obrasca. Na primjer: <input type=button value="SUBMIT" onClick="document.form.submit()">
92) Koja je razlika između ereg_replace() i eregi_replace()?
Funkcija eregi_replace() identična je funkciji ereg_replace() osim što zanemaruje razliku između velikih i malih slova pri podudaranju abecednih znakova.
93) Je li moguće zaštititi posebne znakove u nizu upita?
Da, koristimo funkciju urlencode() kako bismo mogli zaštititi posebne znakove.
94) Koje su tri klase grešaka koje se mogu pojaviti u PHP-u?
Tri osnovne klase pogrešaka su obavijesti (nekritične), upozorenja (ozbiljne pogreške) i fatalne pogreške (kritične pogreške).
95) Koja je razlika između znakova \034 i \x34?
\034 je oktalni 34, a \x34 je heksadecimalni 34.
96) Kako možemo proći varijablu kroz navigaciju između stranica?
Moguće je proslijediti varijable između PHP stranica pomoću sesija, kolačića ili skrivenih polja obrazaca.
97) Je li moguće produžiti vrijeme izvršavanja PHP skripte?
Korištenje set_time_limit(int seconds) omogućuje nam produljenje vremena izvršavanja PHP skripte. Zadano ograničenje je 30 sekundi.
98) Je li moguće uništiti kolačić?
Da, moguće je postavljanjem kolačića s prošlim vremenom isteka.
99) Koje je zadano vrijeme sesije u PHP-u?
Zadano vrijeme sesije u php-u je do zatvaranja preglednika
100) Je li moguće koristiti COM komponentu u PHP-u?
Da, moguće je integrirati (distribuirane) komponente Component Object Model ((D)COM) u PHP skripte koje se pružaju kao okvir.
101) Objasnite je li moguće dijeliti jednu instancu Memcachea između više PHP projekata?
Da, moguće je dijeliti jednu instancu Memcachea između više projekata. Memcache je prostor za pohranu memorije, a memcache možete pokrenuti na jednom ili više poslužitelja. Također možete konfigurirati svog klijenta da razgovara s određenim skupom instanci. Dakle, možete pokrenuti dva različita Memcache procesa na istom hostu, a opet su potpuno neovisni. Osim ako, ako ste particionirali svoje podatke, tada postaje potrebno znati iz koje instance preuzeti podatke ili u koje ih staviti.
102) Objasnite kako možete ažurirati Memcached kada napravite promjene u PHP-u?
Kada se PHP promijeni, možete ažurirati Memcached putem
- Proaktivno brisanje predmemorije: Brisanje predmemorije prilikom umetanja ili ažuriranja
- Ponovno postavljanje predmemorije: Slična je prvoj metodi, ali umjesto samo brisanja ključeva i čekanja na sljedeći zahtjev za podacima za osvježavanje predmemorije, ponovno postavite vrijednosti nakon umetanja ili ažuriranja.
Ova pitanja za intervju također će vam pomoći u vašem životu