P
prepair.app
Começar entrevista →
EnglishУкраїнськаРусскийDeutsch
🐘

Junior PHP BackendPerguntas de entrevista PHP

Junior · sem experiência / menos de 1 ano

Entrevistas de PHP cobrem semântica da linguagem, OOP, Laravel ou Symfony, MySQL, e fundamentos de segurança web. Abaixo estão as perguntas mais comuns com respostas modelo. Junior: teoria básica, definições e casos práticos simples.

Experimente — sem necessidade de conta
Preparando sua pergunta…

Temas para se preparar

OOP e SOLID em PHP
Laravel / Symfony
MySQL e otimização de queries
Composer e autoloading
Sessões, cookies, segurança
Padrões PSR

7 perguntas de nível Junior com respostas

1

Qual é a diferença entre `==` e `===`?

Resposta

== compara depois do type juggling, === compara valor e tipo. O PHP 8 tornou o juggling bem mais sensato — 0 == "foo" agora é false — mas a regra continua a mesma: use === a menos que tenha um motivo para não usar, porque a tabela de comparação é algo que ninguém deveria precisar decorar.

2

Qual é a diferença entre uma interface, uma classe abstrata e um trait?

Resposta

Uma interface declara o que uma classe pode fazer e não carrega implementação. Uma classe abstrata pode ter estado e implementação parcial, e uma classe só pode estender uma. Um trait é código injetado numa classe — a resposta do PHP para não ter herança múltipla. Traits são para implementação compartilhada, interfaces para contrato compartilhado.

3

O que `public`, `protected` e `private` realmente restringem?

Resposta

public é acessível de qualquer lugar, protected da classe e de suas subclasses, private só da classe que o declara. private é mais restrito do que as pessoas esperam — uma subclasse não consegue ver. Use private por padrão e amplie quando algo externo genuinamente precisar de acesso.

4

Qual é a diferença entre `include` e `require`?

Resposta

Ambos trazem um arquivo; require lança um erro fatal se estiver faltando, include só um warning e continua. As variantes _once pulam um arquivo já carregado. No código moderno você encontra esses raramente, porque o autoloader do Composer resolve classes por namespace e você nunca escreve o caminho.

5

O que é Composer e para que serve o `composer.lock`?

Resposta

O Composer resolve e instala dependências. O composer.json diz o que você quer, o composer.lock registra exatamente o que foi resolvido — por isso o lock file é commitado e por isso composer install no servidor reproduz a mesma árvore em vez de escolher versões mais novas.

6

O que é type juggling e onde ele ainda morde?

Resposta

É o PHP convertendo tipos para compará-los ou operar sobre eles. Ainda morde quando uma string vinda de um formulário chega onde se esperava um número, e em comparações frouxas dentro de in_array ou switch, que usam == por padrão. Declarar strict_types=1 no início de um arquivo transforma a coerção silenciosa num erro.

7

O que são as superglobais e por que você não deveria lê-las diretamente?

Resposta

$_GET, $_POST, $_SERVER, $_SESSION e o resto guardam dados do request. Lê-las diretamente espalha input não validado pelo código e torna tudo que as toca impossível de testar, já que não existe um request para construir. O objeto request de um framework as envolve, por isso você usa ele.

🦎

Só ler as respostas não basta

Numa entrevista de verdade você fala sob pressão. O Cam faz essas mesmas perguntas, avalia cada resposta e mostra exatamente o que melhorar.

Praticar entrevista de Junior PHP Backend →
Grátis · 3 entrevistas por mês

Outros níveis — PHP Backend

Middle PHP BackendSenior PHP BackendTodas as perguntas de PHP Backend

Outras especializações

🔍Junior QA Manual🤖Junior QA AutomationJunior Java Backend🐍Junior Python Backend🦫Junior Go Backend🟢Junior Node.js Backend💎Junior Ruby on Rails🔷Junior C++🟨Junior JavaScript⚛️Junior React Frontend