Le 100 migliori domande e risposte all'intervista PHP (PDF)
Domande di intervista PHP per matricole
1) Cos'è PHP?
PHP è un linguaggio web basato su script che consentono agli sviluppatori di creare pagine web generate dinamicamente.
2) Cosa significano le iniziali di PHP?
PHP sta per preprocessore ipertestuale.
👉 Download gratuito del PDF: domande e risposte all'intervista PHP
3) A quale linguaggio di programmazione assomiglia PHP?
La sintassi PHP assomiglia a Perl e C
4) Cosa significa PERA?
PEAR significa “Estensione PHP e repository di applicazioni”. Estende PHP e fornisce un livello più elevato di programmazione per gli sviluppatori web.
5) Qual è la versione PHP attualmente utilizzata?
La versione 7.1 o 7.2 è la versione consigliata di PHP.
6) Come si esegue uno script PHP dalla riga di comando?
Basta utilizzare l'interfaccia a riga di comando (CLI) di PHP e specificare il nome del file dello script da eseguire come segue:
php script.php
7) Come eseguire la shell PHP interattiva dall'interfaccia della riga di comando?
Basta usare il programma PHP CLI con l'opzione -a come segue:
php -a
8) Qual è il modo corretto e il più comune per iniziare e finire un blocco di codice PHP?
I due modi più comuni per avviare e terminare uno script PHP sono:
<?php [ --- PHP code---- ] ?> and <? [--- PHP code ---] ?>
9) Come possiamo visualizzare l'output direttamente nel browser?
Per poter visualizzare l'output direttamente nel browser, dobbiamo utilizzare i tag speciali .
10) Qual è la differenza principale tra PHP 4 e PHP 5?
PHP 5 presenta molti OOP aggiuntivi (Programmazione orientata agli oggetti) Caratteristiche.
11) L'ereditarietà multipla è supportata in PHP?
PHP supporta solo l'ereditarietà singola; significa che una classe può essere estesa da una sola classe utilizzando la parola chiave 'extended'.
12) Qual è il significato di una classe finale e di un metodo finale?
'final' è introdotto in PHP5. Classe finale significa che questa classe non può essere estesa e un metodo finale non può essere sovrascritto.
13) Come avviene il confronto degli oggetti in PHP?
Usiamo l'operatore '==' per verificare se due oggetti sono istanziati dalla stessa classe e hanno gli stessi attributi e valori uguali. Possiamo verificare se due oggetti si riferiscono alla stessa istanza della stessa classe utilizzando l'operatore identità '==='.
14) Come possono interagire PHP e HTML?
È possibile generare HTML tramite script PHP ed è possibile trasferire informazioni da HTML a PHP.
15) Che tipo di operazione è necessaria quando si passano valori attraverso un modulo o un URL?
Se desideriamo passare valori attraverso un form o un URL, allora dobbiamo codificarli e decodificarli utilizzando htmlspecialchars() e urlencode().
16) Come possono PHP e Javascript interagire?
PHP e Javascript non può interagire direttamente poiché PHP è un linguaggio lato server e Javascript è un linguaggio lato client. Tuttavia, possiamo scambiare variabili poiché PHP può generare Javascript codice da eseguire dal browser ed è possibile restituire variabili specifiche a PHP tramite l'URL.
17) Cosa è necessario per poter utilizzare la funzione immagine?
La libreria GD è necessaria per eseguire le funzioni dell'immagine.
18) A cosa serve la funzione 'imagetypes()'?
imagetypes()
fornisce il formato e i tipi di immagine supportati dalla versione corrente di GD-PHP.
19) Quali sono le funzioni da utilizzare per ottenere le proprietà dell'immagine (dimensione, larghezza e altezza)?
Le le funzioni sono getimagesize()
per dimensioni, imagesx()
per larghezza e imagesy()
per altezza.
20) Come vengono gestiti gli errori di esecuzione con le funzioni include() e require()?
Se la funzione require()
non può accedere al file, termina con un errore fatale. comunque, il include()
la funzione fornisce un avviso e lo script PHP continua l'esecuzione.
21) Qual è la differenza principale tra require() e require_once()?
require()
e require_once()
esegue lo stesso compito tranne che la seconda funzione controlla se lo script PHP è già incluso o meno prima di eseguirlo.
(lo stesso per include_once() e include())
22) Come posso visualizzare il testo con uno script PHP?
Sono possibili due metodi:
<!--?php echo "Method 1"; print "Method 2"; ?-->
23) Come possiamo visualizzare le informazioni di una variabile e leggibili da un essere umano con PHP?
Per poter visualizzare un risultato leggibile dall'uomo utilizziamo print_r()
.
24) Come è possibile impostare un tempo di esecuzione infinito per lo script PHP?
Il set_time_limit(0) aggiunto all'inizio di uno script imposta su infinito il tempo di esecuzione per non avere l'errore PHP "tempo massimo di esecuzione superato". È anche possibile specificarlo nel file php.ini.
Domande e risposte all'intervista PHP per esperti
25) Cosa significa l'errore PHP 'Errore di analisi in PHP – variabile T_imprevista alla riga x'?
Questo è un errore di sintassi PHP che indica che un errore alla riga x interrompe l'analisi e l'esecuzione del programma.
26) Cosa dobbiamo fare per poter esportare i dati in un file Excel?
Il modo più comune e utilizzato è ottenere i dati in un formato supportato da Excel. Ad esempio è possibile scrivere un file .csv, scegliere ad esempio la virgola come separatore tra i campi e poi aprire il file con Excel.
27) A cosa serve la funzione file_get_contents()?
file_get_contents()
consente di leggere un file e di memorizzarlo in una variabile stringa.
28) Come possiamo connetterci ad a MySQL database da uno script PHP?
Per essere in grado di connettersi a a MySQL database, dobbiamo usare la funzione mysqli_connect() come segue:
<!--?php $database = mysqli_connect("HOST", "USER_NAME", "PASSWORD"); mysqli_select_db($database,"DATABASE_NAME"); ?-->
29) A cosa serve la funzione mysql_pconnect()?
mysql_pconnect()
garantire una connessione persistente al database, significa che la connessione non si chiude quando termina lo script PHP.
Questa funzione non è supportata in PHP 7.0 e versioni successive
30) Come viene gestito il set di risultati di Mysql in PHP?
Il set di risultati può essere gestito utilizzando mysqli_fetch_array, mysqli_fetch_assoc, mysqli_fetch_object o mysqli_fetch_row.
31) Come è possibile conoscere il numero di righe restituite nel set di risultati?
La funzione mysqli_num_rows()
restituisce il numero di righe in un set di risultati.
32) Quale funzione ci fornisce il numero di voci interessate da una query?
mysqli_affected_rows()
restituire il numero di voci interessate da una query SQL.
33) Qual è la differenza tra mysqli_fetch_object() e mysqli_fetch_array()?
Le mysqli_fetch_object()
la funzione raccoglie il primo singolo record corrispondente dove mysqli_fetch_array()
raccoglie tutti i record corrispondenti dalla tabella in un array.
34) Come possiamo accedere ai dati inviati tramite URL con il metodo GET?
Per accedere ai dati inviati tramite il metodo GET, utilizziamo l'array $_GET in questo modo:
www.url.com?var=value $variable = $_GET["var"]; this will now contain 'value'
35) Come possiamo accedere ai dati inviati tramite URL con il metodo POST?
Per accedere ai dati inviati in questo modo, si utilizza l'array $_POST.
Immagina di avere un campo modulo chiamato "var" sul modulo quando l'utente fa clic su Invia al modulo di post, puoi quindi accedere al valore in questo modo:
$_POST["var"];
36) Come possiamo verificare che il valore di una determinata variabile sia un numero?
È possibile utilizzare la funzione dedicata, is_numeric() per verificare se si tratta di un numero o meno.
37) Come possiamo verificare che il valore di una determinata variabile sia alfanumerica?
E' possibile utilizzare la funzione dedicata, ctype_alnum per verificare se si tratta di un valore alfanumerico o meno.
38) Come posso verificare se una determinata variabile è vuota?
Se vogliamo verificare se una variabile ha un valore oppure no, è possibile utilizzare la funzione empty().
39) Cosa significa la funzione unlink()?
La funzione unlink() è dedicata alla gestione del file system. Elimina semplicemente il file indicato come voce.
40) Cosa significa la funzione unset()?
La funzione unset() è dedicata alla gestione delle variabili. Renderà una variabile indefinita.
41) Come posso salvare i dati prima di memorizzarli nel database?
La funzione addlashes ci consente di sfuggire ai dati prima di memorizzarli nel database.
42) Come è possibile rimuovere i caratteri di escape da una stringa?
La funzione stripslashes ci consente di rimuovere i caratteri di escape prima degli apostrofi in a stringa.
43) Come possiamo sfuggire automaticamente ai dati in arrivo?
Dobbiamo abilitare la voce virgolette magiche nel file di configurazione di PHP.
44) Cosa significa la funzione get_magic_quotes_gpc()?
La funzione get_magic_quotes_gpc() ci dice se le virgolette magiche sono attivate o no.
45) È possibile rimuovere i tag HTML dai dati?
La funzione strip_tags() ci permette di pulire una stringa dai tag HTML.
46) a cosa serve la variabile statica in funzione?
Una variabile statica viene definita all'interno di una funzione solo la prima volta e il suo valore può essere modificato durante le chiamate di funzione come segue:
<!--?php function testFunction() { static $testVariable = 1; echo $testVariable; $testVariable++; } testFunction(); //1 testFunction(); //2 testFunction(); //3 ?-->
47) Come possiamo definire una variabile accessibile nelle funzioni di uno script PHP?
Questa funzionalità è possibile utilizzando la parola chiave globale.
48) Come è possibile restituire un valore da una funzione?
Una funzione restituisce un valore utilizzando l'istruzione 'return $value;'.
49) Qual è il metodo di hashing più conveniente da utilizzare per eseguire l'hashing delle password?
È preferibile utilizzare crypt() che supporta nativamente diversi algoritmi di hashing o la funzione hash() che supporta più varianti di crypt() piuttosto che utilizzare i comuni algoritmi di hashing come md5, sha1 o sha256 perché sono concepiti per essere veloci. Pertanto, l’hashing delle password con questi algoritmi può creare vulnerabilità.
50) Quale estensione crittografica fornisce la generazione e la verifica delle firme digitali?
Il PHP-OpenSSL l'estensione fornisce diverse operazioni crittografiche tra cui la generazione e la verifica delle firme digitali.
Domande di intervista PHP per 5 anni di esperienza
51) Come viene definita una costante in uno script PHP?
La direttiva define() ci consente di definire una costante come segue:
define ("ACONSTANT", 123);
52) Come si può passare una variabile per riferimento?
Per poter passare una variabile per riferimento, utilizziamo una e commerciale davanti ad essa, come segue $var1 = &$var2
53) Un confronto tra un numero intero 12 e una stringa “13” funzionerà in PHP?
“13” e 12 possono essere confrontati in PHP poiché converte tutto nel tipo intero.
54) Come è possibile eseguire il cast dei tipi in PHP?
Il nome del tipo di output deve essere specificato tra parentesi prima della variabile che deve essere convertita come segue:
* (int), (intero) – convertito in intero
* (bool), (booleano) – convertito in booleano
* (float), (double), (real) – converti in float
* (stringa) – convertito in stringa
* (array) – cast su array
* (oggetto) – lanciato su oggetto
55) Quando un'istruzione condizionale termina con endif?
Quando l'originale if era seguito da: e quindi dal blocco di codice senza parentesi graffe.
56) Come viene utilizzato l'operatore condizionale ternario in PHP?
È composto da tre espressioni: una condizione e due operandi che descrivono quale istruzione deve essere eseguita quando la condizione specificata è vera o falsa come segue:
Expression_1?Expression_2 : Expression_3;
57) A cosa serve la funzione func_num_args()?
La funzione func_num_args() viene utilizzata per fornire il numero di parametri passati in una funzione.
58) Se la variabile $var1 è impostata su 10 e $var2 è impostata sul carattere var1, qual è il valore di $$var2?
$$var2 contiene il valore 10.
59) Cosa significa accedere ad una classe tramite ::?
:: viene utilizzato per accedere a metodi statici che non richiedono l'inizializzazione dell'oggetto.
60) In PHP gli oggetti vengono passati per valore o per riferimento?
In PHP gli oggetti vengono passati per riferimento.
61) I costruttori Parent vengono chiamati implicitamente all'interno di un costruttore di classe?
No, un costruttore genitore deve essere chiamato esplicitamente come segue:
parent::constructor($value)
62) Qual è la differenza tra __sonno e __veglia?
__sleep restituisce l'array di tutte le variabili che devono essere salvate, mentre __wakeup le recupera.
63) Cos'è più veloce?
1- Combinando due variabili come segue:
$variable1 = 'Hello '; $variable2 = 'World'; $variable3 = $variable1.$variable2;
Or
2- $variable3 = "$variable1$variable2";
$variable3 conterrà "Hello World". Il primo codice è più veloce del secondo soprattutto per insiemi di dati di grandi dimensioni.
64) qual è la definizione di sessione?
Una sessione è un oggetto logico che ci consente di preservare dati temporanei su più pagine PHP.
65) Come avviare una sessione in PHP?
L'utilizzo della funzione session_start() ci permette di attivare una sessione.
66) Come si può propagare un ID di sessione?
Puoi propagare un ID di sessione tramite cookie o parametri URL.
67) Qual è il significato di cookie persistente?
Un cookie persistente viene memorizzato in modo permanente in un file cookie sul computer del browser. Per impostazione predefinita, i cookie sono temporanei e vengono cancellati se chiudiamo il browser.
68) Quando finiscono le sedute?
Le sessioni terminano automaticamente al termine dell'esecuzione dello script PHP, ma possono essere terminate manualmente utilizzando session_write_close().
69) Qual è la differenza tra session_unregister() e session_unset()?
La funzione session_unregister() annulla la registrazione di una variabile globale dalla sessione corrente e la funzione session_unset() libera tutte le variabili di sessione.
70) Cosa significa $GLOBALS?
$GLOBALS è un array associativo che include riferimenti a tutte le variabili attualmente definite nell'ambito globale dello script.
Domande di intervista PHP per 10 anni di esperienza
71) Cosa significa $_SERVER?
$_SERVER è un array che include informazioni create dal server Web come percorsi, intestazioni e posizioni degli script.
72) Cosa significa $_FILES?
$_FILES è un array associativo composto da elementi inviati allo script corrente tramite il metodo HTTP POST.
73) Qual è la differenza tra $_FILES['userfile']['name'] e $_FILES['userfile']['tmp_name']?
$_FILES['userfile']['name'] rappresenta il nome originale del file sul computer client,
$_FILES['userfile']['tmp_name'] rappresenta il nome file temporaneo del file archiviato sul server.
74) Come possiamo ottenere l'errore quando c'è un problema nel caricare un file?
$_FILES['userfile']['error'] contiene il codice di errore associato al file caricato.
75) Come possiamo modificare la dimensione massima dei file da caricare?
Possiamo modificare la dimensione massima dei file da caricare modificando upload_max_filesize in php.ini.
76) Cosa significa $_ENV?
$_ENV è un array associativo di variabili inviato allo script PHP corrente tramite il metodo dell'ambiente.
77) Cosa significa $_COOKIE?
$_COOKIE è un array associativo di variabili inviato allo script PHP corrente utilizzando i cookie HTTP.
78) Cosa significa portata delle variabili?
L'ambito di una variabile è il contesto all'interno del quale è definita. Nella maggior parte dei casi, tutte le variabili PHP hanno un solo ambito. Questo singolo ambito comprende anche i file inclusi e richiesti.
79) Qual è la differenza tra l'operatore 'BITWISE AND' e l'operatore 'LOGICAL AND'?
$a e $b: VERO se sia $a che $b sono VERI.
$a e $b: vengono impostati i bit impostati sia in $a che in $b.
80) Quali sono i due principali operatori di stringa?
Il primo è l'operatore di concatenazione ('.'), che restituisce la concatenazione degli argomenti destro e sinistro. Il secondo è ('.='), che aggiunge l'argomento a destra all'argomento a sinistra.
81) Cosa significa l'operatore di array '==='?
$a === $b VERO se $a e $b hanno le stesse coppie chiave/valore nello stesso ordine e degli stessi tipi.
82) Quali sono le differenze tra $a != $b e $a !== $b?
!= significa disuguaglianza (VERO se $a non è uguale a $b) e !== significa non identità (VERO se $a non è identico a $b).
83) Come possiamo determinare se una variabile PHP è un oggetto istanziato di una determinata classe?
Per poter verificare se una variabile PHP è un oggetto istanziato di una determinata classe utilizziamo exampleof.
84) A cosa serve l'istruzione goto?
L'istruzione goto può essere inserita per consentire il passaggio all'interno del programma PHP. La destinazione è contrassegnata da un'etichetta seguita da due punti e l'istruzione è specificata come un'istruzione goto seguita dall'etichetta di destinazione desiderata.
85) qual è la differenza tra Exception::getMessage e Exception:: getLine?
Exception::getMessage ci consente di ottenere il messaggio di eccezione e Exception::getLine ci consente di ottenere la riga in cui si è verificata l'eccezione.
86) Cosa significa l'espressione Exception::__toString?
Exception::__toString fornisce la rappresentazione String dell'eccezione.
87) Come è possibile analizzare un file di configurazione?
La funzione parse_ini_file() ci consente di caricare il file ini specificato in filename e restituisce le impostazioni in esso contenute in un array associativo.
88) Come possiamo determinare se una variabile è impostata?
La funzione booleana isset determina se una variabile è impostata e non è NULL.
89) Qual è la differenza tra le funzioni strstr() e stristr()?
La funzione stringa strstr(string allString, string occ) restituisce parte di allString dalla prima occorrenza di occ fino alla fine di allString. Questa funzione fa distinzione tra maiuscole e minuscole. stristr() è identico a strstr() tranne per il fatto che non fa distinzione tra maiuscole e minuscole.
90) qual è la differenza tra for e foreach?
for è espresso come segue:
per (espressione1; espressione2; espressione3)
dichiarazione
La prima espressione viene eseguita una volta all'inizio. In ogni iterazione viene valutata expr2. Se è TRUE, il ciclo continua e vengono eseguite le istruzioni all'interno di for. Se restituisce FALSE, l'esecuzione del ciclo termina. expr3 viene testato alla fine di ogni iterazione.
Tuttavia, foreach fornisce un modo semplice per eseguire l'iterazione sugli array e viene utilizzato solo con array e oggetti.
91) È possibile inviare un form con un pulsante dedicato?
È possibile utilizzare il file document.form.submit()
funzione per inviare il modulo. Per esempio: <input type=button value="SUBMIT" onClick="document.form.submit()">
92) Qual è la differenza tra ereg_replace() ed eregi_replace()?
La funzione eregi_replace() è identica alla funzione ereg_replace() tranne per il fatto che ignora la distinzione tra maiuscole e minuscole quando si abbinano i caratteri alfabetici.
93) È possibile proteggere i caratteri speciali in una stringa di query?
Sì, utilizziamo la funzione urlencode() per poter proteggere i caratteri speciali.
94) Quali sono le tre classi di errori che possono verificarsi in PHP?
Le tre classi fondamentali di errori sono avvisi (non critici), avvisi (errori gravi) ed errori fatali (errori critici).
95) Qual è la differenza tra i caratteri \034 e \x34?
\034 è 34 ottale e \x34 è 34 esadecimale.
96) Come possiamo passare la variabile attraverso la navigazione tra le pagine?
È possibile passare le variabili tra le pagine PHP utilizzando sessioni, cookie o campi di moduli nascosti.
97) È possibile allungare il tempo di esecuzione di uno script PHP?
L'uso di set_time_limit(int secondi) ci consente di estendere il tempo di esecuzione di uno script PHP. Il limite predefinito è 30 secondi.
98) E' possibile distruggere un cookie?
Sì, è possibile impostando il cookie con una scadenza passata.
99) Qual è il tempo di sessione predefinito in PHP?
Il tempo di sessione predefinito in php è fino alla chiusura del browser
100) È possibile utilizzare il componente COM in PHP?
Sì, è possibile integrare componenti (distribuiti) del Component Object Model ((D)COM) negli script PHP forniti come framework.
101) Spiegare se è possibile condividere una singola istanza di una Memcache tra più progetti PHP?
Sì, è possibile condividere una singola istanza di Memcache tra più progetti. Memcache è uno spazio di archiviazione della memoria ed è possibile eseguire memcache su uno o più server. Puoi anche configurare il tuo client per parlare con un particolare insieme di istanze. Pertanto, puoi eseguire due diversi processi Memcache sullo stesso host e tuttavia sono completamente indipendenti. A meno che, se hai partizionato i tuoi dati, diventa necessario sapere da quale istanza ottenere o inserire i dati.
102) Spiegare come puoi aggiornare Memcached quando apporti modifiche a PHP?
Quando PHP cambia puoi aggiornare Memcached tramite
- Svuotare la cache in modo proattivo: Svuotare la cache quando viene effettuato un inserimento o un aggiornamento
- Reimpostazione della cache: È simile al primo metodo ma invece di limitarsi a eliminare le chiavi e attendere la successiva richiesta di dati per aggiornare la cache, reimposta i valori dopo l'inserimento o l'aggiornamento.
Queste domande del colloquio ti aiuteranno anche nel tuo viva(orale)