As 100 principais perguntas e respostas da entrevista sobre PHP

baixar PDF

1) O que é PHP?

PHP é uma linguagem da web baseada em scripts que permite aos desenvolvedores criar dinamicamente páginas da web geradas.

2) O que as iniciais do PHP significam?

PHP significa PHP: Hypertext Preprocessor.

3) Com qual linguagem de programação o PHP se parece?

A sintaxe do PHP é semelhante a Perl e C

4) O que significa PEAR?

PEAR significa 'Extensão PHP e Repositório de Aplicativos'. Ele estende o PHP e fornece um nível mais alto de programação para desenvolvedores da web.

5) Qual é a versão do PHP realmente usada?

A versão 7.1 ou 7.2 é a versão recomendada do PHP.

6) Como você executa um script PHP a partir da linha de comando?

Basta usar a interface de linha de comando (CLI) do PHP e especificar o nome do arquivo do script a ser executado da seguinte maneira:

php script.php

7) Como executar o shell interativo do PHP a partir da interface de linha de comando?

Basta usar o programa PHP CLI com a opção -a da seguinte maneira:

php -a

8) Qual é a forma correta e a mais comum de iniciar e terminar um bloco de código PHP?

As duas maneiras mais comuns de iniciar e terminar um script PHP são:

 and 

9) Como podemos exibir a saída diretamente no navegador?

Para poder exibir a saída diretamente no navegador, temos que usar as tags especiais.

10) Qual é a principal diferença entre o PHP 4 e o PHP 5?

O PHP 5 apresenta muitos recursos adicionais de OOP (Programação Orientada a Objetos).

11) A herança múltipla é compatível com o PHP?

PHP suporta apenas herança única; isso significa que uma classe pode ser estendida de apenas uma única classe usando a palavra-chave 'extendido'.

12) Qual é o significado de uma aula final e um método final?

'final' é introduzido no PHP5. Classe final significa que esta classe não pode ser estendida e um método final não pode ser substituído.

13) Como é feita a comparação de objetos no PHP?

Usamos o operador '==' para testar se dois objetos são instanciados da mesma classe e têm os mesmos atributos e valores iguais. Podemos testar se dois objetos estão se referindo à mesma instância da mesma classe pelo uso do operador de identidade '==='.

14) Como o PHP e o HTML podem interagir?

É possível gerar HTML por meio de scripts PHP, e é possível passar informações de HTML para PHP.

15) Que tipo de operação é necessária ao passar valores por um formulário ou URL?

Se quisermos passar valores por meio de um formulário ou URL, precisamos codificá-los e decodificá-los usando htmlspecialchars () e urlencode ().

16) Como o PHP e o Javascript podem interagir?

PHP e Javascript não podem interagir diretamente, pois PHP é uma linguagem do lado do servidor e Javascript é uma linguagem do lado do cliente. No entanto, podemos trocar variáveis, pois o PHP pode gerar código Javascript para ser executado pelo navegador e é possível passar variáveis ​​específicas de volta para o PHP através da URL.

17) O que é necessário para usar a função de imagem?

A biblioteca GD é necessária para executar funções de imagem.

18) Qual é o uso da função 'imagetypes ()'?

imagetypes () fornece o formato e os tipos de imagem suportados pela versão atual do GD-PHP.

19) Quais são as funções a serem utilizadas para obter as propriedades da imagem (tamanho, largura e altura)?

As funções são getimagesize () para tamanho, imagesx () para largura e imagesy () para altura.

20) Como as falhas na execução são tratadas com as funções include () e require ()?

Se a função require () não puder acessar o arquivo, ela terminará com um erro fatal. No entanto, a função include () dá um aviso e o script PHP continua a ser executado.

21) Qual é a principal diferença entre require () e require_once ()?

require () e require_once () executam a mesma tarefa, exceto que a segunda função verifica se o script PHP já está incluído ou não antes de executá-lo.

(o mesmo para include_once () e include ())

22) Como posso exibir texto com um script PHP?

Dois métodos são possíveis:

