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

Junior PHP BackendPreguntas de entrevista PHP

Junior · sin experiencia / menos de 1 año

Las entrevistas de PHP cubren semántica del lenguaje, OOP, Laravel o Symfony, MySQL, y fundamentos de seguridad web. Aquí están las preguntas más comunes con respuestas modelo. Junior: teoría básica, definiciones y casos prácticos simples.

Pruébalo — sin cuenta necesaria
Preparando tu pregunta…

Temas para prepararte

OOP y SOLID en PHP
Laravel / Symfony
MySQL y optimización de consultas
Composer y autoloading
Sesiones, cookies, seguridad
Estándares PSR

7 preguntas de nivel Junior con respuestas

1

¿Cuál es la diferencia entre `==` y `===`?

Respuesta

== compara después de type juggling, === compara valor y tipo. PHP 8 hizo el juggling mucho más sensato — 0 == "foo" ahora es false — pero la regla se mantiene: usa === a menos que tengas una razón para no hacerlo, porque la tabla de comparación es algo que nadie debería tener que memorizar.

2

¿Cuál es la diferencia entre una interfaz, una clase abstracta y un trait?

Respuesta

Una interfaz declara qué puede hacer una clase y no lleva implementación. Una clase abstracta puede tener estado e implementación parcial, y una clase extiende solo una. Un trait es código inyectado en una clase — la respuesta de PHP a no tener herencia múltiple. Los traits son para implementación compartida, las interfaces para contrato compartido.

3

¿Qué restringen realmente `public`, `protected` y `private`?

Respuesta

public es alcanzable desde cualquier lugar, protected desde la clase y sus subclases, private solo desde la clase que lo declara. private es más estricto de lo que la gente espera — una subclase no puede verlo. Por defecto usa private y amplía cuando algo externo genuinamente necesita acceso.

4

¿Cuál es la diferencia entre `include` y `require`?

Respuesta

Ambos traen un archivo; require lanza un error fatal si falta, include solo un warning y continúa. Las variantes _once saltan un archivo ya cargado. En código moderno te encuentras con estos raramente, porque el autoloader de Composer resuelve clases por namespace y nunca escribes la ruta.

5

¿Qué es Composer y para qué sirve `composer.lock`?

Respuesta

Composer resuelve e instala dependencias. composer.json dice lo que quieres, composer.lock registra exactamente lo que se resolvió — por eso el lock file se commitea y por eso composer install en el servidor reproduce el mismo árbol en vez de elegir versiones más nuevas.

6

¿Qué es el type juggling y dónde sigue mordiendo?

Respuesta

PHP convirtiendo tipos para compararlos u operar sobre ellos. Sigue mordiendo cuando un string de un formulario llega donde se esperaba un número, y en comparaciones laxas dentro de in_array o switch, que usan == por defecto. Declarar strict_types=1 al inicio de un archivo convierte la coerción silenciosa en un error.

7

¿Qué son las superglobales y por qué no deberías leerlas directamente?

Respuesta

$_GET, $_POST, $_SERVER, $_SESSION y el resto guardan datos del request. Leerlas directamente esparce input no validado por el código y hace que todo lo que las toca sea imposible de testear, ya que no hay un request que construir. El objeto request de un framework las envuelve, por eso lo usas.

🦎

Leer respuestas no es suficiente

En una entrevista real hablas bajo presión. Cam hace estas mismas preguntas, evalúa cada respuesta y muestra exactamente qué mejorar.

Practicar entrevista de Junior PHP Backend →
Gratis · 3 entrevistas al mes

Otros niveles — PHP Backend

Middle PHP BackendSenior PHP BackendTodas las preguntas de PHP Backend

Otras especializaciones

🔍Junior Manual QA🤖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