Vítejte zpět Technici!!! Poskytujeme vám několik otázek a odpovědí na rozhovory, které byly položeny ve většině rozhovorů o prostředí LAMP. Lidé, kteří se ucházejí o práci programátora PHP, by si měli určitě projít těmito otázkami na pohovoru, protože jsou navrženy speciálně pro získání základní představy o tom, jak jsou v dnešní době kladeny otázky při pohovorech. Tento seznam byl sestaven po několika žádostech našich čtenářů o sestavení sady otázek kombinující všechny aspekty LAMP, takže by byl užitečný pro mnoho lidí.
O:1 Uveďte prosím, jak odeslat formulář bez použití tlačítka Odeslat?
Odpověď:Formulář můžeme odeslat bez použití tlačítka Odeslat tím, že kód JavaScript propojíme s jakýmkoli spouštěčem události pole formuláře. A stačí přidat funkci document.form.submit() pro odeslání formuláře při spuštění události.
O:2 Uveďte hlavní rozdíl mezi mysql_fetch_array a mysql_fetch_object?
Odpověď:Mysql_fetch_array načte všechny odpovídající záznamy, zatímco mysql_fetch_object načte pouze první záznam, který odpovídá dotazu.
O:3 Uveďte hlavní rozdíl mezi $message a $$message?
Odpověď:$message je název proměnné, zatímco $$message je proměnná s názvem uloženým uvnitř $message.
Pokud například $message=”var”, pak $$message je totéž jako $var
O:4 Uveďte hlavní rozdíl mezi required a include, include_once ?
Odpověď:Hlavní rozdíl je v tom, že při použití require vyvolá fatální chybu, když soubor není nalezen, zatímco include a include_once zobrazí varování a pokračuje v načítání stránky.
O:5 Jaký je rozdíl mezi funkcemi unlink a unset?
Odpověď:Funkce Unlink() smaže soubor, zatímco Unset() udělá proměnnou set jako nedefinovanou.
O:6 Jak definujete relaci?
Odpověď:Session je metoda pro uložení některých dat, která mají být použita na více stránkách. Z technického hlediska se jedná o logický objekt, který je uložen na serveru, aby vám pomohl ukládat data a lze k němu přistupovat prostřednictvím více požadavků HTTP. Relace je vždy dočasná na základě časového limitu relace nastaveného na vašem serveru Apache.
O:7 Jak zaregistrujete proměnné do relace?
Odpověď:Chcete-li zaregistrovat proměnné v relaci, musíte použít funkci session_register()
Příklad:session_register($login_id)
O:8 Jak zjistíte počet prvků přítomných v poli?
Odpověď:Chcete-li najít ne. prvků v poli, můžete použít funkci count() nebo sizeof()
Příklad: count($array) nebo sizeof($array).
O:9 Můžete zašifrovat své heslo v PHP a jak to udělat?
Odpověď:Ano, v PHP můžete šifrovat hesla a všechny druhy dat pomocí funkcí md5() nebo sha().
O:10 Co je to trigger a podporuje MySQL triggery ?
Odpověď:Spouštěč je databázový objekt, který je přidružen ke konkrétní tabulce v databázi. Aktivuje se automaticky a provede se, když na stole nastanou akce INSERT, UPDATE, DELETE.
MySQL podporuje spouštěče z verze MySQL 5.0.2.
O:11 Uveďte hlavní rozdíl mezi mysql_connect a mysql_pconnect?
Odpověď:S mysql_connect otevíráte připojení k databázi pokaždé, když se stránka načte, zatímco s mysql_pconnect se připojení naváže pouze jednou a poskytuje přístup k databázi přes více požadavků.
O:12 Jak opravit tabulku v MySQL?
Odpověď:Chcete-li opravit tabulku v MySQL, musíte použít následující dotaz:
REPAIR TABLE {table name} REPAIR TABLE {table name} QUICK / EXTENDED
MySQL provede opravu pouze indexového stromu, pokud je zadáno QUICK
MySQL vytvoří index řádek po řádku, pokud je zadáno EXTENDED.
O:13 Je PHP programovací jazyk rozlišující malá a velká písmena?
Odpověď:Částečně rozlišuje malá a velká písmena, kde můžeme používat názvy funkcí a tříd s rozlišováním malých a velkých písmen, ale proměnné je třeba používat s rozlišením malých a velkých písmen.
O:14 Jak lze zacházet se smyčkami v PHP?
Odpověď:V PHP používáte cyklické příkazy jako while, do while, for a for each.
O:15 Můžete spustit PHP skript v příkazovém řádku?
Odpověď:Ano, můžeme spustit PHP skript v příkazovém řádku s následujícím argumentem příkazového řádku
# php yourscript.php
Kde php je příkaz ke spuštění skriptu php v rozhraní příkazového řádku (CLI)
O:16 Co je nl2br() ?
Odpověď:Funkce nl2br() vloží zalomení řádků HTML před každý nový řádek v řetězci.
Například nl2br(“How are you”) vrátí řetězce přidané s HTML zalomením řádků před všechny nové řádky v řetězci a výstup bude vypadat takto:
Jak
jsou
vy
O:17 Jak můžeme zašifrovat a dešifrovat data přítomná v tabulce mysql pomocí mysql?
Odpověď:K šifrování dat v tabulce mysql můžete použít následující:AES_ENCRYPT () a AES_DECRYPT ()
O:18 Jaké jsou typy chyb v PHP a vysvětlete každou z nich?
Odpověď:Typy chyb v PHP jsou Notices, Warnings &Fatal Errors.
Upozornění jsou méně důležité chyby, kterým nechcete přikládat velký význam. Stejně jako chyby, ke kterým dochází při pokusu o přístup k proměnné, která není definována. Pokud změníte chyby upozornění tak, aby se nezobrazovaly, tyto druhy chyb neuvidíte vůbec.
Varování jsou chyby nějaké závažné povahy, které vyžadují vaši pozornost. I když se tyto chyby uživateli zobrazí, skript se neukončí. Příklad této chyby zahrnuje přístup k souboru, který neexistuje.
Závažné chyby jsou kritické chyby, které vedou k okamžitému ukončení vašeho skriptu. Příklady těchto chyb zahrnují volání objektu neexistující třídy atd.
O:19 Co jsou htmlentity a jaká je jejich funkčnost?
Odpověď:Htmlentities() pouze převede znaky na entity HTML.
O:20 Co je to urlencode() a urldecode()?
Ans:urlencode() převádí speciální znaky na znaky, které lze bezpečně použít v adresách URL. Většinou jsou převedeny na znaky % spolu se 2 hexadecimálními číslicemi.
Například:urlencode („20:00 %) se převede na „25%2E00%25?“
urldecode() dělá opak a vrací dekódovaný řetězec..
O:21 Jaké funkce obrázku php používáte k získání vlastností obrázku?
Odpověď:Existují různé funkce obrázků php, které se zabývají obrázky a můžete použít:
- exif_imagetype() – Získání typu obrázku
- getimagesize() – Získání velikosti obrázku
- imagesx() – získání šířky obrázku
- imagesy() – Získání výšky obrázku
O:22 Můžete prodloužit dobu provádění skriptu php?
Odpověď:Ano, můžeme použít proměnnou max_execution_time k nastavení požadovaného času, který potřebujete pro spuštění php skriptu.
O:23 Můžete zvýšit maximální velikost uploadu v PHP?
Odpověď:Ano, můžeme použít proměnnou upload_max_filesize ke změně maximální velikosti souboru, který můžete nahrát.
O:24 Uveďte prosím, jak můžete provést zálohu celé databáze v mysql?
Odpověď:Pomocí nástroje příkazového řádku můžete snadno vytvořit zálohu celé tabulky mysql nebo konkrétní tabulky mysql pomocí následujícího:
mysqldump –-user [user_name] –-password=[password] [database_name] > [dump_file_name]
O:25 Jak zničit proměnnou relace?
Odpověď:Session_unregister() Zrušte registraci globální proměnné z aktuální relace
O:26 Jak můžeme zrušit nastavení proměnné relace?
Odpověď:Pomocí funkce session_unset($variable_name) lze vymazat proměnnou session.
O:27 Jak zničit soubor cookie?
Odpověď:Stačí nastavit cookie na předchozí datum nebo čas.
O:28 Vysvětlete prosím, co je špatného na tomto dotazu „Vybrat * z názvu_tabulky“?
Odpověď:Nikdy byste neměli vybírat všechny sloupce tabulky, pokud to není potřeba, a určovat pouze sloupce požadované v dotazu. Důvodem je to, že k načtení dat zabere hodně paměti, pokud jsou záznamy velké, když budete používat pouze 2 nebo 3 pole z tabulky.
O:29 Co je SQL Injection a jak se s tím vypořádáte?
Odpověď:SQL injection je technika, kterou využívají hackeři k získání přístupu do vaší databáze pomocí škodlivých SQL příkazů. Pomocí tohoto může kdokoli získat úplný přístup k vaší databázi bez jakéhokoli oprávnění nebo povolení.
Pro začátek je třeba použít mysql_real_escape_string() k filtrování uživatelských vstupních dat před předáním příkazu sql.
O:30 Vysvětlete prosím výstup níže uvedeného kódu a vysvětlete zdůvodnění?
$a = 012; echo $a / 4;
Odpověď:Odpověď je 2,5.
V PHP, kdykoli je před číslem 0, bude považováno za osmičkové číslo, a proto je osmičkové číslo 012 ekvivalentní desítkovému číslu 10, takže 10/4 je 2,5