23) Como podemos exibir informações de uma variável e legíveis por um humano com PHP?

Para ser capaz de exibir um resultado legível por humanos, usamos print_r ().

24) Como é possível definir um tempo de execução infinito para o script PHP?

O set_time_limit (0) adicionado no início de um script define como infinito o tempo de execução para não ter o erro do PHP 'tempo máximo de execução excedido'. Também é possível especificar isso no arquivo php.ini.

25) O que significa o erro de PHP 'Erro de análise em PHP - variável T_esperada na linha x'?

Este é um erro de sintaxe PHP que expressa que um erro na linha x interrompe a análise e a execução do programa.

26) O que devemos fazer para poder exportar os dados para um arquivo Excel?

A maneira mais comum e usada é colocar os dados em um formato compatível com o Excel. Por exemplo, é possível escrever um arquivo .csv, escolher por exemplo a vírgula como separador entre os campos e depois abrir o arquivo com o Excel.

27) Para que é útil a função file_get_contents ()?

file_get_contents () permite ler um arquivo e armazená-lo em uma variável de string.

28) Como podemos nos conectar a um banco de dados MySQL a partir de um script PHP?

Para poder se conectar a um banco de dados MySQL, devemos usar a função mysqli_connect () da seguinte maneira:

29) Para que é útil a função mysql_pconnect ()?

mysql_pconnect () garante uma conexão persistente com o banco de dados, isso significa que a conexão não fecha quando o script PHP termina.

Esta função não é suportada no PHP 7.0 e superior

30) Como o conjunto de resultados do Mysql é tratado no PHP?

O conjunto de resultados pode ser tratado usando mysqli_fetch_array, mysqli_fetch_assoc, mysqli_fetch_object ou mysqli_fetch_row.

31) Como é possível saber o número de linhas retornadas no conjunto de resultados?

A função mysqli_num_rows () retorna o número de linhas em um conjunto de resultados.

32) Qual função nos dá o número de entradas afetadas por uma consulta?

mysqli_affected_rows () retorna o número de entradas afetadas por uma consulta SQL.

33) Qual é a diferença entre mysqli_fetch_object () e mysqli_fetch_array ()?

A função mysqli_fetch_object () coleta o primeiro registro único correspondente onde mysqli_fetch_array () coleta todos os registros correspondentes da tabela em um array.

34) Como podemos acessar os dados enviados pela URL com o método GET?

Para acessar os dados enviados por meio do método GET, usamos o array $ _GET como este:

www.url.com?var=value $variable = $_GET['var']; this will now contain 'value'

35) Como podemos acessar os dados enviados pela URL com o método POST?

Para acessar os dados enviados desta forma, você usa o array $ _POST.

Imagine que você tem um campo de formulário chamado 'var' no formulário quando o usuário clica em enviar para o formulário de postagem, você pode acessar o valor como este:

$_POST['var'];

36) Como podemos verificar se o valor de uma determinada variável é um número?

É possível usar a função dedicada is_numeric () para verificar se é um número ou não.

37) Como podemos verificar se o valor de uma determinada variável é alfanumérico?

É possível usar a função dedicada, ctype_alnum para verificar se é um valor alfanumérico ou não.

38) Como faço para verificar se uma determinada variável está vazia?

Se quisermos verificar se uma variável tem um valor ou não, é possível usar a função empty ().

39) O que significa a função unlink ()?

A função unlink () é dedicada ao tratamento do sistema de arquivos. Ele simplesmente exclui o arquivo fornecido como entrada.

40) O que significa a função unset ()?

A função unset () é dedicada ao gerenciamento de variáveis. Isso tornará uma variável indefinida.

41) Como faço para escapar dos dados antes de armazená-los no banco de dados?

A função addslashes nos permite escapar dos dados antes do armazenamento no banco de dados.

42) Como é possível remover caracteres de escape de uma string?

A função stripslashes nos permite remover os caracteres de escape antes dos apóstrofos em uma string.

43) Como podemos escapar automaticamente dos dados recebidos?

