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
