Cómo aprobar una entrevista de PHP: las mejores preguntas de la A a la Z
Una entrevista para el puesto de desarrollador PHP no es solo una prueba de conocimiento de sintaxis. Los empleadores quieren ver cómo piensas, cómo resuelves problemas y qué tan profundamente entiendes el ecosistema del lenguaje. Para ayudarte a prepararte, hemos recopilado las mejores preguntas de PHP de la A a la Z, dividiéndolas en temas clave: desde los fundamentos de la POO hasta el trabajo con bases de datos y seguridad.
Este artículo es tu lista de verificación para superar con éxito la entrevista. Estúdialo, practica con ejemplos de código y te sentirás seguro.
1. Fundamentos de PHP y POO (Programación Orientada a Objetos)
Empecemos por lo fundamental. Sin entender la POO en el PHP moderno no hay nada que hacer. Los entrevistadores suelen hacer preguntas que ponen a prueba tu comprensión de los principios.
Pregunta: ¿Qué son el encapsulamiento, la herencia y el polimorfismo?
Son los "tres pilares" de la POO. Saber explicarlos con un ejemplo es una habilidad obligatoria.
- Encapsulamiento — ocultar la implementación interna de un objeto. El acceso a los datos se realiza a través de métodos públicos (getters/setters).
- Herencia — la capacidad de crear una nueva clase basada en una existente (padre).
- Polimorfismo — la capacidad de objetos de diferentes clases de procesar el mismo método a su manera.
<?php// Ejemplo de encapsulamientoclass User { private string $name;
public function setName(string $name): void { $this->name = htmlspecialchars($name); // Protección contra XSS }
public function getName(): string { return $this->name; }}
// Ejemplo de herencia y polimorfismoabstract class Animal { abstract public function makeSound(): string;}
class Dog extends Animal { public function makeSound(): string { return "¡Guau!"; }}
class Cat extends Animal { public function makeSound(): string { return "¡Miau!"; }}
$animals = [new Dog(), new Cat()];foreach ($animals as $animal) { echo $animal->makeSound() . " "; // Imprime: ¡Guau! ¡Miau!}?>Pregunta: ¿Cuál es la diferencia entre una interfaz y una clase abstracta?
Esto es un clásico. La interfaz define un contrato (solo firmas de métodos), mientras que una clase abstracta puede contener implementación por defecto y propiedades.
2. Trabajo con bases de datos y SQL
PHP rara vez funciona de forma aislada de las bases de datos. Las preguntas sobre MySQL y PDO son una parte obligatoria de cualquier entrevista.
Pregunta: ¿Por qué deberías usar PDO en lugar de mysqli?
PDO (PHP Data Objects) es una abstracción que permite cambiar fácilmente entre diferentes SGBD (MySQL, PostgreSQL, SQLite) sin reescribir el código. Además, PDO admite marcadores de posición con nombre, lo que hace que el código sea más limpio.
<?php// Ejemplo de consulta segura con PDO$dsn = 'mysql:host=localhost;dbname=testdb;charset=utf8mb4';$pdo = new PDO($dsn, 'user', 'password');
$sql = "SELECT * FROM users WHERE email = :email";$stmt = $pdo->prepare($sql);$stmt->execute([':email' => 'test@example.com']);$user = $stmt->fetch(PDO::FETCH_ASSOC);?>Pregunta: ¿Cómo protegerse contra las inyecciones SQL?
La respuesta principal: nunca insertes datos de usuario directamente en una consulta SQL. Utiliza declaraciones preparadas (prepared statements) con marcadores de posición. Esto garantiza que los datos se escapen automáticamente.
3. Seguridad y mejores prácticas
La seguridad es lo que diferencia a un Junior de un Middle. A los entrevistadores les encanta hacer preguntas sobre este tema.
Pregunta: ¿Qué tipos de ataques son más comunes en aplicaciones web PHP?
- XSS (Cross-Site Scripting) — inyección de scripts. Protección: usa
htmlspecialchars()ostrip_tags()al mostrar datos.