Temos que habilitar a entrada Magic quotes no arquivo de configuração do PHP.

44) O que significa a função get_magic_quotes_gpc ()?

A função get_magic_quotes_gpc () nos diz se as aspas mágicas estão ativadas ou não.

45) É possível remover as tags HTML dos dados?

A função strip_tags () nos permite limpar uma string das tags HTML.

46) para que é útil a variável estática em função?

Uma variável estática é definida dentro de uma função apenas na primeira vez e seu valor pode ser modificado durante chamadas de função da seguinte maneira:

47) Como podemos definir uma variável acessível em funções de um script PHP?

Este recurso é possível usando a palavra-chave global.

48) Como é possível retornar um valor de uma função?

Uma função retorna um valor usando a instrução 'return $ value;'.

49) Qual é o método de hashing mais conveniente para usar o hash de senhas?

É preferível usar crypt () que suporta nativamente vários algoritmos de hash ou a função hash () que oferece suporte a mais variantes do que crypt () em vez de usar os algoritmos de hash comuns, como md5, sha1 ou sha256, porque eles são concebidos para serem rápidos. Conseqüentemente, o hash de senhas com esses algoritmos pode criar vulnerabilidade.

50) Qual extensão criptográfica fornece geração e verificação de assinaturas digitais?

A extensão PHP-OpenSSL fornece várias operações criptográficas, incluindo geração e verificação de assinaturas digitais.

51) Como uma constante é definida em um script PHP?

A diretiva define () nos permite definir uma constante da seguinte maneira:

define ('ACONSTANT', 123);

52) Como você pode passar uma variável por referência?

Para poder passar uma variável por referência, usamos um e comercial na frente dela, como segue $ var1 = & $ var2

53) Uma comparação entre um inteiro 12 e uma string '13' funcionará no PHP?

'13' e 12 podem ser comparados em PHP, uma vez que converte tudo para o tipo inteiro.

54) Como é possível converter tipos em PHP?

O nome do tipo de saída deve ser especificado entre parênteses antes da variável que deve ser convertida da seguinte forma:

* (int), (inteiro) - convertido em inteiro

* (bool), (booleano) - convertido em booleano

* (flutuante), (duplo), (real) - convertido para flutuante

* (string) - convertido em string

* (array) - lançar em array

* (objeto) - lançar em objeto

55) Quando uma declaração condicional termina com endif?

Quando o original foi seguido por: e então o bloco de código sem colchetes.

56) Como o operador condicional ternário é usado no PHP?

É composto de três expressões: uma condição e dois operandos que descrevem qual instrução deve ser executada quando a condição especificada for verdadeira ou falsa, conforme a seguir:

Expression_1?Expression_2 : Expression_3;

57) Para que serve a função func_num_args ()?

A função func_num_args () é usada para fornecer o número de parâmetros passados ​​para uma função.

58) Se a variável $ var1 é definida como 10 e $ var2 é definido como o caractere var1, qual é o valor de $$ var2?

$$ var2 contém o valor 10.

59) O que significa acessar uma classe via :: significa?

:: é usado para acessar métodos estáticos que não requerem inicialização de objeto.

60) No PHP, os objetos são passados ​​por valor ou por referência?

No PHP, objetos passados ​​por valor.

61) Os construtores Parent são chamados implicitamente dentro de um construtor de classe?

Não, um construtor pai deve ser chamado explicitamente da seguinte maneira:

parent::constructor($value)

62) Qual é a diferença entre __sleep e __wakeup?

__sleep retorna a matriz de todas as variáveis ​​que precisam ser salvas, enquanto __wakeup as recupera.

63) O que é mais rápido?

1- Combinando duas variáveis ​​da seguinte maneira:

$variable1 = 'Hello '; $variable2 = 'World'; $variable3 = $variable1.$variable2;

Ou

2- $variable3 = '$variable1$variable2';

$ variable3 conterá 'Hello World'. O primeiro código é mais rápido que o segundo código, especialmente para grandes conjuntos de dados.

