100 parimat PHP-intervjuu küsimust ja vastust (PDF)
PHP-intervjuu küsimused esmakursuslastele
1) Mis on PHP?
PHP on skriptidel põhinev veebikeel, mis võimaldab arendajatel dünaamiliselt luua loodud veebilehti.
2) Mida tähistavad PHP initsiaalid?
PHP tähistab Hypertext Pre-processorit.
👉 Tasuta PDF-i allalaadimine: PHP-intervjuu küsimused ja vastused
3) Millise programmeerimiskeelega PHP sarnaneb?
PHP süntaks sarnaneb Perli ja C
4) Mida tähendab PEAR?
PEAR tähendab "PHP laienduste ja rakenduste hoidla". See laiendab PHP-d ja pakub veebiarendajatele kõrgemat programmeerimise taset.
5) Mis on tegelikult kasutatav PHP versioon?
Versioon 7.1 või 7.2 on PHP soovitatav versioon.
6) Kuidas käivitada PHP skript käsurealt?
Kasutage lihtsalt PHP käsurea liidest (CLI) ja määrake käivitatava skripti failinimi järgmiselt:
php script.php
7) Kuidas käivitada interaktiivset PHP kesta käsurea liidesest?
Kasutage lihtsalt PHP CLI programmi valikuga -a järgmiselt:
php -a
8) Mis on õige ja kaks levinumat viisi PHP koodiploki alustamiseks ja lõpetamiseks?
Kaks levinumat viisi PHP-skripti käivitamiseks ja lõpetamiseks on järgmised:
<?php [ --- PHP code---- ] ?> and <? [--- PHP code ---] ?>
9) Kuidas saame väljundit otse brauserisse kuvada?
Väljundi kuvamiseks otse brauseris peame kasutama spetsiaalseid silte .
10) Mis on peamine erinevus PHP 4 ja PHP 5 vahel?
PHP 5 pakub palju täiendavaid OOP (Objektorienteeritud programmeerimine) Funktsioonid.
11) Kas PHP toetab mitut pärimist?
PHP toetab ainult üksikut pärimist; see tähendab, et klassi saab laiendada ainult ühest klassist, kasutades märksõna 'laiendatud'.
12) Mida tähendab lõpuklass ja lõppmeetod?
'final' tutvustatakse PHP5-s. Lõplik klass tähendab, et seda klassi ei saa laiendada ja lõplikku meetodit ei saa tühistada.
13) Kuidas toimub objektide võrdlemine PHP-s?
Kasutame operaatorit '==', et kontrollida, kas kaks objekti on samast klassist ja neil on samad atribuudid ja võrdsed väärtused. Saame testida, kas kaks objekti viitavad sama klassi samale eksemplarile, kasutades identiteedioperaatorit '==='.
14) Kuidas saavad PHP ja HTML omavahel suhelda?
PHP-skriptide kaudu on võimalik genereerida HTML-i ning HTML-ist on võimalik infokilde PHP-sse edastada.
15) Millist tüüpi toimingut on vaja väärtuste edastamisel vormi või URL-i kaudu?
Kui soovime väärtusi vormi või URL-i kaudu edastada, peame need kodeerima ja dekodeerima htmlspecialchars() ja urlencode() abil.
16) Kuidas saab PHP ja Javascript suhelda?
PHP ja Javascript ei saa otseselt suhelda, kuna PHP on serveripoolne keel ja Javascript on kliendipoolne keel. Siiski saame muutujaid vahetada, kuna PHP suudab genereerida Javascript kood, mida brauser käivitab ja URL-i kaudu on võimalik konkreetseid muutujaid PHP-le tagasi anda.
17) Mida on vaja pildifunktsiooni kasutamiseks?
Pildifunktsioonide täitmiseks on vaja GD teeki.
18) Mis kasu on funktsioonist 'imagetypes()'?
imagetypes()
annab GD-PHP praeguse versiooni toetatud pildivormingu ja tüübid.
19) Milliseid funktsioone tuleb kasutada pildi omaduste (suurus, laius ja kõrgus) saamiseks?
. funktsioonid on getimagesize()
suuruse jaoks, imagesx()
laiusele ja imagesy()
kõrguse jaoks.
20) Kuidas käsitletakse tõrkeid täitmisel funktsioonide include() ja request() abil?
Kui funktsioon require()
ei pääse failile juurde, siis lõpeb see saatusliku veaga. Siiski, include()
funktsioon annab hoiatuse ja PHP skript jätkab täitmist.
21) Mis on põhiline erinevus nõudmise() ja request_once() vahel?
require()
ja require_once()
täidab sama ülesande, välja arvatud see, et teine funktsioon kontrollib enne selle käivitamist, kas PHP-skript on juba lisatud või mitte.
(sama jaoks include_once() ja include())
22) Kuidas ma saan PHP-skriptiga teksti kuvada?
Võimalikud on kaks meetodit:
<!--?php echo "Method 1"; print "Method 2"; ?-->
23) Kuidas saame PHP-ga kuvada muutuja teavet ja inimesele loetavat?
Inimloetava tulemuse kuvamiseks kasutame print_r()
.
24) Kuidas on võimalik PHP skriptile määrata lõputu täitmisaeg?
Skripti algusesse lisatud set_time_limit(0) seab täitmisaja lõputult, et ei tekiks PHP viga "maksimaalne täitmisaeg". Seda on võimalik määrata ka failis php.ini.
PHP-intervjuu küsimused ja vastused kogenud inimestele
25) Mida tähendab PHP viga 'Parse error in PHP – ootamatu T_muutuja real x'?
See on PHP süntaksiviga, mis väljendab, et viga real x peatab programmi sõelumise ja täitmise.
26) Mida peaksime tegema, et saaksime andmeid Exceli faili eksportida?
Kõige tavalisem ja kasutatav viis on hankida andmed Exceli toetatud vormingusse. Näiteks on võimalik kirjutada .csv fail, valida väljade eraldajaks näiteks koma ja seejärel fail Exceliga avada.
27) Milleks on funktsioon file_get_contents() kasulik?
file_get_contents()
võimaldab lugeda faili ja salvestada see stringi muutujasse.
28) Kuidas saame ühendada a MySQL andmebaas PHP-skriptist?
Ühenduse loomiseks a MySQL andmebaasi, peame kasutama funktsiooni mysqli_connect() järgmiselt:
<!--?php $database = mysqli_connect("HOST", "USER_NAME", "PASSWORD"); mysqli_select_db($database,"DATABASE_NAME"); ?-->
29) Milleks on funktsioon mysql_pconnect() kasulik?
mysql_pconnect()
tagada püsiv ühendus andmebaasiga, see tähendab, et PHP skripti lõppedes ühendus ei sulgu.
PHP 7.0 ja uuemad versioonid seda funktsiooni ei toeta
30) Kuidas käsitletakse PHP-s MySQL tulemuste komplekti?
Tulemuste komplekti saab käsitleda kasutades mysqli_fetch_array, mysqli_fetch_assoc, mysqli_fetch_object või mysqli_fetch_row.
31) Kuidas on võimalik teada tulemuskomplektis tagastatud ridade arvu?
funktsioon mysqli_num_rows()
tagastab tulemuskomplekti ridade arvu.
32) Milline funktsioon annab meile päringu mõjutatud kirjete arvu?
mysqli_affected_rows()
tagastab SQL-päringu mõjutatud kirjete arvu.
33) Mis vahe on mysqli_fetch_object() ja mysqli_fetch_array() vahel?
. mysqli_fetch_object()
funktsioon kogub esimese üksiku sobiva kirje, kus mysqli_fetch_array()
kogub kõik tabelist vastavad kirjed massiivi.
34) Kuidas pääseme ligi URL-i kaudu saadetud andmetele GET-meetodiga?
GET-meetodi kaudu saadetud andmetele juurdepääsuks kasutame massiivi $_GET järgmiselt:
www.url.com?var=value $variable = $_GET["var"]; this will now contain 'value'
35) Kuidas pääseme ligi URL-i kaudu saadetud andmetele POST-meetodiga?
Sel viisil saadetud andmetele juurdepääsuks kasutate massiivi $_POST.
Kujutage ette, et teil on vormi väli nimega 'var', kui kasutaja klõpsab postitusvormile Esita, siis pääsete väärtusele juurde järgmiselt:
$_POST["var"];
36) Kuidas kontrollida, kas antud muutuja väärtus on arv?
On võimalik kasutada spetsiaalset funktsiooni is_numeric(), et kontrollida, kas see on arv või mitte.
37) Kuidas kontrollida, kas antud muutuja väärtus on tähtnumbriline?
On võimalik kasutada spetsiaalset funktsiooni ctype_alnum, et kontrollida, kas see on tähtnumbriline väärtus või mitte.
38) Kuidas kontrollida, kas antud muutuja on tühi?
Kui tahame kontrollida, kas muutujal on väärtus või mitte, on võimalik kasutada tühja() funktsiooni.
39) Mida tähendab funktsioon unlink()?
Funktsioon unlink() on mõeldud failisüsteemi haldamiseks. See lihtsalt kustutab kirjena antud faili.
40) Mida tähendab funktsioon unset()?
Funktsioon unset() on mõeldud muutujate haldamiseks. See muudab muutuja määratlemata.
41) Kuidas pääseda andmetest enne nende andmebaasi salvestamist?
Kaldkriipsude funktsioon võimaldab meil andmetest enne andmebaasi salvestamist põgeneda.
42) Kuidas on võimalik stringist paomärke eemaldada?
Ribakriipsude funktsioon võimaldab meil eemaldada paomärgid enne apostroofe a-st nöör.
43) Kuidas saame automaatselt sissetulevate andmete eest põgeneda?
Peame lubama PHP konfiguratsioonifailis kirje Magic quotes.
44) Mida tähendab funktsioon get_magic_quotes_gpc()?
Funktsioon get_magic_quotes_gpc() ütleb meile, kas maagilised jutumärgid on sisse lülitatud või mitte.
45) Kas HTML-i silte on võimalik andmetest eemaldada?
Funktsioon strip_tags() võimaldab meil HTML-märgenditest stringi puhastada.
46) milleks on funktsiooni staatiline muutuja kasulik?
Staatiline muutuja defineeritakse funktsiooni sees ainult esimest korda ja selle väärtust saab funktsioonikutsete ajal muuta järgmiselt:
<!--?php function testFunction() { static $testVariable = 1; echo $testVariable; $testVariable++; } testFunction(); //1 testFunction(); //2 testFunction(); //3 ?-->
47) Kuidas me saame määratleda muutuja, mis on juurdepääsetav PHP skripti funktsioonides?
See funktsioon on võimalik globaalse märksõna abil.
48) Kuidas on võimalik funktsioonist väärtust tagastada?
Funktsioon tagastab väärtuse, kasutades käsku 'return $value;'.
49) Mis on kõige mugavam räsimeetod, mida paroolide räsimiseks kasutada?
Eelistatav on kasutada crypt(), mis toetab natiivselt mitut räsialgoritmi, või funktsiooni hash(), mis toetab rohkem variante kui crypt(), selle asemel, et kasutada tavalisi räsimisalgoritme, nagu md5, sha1 või sha256, kuna need on mõeldud kiireks. Seetõttu võib paroolide räsimine nende algoritmidega tekitada haavatavust.
50) Milline krüptograafiline laiend genereerib ja kontrollib digitaalallkirju?
PHP-OpenSSL laiendus pakub mitmeid krüptograafilisi toiminguid, sealhulgas digitaalallkirjade genereerimist ja kontrollimist.
PHP-intervjuu küsimused 5-aastase kogemuse kohta
51) Kuidas defineeritakse PHP skriptis konstant?
Direktiiv define() võimaldab meil defineerida konstandi järgmiselt:
define ("ACONSTANT", 123);
52) Kuidas saab muutujat viitega edasi anda?
Muutuja viitega edastamiseks kasutame selle ees ampersandi järgmiselt: $var1 = &$var2
53) Kas täisarvu 12 ja stringi 13 võrdlus töötab PHP-s?
"13" ja 12 saab PHP-s võrrelda, kuna see heidab kõik täisarvu tüüpi.
54) Kuidas on võimalik PHP-s tüüpe üle kanda?
Väljundi tüübi nimi tuleb määrata sulgudes enne muutujat, mis tuleb üle kanda järgmiselt:
* (int), (täisarv) – täisarvuks heide
* (bool), (tõve) – tõukeele kandmine
* (ujuk), (kahekordne), (päris) – hõljuma heidetud
* (string) – stringiks heide
* (massiivi) – massiivi ülekandmine
* (objekt) – objektiks heide
55) Millal lõpetatakse tingimuslause endifiga?
Kui originaalile if järgnes: ja seejärel koodiplokk ilma sulgudeta.
56) Kuidas kasutatakse PHP-s kolmepoolset tingimuslikku operaatorit?
See koosneb kolmest avaldisest: tingimusest ja kahest operandist, mis kirjeldavad, millist käsku tuleks täita, kui määratud tingimus on tõene või väär, järgmiselt:
Expression_1?Expression_2 : Expression_3;
57) Milleks kasutatakse funktsiooni func_num_args()?
Funktsiooni func_num_args() kasutatakse funktsioonile edastatud parameetrite arvu määramiseks.
58) Kui muutuja $var1 väärtuseks on seatud 10 ja $var2 märgiks var1, mis on muutuja $$var2 väärtus?
$$var2 sisaldab väärtust 10.
59) Mida tähendab klassile juurdepääs :: kaudu?
:: kasutatakse juurdepääsuks staatilistele meetoditele, mis ei vaja objekti lähtestamist.
60) Kas PHP-s edastatakse objekte väärtuse või viite alusel?
PHP-s edastatakse objekte viidetega.
61) Kas vanemkonstruktoreid kutsutakse kaudselt klassikonstruktoris?
Ei, emakonstruktorit tuleb selgelt kutsuda järgmiselt:
parent::constructor($value)
62) Mis vahe on __unerežiimil ja __ärkamisel?
__sleep tagastab kõigi salvestamist vajavate muutujate massiivi, __wakeup aga hangib need.
63) Mis on kiirem?
1- Kahe muutuja kombineerimine järgmiselt:
$variable1 = 'Hello '; $variable2 = 'World'; $variable3 = $variable1.$variable2;
Or
2- $variable3 = "$variable1$variable2";
$muutuja3 sisaldab "Tere maailm". Esimene kood on kiirem kui teine, eriti suurte andmehulkade puhul.
64) mis on seansi definitsioon?
Seanss on loogiline objekt, mis võimaldab meil säilitada ajutisi andmeid mitmel PHP-lehel.
65) Kuidas PHP-s seanssi käivitada?
Funktsiooni session_start() kasutamine võimaldab meil seansi aktiveerida.
66) Kuidas saate seansi ID-d levitada?
Saate seansi ID-d levitada küpsiste või URL-i parameetrite kaudu.
67) Mida tähendab püsiküpsis?
Püsiküpsis salvestatakse püsivalt brauseri arvutis asuvasse küpsisefaili. Vaikimisi on küpsised ajutised ja brauseri sulgemisel need kustutatakse.
68) Millal seansid lõppevad?
Seansid lõpevad automaatselt, kui PHP-skripti täitmise lõpetab, kuid neid saab käsitsi lõpetada, kasutades sessiooni_write_close().
69) Mis vahe on session_unregister() ja session_unset() vahel?
Funktsioon session_unregister() tühistab praeguse seansi globaalse muutuja registreerimise ja funktsioon session_unset() vabastab kõik seansimuutujad.
70) Mida tähendab $GLOBALS?
$GLOBALS on assotsiatiivne massiiv, mis sisaldab viiteid kõigile muutujatele, mis on hetkel defineeritud skripti globaalses ulatuses.
PHP-intervjuu küsimused 10-aastase kogemuse kohta
71) Mida tähendab $_SERVER?
$_SERVER on massiiv, mis sisaldab veebiserveri loodud teavet, nagu teed, päised ja skripti asukohad.
72) Mida tähendab $_FILES?
$_FILES on assotsiatiivne massiiv, mis koosneb üksustest, mis saadetakse praegusele skriptile HTTP POST meetodi kaudu.
73) Mis vahe on $_FILES['userfile']['name'] ja $_FILES['kasutajafail']['tmp_name'] vahel?
$_FILES['kasutajafail']['nimi'] tähistab kliendi masinas oleva faili algset nime,
$_FILES['kasutajafail']['tmp_name'] tähistab serverisse salvestatud faili ajutist failinime.
74) Kuidas saame veateate, kui faili üleslaadimisel on probleeme?
$_FILES['userfile']['error'] sisaldab üleslaaditud failiga seotud veakoodi.
75) Kuidas saame muuta üleslaaditavate failide maksimaalset suurust?
Saame muuta üleslaaditavate failide maksimaalset suurust, muutes failis php.ini faili upload_max_filesize.
76) Mida tähendab $_ENV?
$_ENV on muutujate assotsiatiivne massiiv, mis saadetakse praegusele PHP-skriptile keskkonnameetodi kaudu.
77) Mida tähendab $_COOKIE?
$_COOKIE on muutujate assotsiatiivne massiiv, mis saadetakse praegusele PHP-skriptile HTTP-küpsiste abil.
78) Mida tähendab muutujate ulatus?
Muutuja ulatus on kontekst, milles see on määratletud. Enamasti on kõigil PHP muutujatel ainult üks ulatus. See ühtne ulatus hõlmab ka kaasatud ja nõutavaid faile.
79) mis vahe on 'BITWISE AND' ja operaatoril 'LOOGICAL AND'?
$a ja $b: TRUE, kui nii $a kui ka $b on TÕENED.
$a & $b: Määratakse bitid, mis on määratud nii $a kui ka $b jaoks.
80) Mis on kaks peamist stringioperaatorit?
Esimene on konkatenatsioonioperaator ('.'), mis tagastab oma parem- ja vasakpoolsete argumentide konkatenatsiooni. Teine on ('.='), mis lisab paremal oleva argumendi vasakpoolsele argumendile.
81) Mida tähendab massiivioperaator '==='?
$a === $b TRUE, kui $a ja $b võtme/väärtuse paarid on samas järjekorras ja sama tüüpi.
82) Mis vahe on $a != $b ja $a !== $b vahel?
!= tähendab ebavõrdsust (TRUE, kui $a ei ole võrdne $b-ga) ja !== tähendab mitteidentiteeti (TRUE, kui $a ei ole identne $b-ga).
83) Kuidas teha kindlaks, kas PHP muutuja on teatud klassi instantseeritud objekt?
Et saaksime kontrollida, kas PHP muutuja on teatud klassi instantseeritud objekt, kasutame instanceof.
84) Milleks on goto lause kasulik?
Käsu goto saab paigutada PHP programmi sees hüppamise võimaldamiseks. Sihtmärgile osutab silt, millele järgneb koolon, ja käsk määratakse goto-lausena, millele järgneb soovitud sihtmärgis.
85) Mis vahe on Exception::getMessage ja Exception:: getLine vahel?
Erand::getMessage võimaldab meil saada eranditeate ja Exception::getLine võimaldab meil saada rea, millel erand toimus.
86) Mida tähendab väljend Exception::__toString?
Exception::__toString annab erandi stringi esituse.
87) Kuidas on võimalik konfiguratsioonifaili sõeluda?
Funktsioon parse_ini_file() võimaldab meil laadida failinimes määratud ini-faili ja tagastab selles olevad sätted assotsiatiivse massiivina.
88) Kuidas teha kindlaks, kas muutuja on seatud?
Tõeväärtusfunktsioon isset määrab, kas muutuja on määratud ega ole NULL.
89) Mille poolest erinevad funktsioonid strstr() ja stristr()?
Stringi funktsioon strstr(string allString, string occ) tagastab osa allStringist alates occ esimesest esinemisest kuni allStringi lõpuni. See funktsioon on tõstutundlik. stristr() on identne strstr()-ga, välja arvatud see, et see ei ole tõstutundlik.
90) Mis vahe on foreachil ja foreachil?
jaoks on väljendatud järgmiselt:
jaoks (avaldis1; avaldis2; avaldis3)
avaldus
Esimene avaldis täidetakse alguses üks kord. Igas iteratsioonis hinnatakse avaldist2. Kui see on TRUE, siis tsükkel jätkub ja käsus olevad laused täidetakse. Kui selle väärtus on FALSE, siis tsükli täitmine lõpeb. expr3 testitakse iga iteratsiooni lõpus.
Foreach pakub aga lihtsat viisi massiivide itereerimiseks ning seda kasutatakse ainult massiivide ja objektidega.
91) Kas ankeeti saab esitada spetsiaalse nupuga?
Võimalik on kasutada document.form.submit()
funktsioon vormi esitamiseks. Näiteks: <input type=button value="SUBMIT" onClick="document.form.submit()">
92) Mis vahe on ereg_replace() ja eregi_replace() vahel?
Funktsioon eregi_replace() on identne funktsiooniga ereg_replace(), välja arvatud see, et see eirab tähestikuliste märkide sobitamisel tähtede eristamist.
93) Kas päringustringis on võimalik kaitsta erimärke?
Jah, me kasutame erimärkide kaitsmiseks funktsiooni urlencode().
94) Millised on kolm vigade klassi, mis PHP-s esineda võivad?
Kolm peamist vigade klassi on teated (mittekriitilised), hoiatused (tõsised vead) ja saatuslikud vead (kriitilised vead).
95) Mis vahe on märkidel \034 ja \x34?
\034 on oktaalne 34 ja \x34 on kuueteistkümnend 34.
96) Kuidas saame muutujat lehtede vahel navigeerimisel läbida?
Muutujaid on võimalik PHP lehtede vahel edastada seansside, küpsiste või peidetud vormiväljade abil.
97) Kas PHP skripti täitmisaega on võimalik pikendada?
Set_time_limit(int seconds) kasutamine võimaldab meil pikendada PHP skripti täitmisaega. Vaikimisi on piirang 30 sekundit.
98) Kas küpsist on võimalik hävitada?
Jah, see on võimalik, kui määrate küpsise aegumisaja.
99) Mis on PHP-s vaikimisi seansi aeg?
Seansi vaikeaeg php-s on kuni brauseri sulgemiseni
100) Kas PHP-s on võimalik kasutada COM-komponenti?
Jah, raamistikuna pakutavatesse PHP skriptidesse on võimalik integreerida (hajutatud) komponendi objektimudeli komponente ((D)COM).
101) Selgitage, kas on võimalik jagada ühte Memcache'i eksemplari mitme PHP projekti vahel?
Jah, ühte Memcache'i eksemplari on võimalik jagada mitme projekti vahel. Memcache on mäluruum ja memcache'i saate käitada ühes või mitmes serveris. Samuti saate konfigureerida oma kliendi teatud eksemplaride komplektiga rääkima. Seega saate samas hostis käitada kahte erinevat Memcache protsessi, kuid need on siiski täiesti sõltumatud. Välja arvatud juhul, kui olete oma andmed jaotanud, siis on vaja teada, millisest eksemplarist andmed hankida või kuhu need sisestada.
102) Selgitage, kuidas saate PHP-s muudatusi tehes värskendada rakendust Memcached?
Kui PHP muutub, saate värskendada Memcached by
- Vahemälu ennetav tühjendamine: Vahemälu tühjendamine lisamise või värskenduse tegemisel
- Vahemälu lähtestamine: See sarnaneb esimese meetodiga, kuid selle asemel, et lihtsalt kustutada võtmed ja oodata järgmist andmete taotlust vahemälu värskendamiseks, lähtestada väärtused pärast lisamist või värskendamist.
Need intervjuu küsimused aitavad ka teie viva (suuline)