A 100 legnépszerűbb PHP-interjú kérdés és válasz (PDF)
PHP-interjúkérdések pályakezdőknek
1) Mi az a PHP?
A PHP egy szkripteken alapuló webnyelv, amely lehetővé teszi a fejlesztők számára generált weboldalak dinamikus létrehozását.
2) Mit jelentenek a PHP kezdőbetűi?
PHP a Hypertext Pre-processor rövidítése.
👉 Ingyenes PDF letöltés: PHP-interjú kérdések és válaszok
3) Melyik programozási nyelvre hasonlít a PHP?
A PHP szintaxisa hasonlít a Perl és C
4) Mit jelent a KÖRTTE?
A PEAR jelentése „PHP kiterjesztés és alkalmazástár”. Kibővíti a PHP-t, és magasabb szintű programozást biztosít a webfejlesztők számára.
5) Mi a ténylegesen használt PHP verzió?
A PHP ajánlott verziója a 7.1 vagy 7.2.
6) Hogyan lehet végrehajtani egy PHP szkriptet a parancssorból?
Csak használja a PHP parancssori felületet (CLI), és adja meg a végrehajtandó szkript fájlnevét az alábbiak szerint:
php script.php
7) Hogyan lehet futtatni az interaktív PHP shellt a parancssori felületről?
Csak használja a PHP CLI programot az -a kapcsolóval az alábbiak szerint:
php -a
8) Mi a helyes és a két leggyakoribb módja egy PHP kódblokk indításának és befejezésének?
A PHP-szkriptek elindításának és befejezésének két leggyakoribb módja:
<?php [ --- PHP code---- ] ?> and <? [--- PHP code ---] ?>
9) Hogyan jeleníthetjük meg a kimenetet közvetlenül a böngészőben?
Ahhoz, hogy a kimenetet közvetlenül a böngészőben tudjuk megjeleníteni, speciális címkéket kell használnunk .
10) Mi a fő különbség a PHP 4 és a PHP 5 között?
A PHP 5 számos további OOP-t (Objektumorientált programozás) jellemzők.
11) Támogatja a többszörös öröklést a PHP?
A PHP csak egyszeri öröklődést támogat; ez azt jelenti, hogy egy osztályt csak egyetlen osztályból lehet kiterjeszteni az 'extended' kulcsszó használatával.
12) Mit jelent a végső osztály és a végső módszer?
A 'final' bekerült a PHP5-be. A végső osztály azt jelenti, hogy ez az osztály nem bővíthető, és egy végső metódus nem bírálható felül.
13) Hogyan történik az objektumok összehasonlítása PHP-ben?
A '==' operátort használjuk annak tesztelésére, hogy két objektum ugyanabból az osztályból van-e példányban, és azonos attribútumokkal és azonos értékekkel rendelkezik. A '===' identitásoperátor használatával tesztelhetjük, hogy két objektum ugyanannak az osztálynak ugyanarra a példányára hivatkozik-e.
14) Hogyan tud együttműködni a PHP és a HTML?
Lehetőség van HTML generálásra PHP szkripteken keresztül, és lehetőség van információk átadására a HTML-ből a PHP-be.
15) Milyen típusú műveletre van szükség az értékek űrlapon vagy URL-en keresztül történő átadásakor?
Ha egy űrlapon vagy URL-en szeretnénk értékeket átadni, akkor ezeket kódolnunk kell és dekódolnunk kell a htmlspecialchars() és urlencode() segítségével.
16) Hogyan lehet a PHP és Javascript egymásra hat?
PHP és Javascript nem tud közvetlenül kölcsönhatásba lépni, mivel a PHP szerveroldali nyelv és Javascript egy ügyféloldali nyelv. A változókat azonban kicserélhetjük, mivel a PHP képes generálni Javascript kódot kell végrehajtania a böngészőnek, és lehetőség van adott változók visszaküldésére a PHP-nek az URL-en keresztül.
17) Mi szükséges a kép funkció használatához?
A képfunkciók végrehajtásához GD könyvtárra van szükség.
18) Mire használható az 'imagetypes()' függvény?
imagetypes() megadja a GD-PHP jelenlegi verziója által támogatott képformátumot és -típusokat.
19) Milyen függvényekkel kapjuk meg a kép tulajdonságait (méret, szélesség és magasság)?
Az funkciók getimagesize() méretre, imagesx() szélességre és imagesy() magassághoz.
20) Hogyan kezeljük a végrehajtási hibákat az include() és a request() függvényekkel?
Ha a funkció require() nem fér hozzá a fájlhoz, akkor végzetes hibával végződik. Azonban a include() függvény figyelmeztetést ad, és a PHP szkript fut tovább.
21) Mi a fő különbség a request() és a request_once() között?
require()és require_once() hajtsa végre ugyanazt a feladatot, kivéve, hogy a második függvény a végrehajtás előtt ellenőrzi, hogy a PHP szkript már benne van-e vagy sem.
(ugyanaz include_once() és include() esetén)
22) Hogyan jeleníthetek meg szöveget PHP szkripttel?
Két módszer lehetséges:
<!--?php echo "Method 1"; print "Method 2"; ?-->
23) Hogyan tudjuk megjeleníteni egy változó információit, és az ember számára olvasható legyen PHP-vel?
Ahhoz, hogy ember által olvasható eredményt tudjunk megjeleníteni, használjuk print_r().
24) Hogyan lehet végtelen végrehajtási időt beállítani a PHP szkripthez?
A szkript elejéhez hozzáadott set_time_limit(0) végtelen végrehajtási időt állít be, hogy ne legyen „a maximális végrehajtási idő túllépése” PHP hiba. Ezt a php.ini fájlban is meg lehet adni.
PHP-interjú kérdések és válaszok tapasztaltaknak
25) Mit jelent a PHP-hiba „Elemzési hiba a PHP-ben – váratlan T_változó az x sorban”?
Ez egy PHP szintaktikai hiba, amely azt fejezi ki, hogy az x sorban lévő hiba leállítja a program elemzését és végrehajtását.
26) Mit tegyünk, hogy adatokat exportálhassunk Excel fájlba?
A legáltalánosabb és leggyakrabban használt módszer az adatok Excel által támogatott formátumba gyűjtése. Lehetőség van például .csv fájl írására, például vessző kiválasztására a mezők elválasztójaként, majd a fájl megnyitására Excel-lel.
27) Mire hasznos a file_get_contents() függvény?
file_get_contents() lehetővé teszi egy fájl beolvasását és egy karakterlánc változóban való tárolását.
28) Hogyan kapcsolódhatunk a MySQL adatbázis PHP szkriptből?
Ahhoz, hogy a MySQL adatbázis, a mysqli_connect() függvényt a következőképpen kell használnunk:
<!--?php $database = mysqli_connect("HOST", "USER_NAME", "PASSWORD"); mysqli_select_db($database,"DATABASE_NAME"); ?-->
29) Mire hasznos a mysql_pconnect() függvény?
mysql_pconnect() biztosítsa a folyamatos kapcsolatot az adatbázissal, ez azt jelenti, hogy a kapcsolat nem záródik be, amikor a PHP szkript véget ér.
Ez a funkció a PHP 7.0 és újabb verzióiban nem támogatott
30) Hogyan kezelhető a Mysql eredménykészlete PHP-ben?
Az eredményhalmaz a mysqli_fetch_array, mysqli_fetch_assoc, mysqli_fetch_object vagy mysqli_fetch_row segítségével kezelhető.
31) Honnan lehet tudni, hogy az eredményhalmazban hány sor kerül vissza?
A funkció mysqli_num_rows() egy eredményhalmaz sorainak számát adja vissza.
32) Melyik függvény adja meg a lekérdezés által érintett bejegyzések számát?
mysqli_affected_rows() visszaadja az SQL-lekérdezés által érintett bejegyzések számát.
33) Mi a különbség a mysqli_fetch_object() és a mysqli_fetch_array() között?
Az mysqli_fetch_object() függvény összegyűjti az első egyező rekordot, ahol mysqli_fetch_array() összegyűjti az összes egyező rekordot a táblából egy tömbbe.
34) Hogyan érhetjük el a GET metódussal az URL-en keresztül küldött adatokat?
A GET metóduson keresztül küldött adatok eléréséhez a következő $_GET tömböt használjuk:
www.url.com?var=value $variable = $_GET["var"]; this will now contain 'value'
35) Hogyan érhetjük el a POST metódussal az URL-en keresztül küldött adatokat?
Az így küldött adatok eléréséhez használja a $_POST tömböt.
Képzelje el, hogy van egy „var” nevű űrlapmező az űrlapon, amikor a felhasználó rákattint a beküldés a közzétételi űrlapra, majd a következőképpen érheti el az értéket:
$_POST["var"];
36) Hogyan ellenőrizhetjük, hogy egy adott változó értéke szám?
Lehetőség van az is_numeric() dedikált függvény használatával ellenőrizni, hogy szám-e vagy sem.
37) Hogyan ellenőrizhetjük, hogy egy adott változó értéke alfanumerikus?
Lehetőség van a dedikált ctype_alnum függvény használatával ellenőrizni, hogy alfanumerikus érték-e vagy sem.
38) Hogyan ellenőrizhetem, hogy egy adott változó üres-e?
Ha ellenőrizni akarjuk, hogy egy változónak van-e értéke vagy sem, akkor használhatjuk az üres() függvényt.
39) Mit jelent az unlink() függvény?
Az unlink() függvény a fájlrendszer kezelésére szolgál. Egyszerűen törli a bejegyzésként megadott fájlt.
40) Mit jelent az unset() függvény?
Az unset() függvény a változók kezelésére szolgál. Egy változót definiálatlanná tesz.
41) Hogyan távolíthatom el az adatokat az adatbázisban való tárolás előtt?
Az addslashes funkció lehetővé teszi, hogy az adatbázisban való tárolás előtt kikerüljük az adatokat.
42) Hogyan lehet eltávolítani az escape karaktereket egy karakterláncból?
A csíkos perjel funkció lehetővé teszi az escape karakterek eltávolítását az aposztrófok előtt az a-ban húr.
43) Hogyan tudjuk automatikusan elkerülni a bejövő adatokat?
Engedélyeznünk kell a Magic quotes bejegyzést a PHP konfigurációs fájljában.
44) Mit jelent a get_magic_quotes_gpc() függvény?
A get_magic_quotes_gpc() függvény megmondja, hogy a mágikus idézetek be vannak-e kapcsolva vagy sem.
45) El lehet távolítani a HTML címkéket az adatokból?
A strip_tags() függvény lehetővé teszi, hogy megtisztítsunk egy karakterláncot a HTML címkéktől.
46) mire hasznos a függvény statikus változója?
Statikus változót csak az első alkalommal definiálunk egy függvényen belül, és az értéke függvényhívások során az alábbiak szerint módosítható:
<!--?php function testFunction() { static $testVariable = 1; echo $testVariable; $testVariable++; } testFunction(); //1 testFunction(); //2 testFunction(); //3 ?-->
47) Hogyan definiálhatunk egy PHP-szkript függvényeiben elérhető változót?
Ez a funkció a globális kulcsszó használatával lehetséges.
48) Hogyan lehet egy függvényből értéket visszaadni?
A függvény a 'return $value;' utasítással ad vissza értéket.
49) Melyik a legkényelmesebb kivonatolási módszer a jelszavak kivonatolására?
Előnyösebb a crypt() használata, amely natívan támogat több kivonatolási algoritmust, vagy a hash() függvény, amely több változatot támogat, mint a crypt() ahelyett, hogy az általános kivonatolási algoritmusokat (például md5, sha1 vagy sha256) használná, mivel ezek gyorsak. Ezért a jelszavak ezekkel az algoritmusokkal történő kivonatolása sebezhetőséget okozhat.
50) Melyik kriptográfiai kiterjesztés biztosítja a digitális aláírások generálását és ellenőrzését?
A PHP-OpenSSL A kiterjesztés számos kriptográfiai műveletet biztosít, beleértve a digitális aláírások generálását és ellenőrzését.
PHP-interjúkérdések 5 éves tapasztalathoz
51) Hogyan definiálható egy konstans egy PHP szkriptben?
A define() direktíva lehetővé teszi egy állandó definiálását a következőképpen:
define ("ACONSTANT", 123);
52) Hogyan adhatunk át egy változót hivatkozással?
Ahhoz, hogy egy változót referenciaként adhassunk át, egy "és" jelet használunk előtte, a következőképpen: $var1 = &$var2
53) Működik-e PHP-ben egy 12-es egész szám és egy „13” karakterlánc összehasonlítása?
A „13” és a 12 összehasonlítható PHP-ben, mivel mindent egész típusúra vetít.
54) Hogyan lehet típusokat önteni PHP-ben?
A kimenet típusának nevét zárójelben kell megadni a változó előtt, amelyet az alábbiak szerint kell leadni:
* (int), (integer) – egész számra öntve
* (boole), (boolean) – logikai értékre önt
* (lebegés), (kettős), (valódi) – lebegni dobva
* (string) – húrba önts
* (tömb) – átküldés tömbbe
* (objektum) – tárgyra öntve
55) Mikor végződik egy feltételes utasítás endif-el?
Amikor az eredeti if után következett:, majd a kódblokk kapcsos zárójel nélkül.
56) Hogyan használják a hármas feltételes operátort a PHP-ben?
Három kifejezésből áll: egy feltételből és két operandusból, amelyek leírják, hogy milyen utasítást kell végrehajtani, ha a megadott feltétel igaz vagy hamis, az alábbiak szerint:
Expression_1?Expression_2 : Expression_3;
57) Mire használható a func_num_args() függvény?
A func_num_args() függvény a függvénybe átadott paraméterek számát adja meg.
58) Ha a $var1 változó 10-re, a $var2 pedig a var1 karakterre van állítva, mi a $$var2 értéke?
A $$var2 a 10-es értéket tartalmazza.
59) Mit jelent egy osztály elérése a :: segítségével?
A :: az objektum inicializálását nem igénylő statikus metódusok elérésére szolgál.
60) PHP-ben az objektumokat érték vagy hivatkozás alapján adják át?
A PHP-ben az objektumok hivatkozással kerülnek átadásra.
61) A szülő konstruktorokat implicit módon hívják egy osztálykonstruktoron belül?
Nem, a szülő konstruktort kifejezetten meg kell hívni az alábbiak szerint:
parent::constructor($value)
62) Mi a különbség az __alvás és az __ébredés között?
A __sleep visszaadja az összes mentendő változó tömbjét, míg a __wakeup lekéri őket.
63) Mi a gyorsabb?
1- Két változó kombinálása az alábbiak szerint:
$variable1 = 'Hello '; $variable2 = 'World'; $variable3 = $variable1.$variable2;
Or
2- $variable3 = "$variable1$variable2";
A $variable3 tartalmazza a „Hello World”-et. Az első kód gyorsabb, mint a második kód, különösen nagy, nagy adathalmazok esetén.
64) mi a munkamenet definíciója?
A munkamenet egy logikai objektum, amely lehetővé teszi számunkra, hogy több PHP-oldalon megőrizzük az ideiglenes adatokat.
65) Hogyan indíthatunk munkamenetet PHP-ben?
A session_start() függvény használata lehetővé teszi a munkamenet aktiválását.
66) Hogyan terjeszthető a munkamenet-azonosító?
A munkamenet-azonosítót cookie-kkal vagy URL-paraméterekkel terjesztheti.
67) Mit jelent az állandó süti?
Az állandó cookie véglegesen a böngésző számítógépén található cookie fájlban tárolódik. Alapértelmezés szerint a cookie-k ideiglenesek, és törlődnek, ha bezárjuk a böngészőt.
68) Mikor érnek véget a foglalkozások?
A munkamenetek automatikusan véget érnek, amikor a PHP parancsfájl végrehajtása befejeződik, de manuálisan is leállíthatók a session_write_close() használatával.
69) Mi a különbség a session_unregister() és a session_unset() között?
A session_unregister() függvény egy globális változó regisztrációját törli az aktuális munkamenetből, a session_unset() függvény pedig felszabadítja az összes szekcióváltozót.
70) Mit jelent a $GLOBALS?
A $GLOBALS egy asszociatív tömb, amely minden olyan változóra hivatkozik, amely jelenleg a szkript globális hatókörében van definiálva.
PHP-interjúkérdések 10 éves tapasztalathoz
71) Mit jelent a $_SERVER?
A $_SERVER egy tömb, amely a webszerver által létrehozott információkat, például elérési utakat, fejléceket és szkriptek helyét tartalmazza.
72) Mit jelent a $_FILES?
A $_FILES egy asszociatív tömb, amely a HTTP POST metóduson keresztül az aktuális szkriptnek küldött elemekből áll.
73) Mi a különbség a $_FILES['userfile']['name'] és a $_FILES['userfile']['tmp_name'] között?
$_FILES['userfile']['name'] a kliens gépen lévő fájl eredeti neve,
A $_FILES['userfile']['tmp_name'] a szerveren tárolt fájl ideiglenes fájlneve.
74) Hogyan kaphatjuk meg a hibát, ha probléma van a fájl feltöltésével?
A $_FILES['userfile']['error'] tartalmazza a feltöltött fájlhoz tartozó hibakódot.
75) Hogyan módosíthatjuk a feltöltendő fájlok maximális méretét?
Módosíthatjuk a feltöltendő fájlok maximális méretét az upload_max_filesize módosításával a php.ini fájlban.
76) Mit jelent a $_ENV?
A $_ENV változók asszociatív tömbje, amelyet a környezeti metóduson keresztül küldenek az aktuális PHP szkriptnek.
77) Mit jelent a $_COOKIE?
A $_COOKIE változók asszociatív tömbje, amelyet a HTTP Cookie-k segítségével küldenek az aktuális PHP szkriptnek.
78) Mit jelent a változók köre?
Egy változó hatóköre az a kontextus, amelyen belül meghatározásra került. A legtöbb PHP-változónak csak egyetlen hatóköre van. Ez az egyetlen hatókör a beépített és a szükséges fájlokra is kiterjed.
79) mi a különbség a 'BITWISE ÉS' operátor és a 'LOGICAL AND' operátor között?
$a és $b: IGAZ, ha $a és $b is IGAZ.
$a és $b: A $a és $b mezőben is beállított bitek be vannak állítva.
80) Mi a két fő karakterlánc-operátor?
Az első az összefűzési operátor ('.'), amely visszaadja a jobb és bal oldali argumentumok összefűzését. A második a ('.='), amely hozzáfűzi a jobb oldali argumentumot a bal oldali argumentumhoz.
81) Mit jelent a '===' tömboperátor?
$a === $b IGAZ, ha $a és $b ugyanazt a kulcs/érték párokat tartalmazza, ugyanabban a sorrendben és azonos típusúak.
82) Mi a különbség $a != $b és $a !== $b között?
Az != egyenlőtlenséget jelent (IGAZ, ha $a nem egyenlő $b-vel), a !== pedig nem azonosságot (IGAZ, ha $a nem azonos $b-vel).
83) Hogyan állapíthatjuk meg, hogy egy PHP-változó egy bizonyos osztály példányos objektuma-e?
Annak ellenőrzésére, hogy egy PHP-változó egy bizonyos osztály példányos objektuma-e, az instanceof-ot használjuk.
84) Mire hasznos a goto utasítás?
A goto utasítás elhelyezhető a ugrás engedélyezéséhez.ping a PHP programon belül. A célpontra egy címke mutat, amelyet egy kettőspont követ, az utasítást pedig egy goto utasításként adjuk meg, amelyet a kívánt célcímke követ.
85) mi a különbség az Exception::getMessage és az Exception:: getLine között?
Az Exception::getMessage segítségével megkapjuk az Exception üzenetet, az Exception::getLine pedig azt a sort, amelyben a kivétel előfordult.
86) Mit jelent az Exception::__toString kifejezés?
Az Exception::__toString megadja a kivétel karakterlánc-ábrázolását.
87) Hogyan lehetséges egy konfigurációs fájl elemzése?
A parse_ini_file() függvény lehetővé teszi, hogy betöltsük a fájlnévben megadott ini fájlt, és asszociatív tömbben adja vissza a benne lévő beállításokat.
88) Hogyan állapíthatjuk meg, hogy egy változó be van-e állítva?
Az isset logikai függvény határozza meg, hogy egy változó be van-e állítva, és nem NULL.
89) Mi a különbség az strstr() és strstr() függvények között?
Az strstr(string allString, string occ) karakterlánc függvény visszaadja az allString egy részét az occ első előfordulásától az allString végéig. Ez a funkció megkülönbözteti a kis- és nagybetűket. A stristr() megegyezik az strstr()-vel, kivéve, hogy nem érzékeny a kis- és nagybetűkre.
90) mi a különbség a foreach és a foreach között?
mert a következőképpen fejeződik ki:
for (expr1; expr2; expr3)
nyilatkozat
Az első kifejezés egyszer végrehajtásra kerül az elején. Minden iterációban az expr2 kiértékelésre kerül. Ha IGAZ, a ciklus folytatódik, és a for utasítások végrehajtásra kerülnek. Ha a kiértékelése FALSE, a ciklus végrehajtása véget ér. Az expr3 minden iteráció végén tesztelésre kerül.
A foreach azonban egyszerű módot biztosít a tömbök közötti iterációra, és csak tömbökkel és objektumokkal használható.
91) Lehet-e nyomtatványt benyújtani erre a célra szolgáló gombbal?
Lehetőség van a document.form.submit() funkciót az űrlap elküldéséhez. Például: <input type=button value="SUBMIT" onClick="document.form.submit()">
92) Mi a különbség az ereg_replace() és az eregi_replace() között?
Az eregi_replace() függvény megegyezik az ereg_replace() függvénnyel, kivéve, hogy figyelmen kívül hagyja a kis- és nagybetűk megkülönböztetését az alfabetikus karakterek egyeztetésekor.
93) Meg lehet védeni a speciális karaktereket egy lekérdezési karakterláncban?
Igen, az urlencode() függvényt használjuk a speciális karakterek védelmére.
94) Mi az a három hibaosztály, amely előfordulhat a PHP-ben?
A három alapvető hibaosztály a figyelmeztetések (nem kritikus), a figyelmeztetések (súlyos hibák) és a végzetes hibák (kritikus hibák).
95) Mi a különbség a \034 és a \x34 karakterek között?
A \034 oktális 34, a \x34 pedig hexadecimális 34.
96) Hogyan vihetjük át a változót az oldalak közötti navigáción?
Lehetőség van a változók átadására a PHP oldalak között munkamenetek, cookie-k vagy rejtett űrlapmezők segítségével.
97) Meg lehet-e hosszabbítani egy PHP szkript végrehajtási idejét?
A set_time_limit(int seconds) használatával meghosszabbíthatjuk egy PHP-szkript végrehajtási idejét. Az alapértelmezett korlát 30 másodperc.
98) Lehetséges a süti megsemmisítése?
Igen, lehetséges, ha a cookie-t lejárt lejárati idővel állítja be.
99) Mi az alapértelmezett munkamenet ideje a PHP-ben?
A php alapértelmezett munkameneti ideje a böngésző bezárásáig tart
100) Használható a COM komponens a PHP-ben?
Igen, lehetséges integrálni (elosztott) komponensobjektum-modell komponenseket ((D)COM) a keretrendszerként biztosított PHP szkriptekbe.
101) Magyarázza el, hogy lehetséges-e megosztani a Memcache egyetlen példányát több PHP projekt között?
Igen, meg lehet osztani a Memcache egyetlen példányát több projekt között. A Memcache egy memóriatár, és futtathatja a memcache-t egy vagy több szerveren. Az ügyfelet úgy is beállíthatja, hogy a példányok egy adott csoportjához beszéljen. Tehát két különböző Memcache-folyamatot futtathat ugyanazon a gazdagépen, és mégis teljesen függetlenek. Hacsak nem particionálta az adatait, akkor szükséges tudni, hogy melyik példányból kell lekérni az adatokat, vagy melyikbe kell bevinni.
102) Magyarázza el, hogyan frissítheti a Memcachedet, amikor módosítja a PHP-t?
Amikor a PHP megváltozik, frissítheti a Memcached by
- A gyorsítótár proaktív törlése: A gyorsítótár törlése beszúrás vagy frissítés végrehajtásakor
- A gyorsítótár visszaállítása: Hasonló az első módszerhez, de ahelyett, hogy egyszerűen törölné a kulcsokat, és megvárná a következő adatkérést a gyorsítótár frissítéséhez, hanem állítsa vissza az értékeket a beillesztés vagy frissítés után.
Ezek az interjúkérdések a viva-ban is segítenek.