64) qual é a definição de sessão?

Uma sessão é um objeto lógico que nos permite preservar dados temporários em várias páginas PHP.

65) Como iniciar uma sessão em PHP?

O uso da função session_start () nos permite ativar uma sessão.

66) Como você pode propagar um id de sessão?

Você pode propagar um id de sessão por meio de cookies ou parâmetros de URL.

67) Qual é o significado de um cookie persistente?

Um cookie persistente é armazenado permanentemente em um arquivo de cookie no computador do navegador. Por padrão, os cookies são temporários e são apagados se fecharmos o navegador.

68) Quando terminam as sessões?

As sessões terminam automaticamente quando o script PHP termina de ser executado, mas podem ser encerradas manualmente usando session_write_close ().

69) Qual é a diferença entre session_unregister () e session_unset ()?

A função session_unregister () cancela o registro de uma variável global da sessão atual e a função session_unset () libera todas as variáveis ​​de sessão.

70) O que significa $ GLOBALS?

$ GLOBALS é um array associativo que inclui referências a todas as variáveis ​​atualmente definidas no escopo global do script.

71) O que significa $ _SERVER?

$ _SERVER é uma matriz que inclui informações criadas pelo servidor da web, como caminhos, cabeçalhos e locais de script.

72) O que significa $ _FILES?

$ _FILES é um array associativo composto de itens enviados ao script atual por meio do método HTTP POST.

73) Qual é a diferença entre $ _FILES ['userfile'] ['name'] e $ _FILES ['userfile'] ['tmp_name']?

$ _FILES ['userfile'] ['name'] representa o nome original do arquivo na máquina cliente,

$ _FILES ['userfile'] ['tmp_name'] representa o nome do arquivo temporário do arquivo armazenado no servidor.

74) Como podemos obter o erro quando há um problema para fazer upload de um arquivo?

$ _FILES ['userfile'] ['error'] contém o código de erro associado ao arquivo enviado.

75) Como podemos alterar o tamanho máximo dos arquivos a serem enviados?

Podemos alterar o tamanho máximo dos arquivos a serem enviados alterando upload_max_filesize no php.ini.

76) O que significa $ _ENV?

$ _ENV é um array associativo de variáveis ​​enviado ao script PHP atual através do método de ambiente.

77) O que significa $ _COOKIE?

$ _COOKIE é um array associativo de variáveis ​​enviadas para o script PHP atual usando os cookies HTTP.

78) O que significa o escopo das variáveis?

O escopo de uma variável é o contexto no qual ela é definida. Na maior parte, todas as variáveis ​​do PHP têm apenas um único escopo. Este único escopo abrange arquivos incluídos e necessários também.

79) qual a diferença entre o operador 'BITWISE AND' e o operador 'LÓGICO AND'?

$ a e $ b: TRUE se $ a e $ b forem TRUE.

$ a & $ b: bits que são definidos em $ a e $ b são definidos.

80) Quais são os dois principais operadores de string?

O primeiro é o operador de concatenação ('.'), Que retorna a concatenação de seus argumentos direito e esquerdo. O segundo é ('. ='), Que anexa o argumento da direita ao argumento da esquerda.

81) O que significa o operador de matriz '==='?

$ a === $ b VERDADEIRO se $ a e $ b têm os mesmos pares chave / valor na mesma ordem e dos mesmos tipos.

82) Quais são as diferenças entre $ a! = $ B e $ a! == $ b?

! = significa desigualdade (TRUE se $ a não for igual a $ b) e! == significa não identidade (TRUE se $ a não for igual a $ b).

83) Como podemos determinar se uma variável PHP é um objeto instanciado de uma determinada classe?

Para poder verificar se uma variável PHP é um objeto instanciado de uma determinada classe, usamos instanceof.

84) Para que é útil a instrução goto?

A instrução goto pode ser colocada para permitir o salto para dentro do programa PHP. O destino é apontado por um rótulo seguido de dois-pontos e a instrução é especificada como uma instrução goto seguida pelo rótulo de destino desejado.

85) qual é a diferença entre Exception :: getMessage e Exception :: getLine?

Exception :: getMessage nos permite obter a mensagem Exception e Exception :: getLine nos permite obter a linha em que a exceção ocorreu.

86) O que significa a expressão Exception :: __ toString?

Exception :: __ toString fornece a representação String da exceção.

87) Como é possível analisar um arquivo de configuração?

A função parse_ini_file () nos permite carregar o arquivo ini especificado em filename e retorna as configurações nele em um array associativo.

88) Como podemos determinar se uma variável está definida?

A função booleana isset determina se uma variável está definida e não é NULL.

89) Qual é a diferença entre as funções strstr () e stristr ()?

A função string strstr (string allString, string occ) retorna parte de allString da primeira ocorrência de occ até o final de allString. Esta função diferencia maiúsculas de minúsculas. stristr () é idêntico a strstr () exceto que não faz distinção entre maiúsculas e minúsculas.

90) qual é a diferença entre for e foreach?

para é expresso da seguinte forma:

para (expr1; expr2; expr3)

demonstração

A primeira expressão é executada uma vez no início. Em cada iteração, expr2 é avaliada. Se for TRUE, o loop continua e as instruções dentro de for são executadas. Se for FALSE, a execução do loop termina. expr3 é testado no final de cada iteração.

No entanto, foreach fornece uma maneira fácil de iterar em arrays e só é usado com arrays e objetos.

91) É possível enviar um formulário com um botão dedicado?

É possível usar a função document.form.submit () para enviar o formulário. Por exemplo:

92) Qual é a diferença entre ereg_replace () e eregi_replace ()?

A função eregi_replace () é idêntica à função ereg_replace () exceto que ela ignora a distinção entre maiúsculas e minúsculas ao combinar caracteres alfabéticos.

93) É possível proteger caracteres especiais em uma string de consulta?

Sim, usamos a função urlencode () para poder proteger caracteres especiais.

94) Quais são as três classes de erros que podem ocorrer no PHP?

As três classes básicas de erros são avisos (não críticos), avisos (erros graves) e erros fatais (erros críticos).

95) Qual é a diferença entre os caracteres 034 e x34?

034 é octal 34 e x34 é hex 34.

96) Como podemos passar a variável pela navegação entre as páginas?

É possível passar as variáveis ​​entre as páginas PHP usando sessões, cookies ou campos de formulário ocultos.

97) É possível estender o tempo de execução de um script PHP?

O uso de set_time_limit (segundos int) nos permite estender o tempo de execução de um script PHP. O limite padrão é 30 segundos.

98) É possível destruir um cookie?

Sim, é possível definindo o cookie com um tempo de expiração passado.

99) Qual é o tempo de sessão padrão em PHP?

O tempo de sessão padrão em php é até o fechamento do navegador

100) É possível usar o componente COM no PHP?

Sim, é possível integrar componentes (Distribuídos) do Component Object Model ((D) COM) em scripts PHP que são fornecidos como uma estrutura.

101) Explique se é possível compartilhar uma única instância de um Memcache entre vários projetos PHP.

Sim, é possível compartilhar uma única instância do Memcache entre vários projetos. Memcache é um espaço de armazenamento de memória e você pode executar o memcache em um ou mais servidores. Você também pode configurar seu cliente para falar com um determinado conjunto de instâncias. Portanto, você pode executar dois processos Memcache diferentes no mesmo host e, ainda assim, eles são completamente independentes. A menos que você tenha particionado seus dados, será necessário saber de qual instância obter ou colocar os dados.

102) Explique como você pode atualizar o Memcached ao fazer alterações no PHP.

Quando o PHP muda, você pode atualizar o Memcached por

  • Limpando o Cache de maneira proativa: Limpar o cache quando uma inserção ou atualização é feita
  • Redefinindo o Cache: É semelhante ao primeiro método, mas em vez de apenas excluir as chaves e aguardar a próxima solicitação de dados para atualizar o cache, redefina os valores após a inserção ou atualização.