Entrevista de PHP: no temas, prepárate
\n\nLa entrevista para el puesto de desarrollador PHP no es un examen de temas, sino un diálogo. Pero un diálogo en el que se espera de ti no solo "sé PHP", sino que comprendas cómo funciona el lenguaje bajo el capó. La preparación para una entrevista de PHP no es memorizar definiciones, sino analizar casos reales.
\n\nEn este artículo no enumeraremos cien preguntas. En su lugar, te mostraré un patrón de pensamiento: cómo responder preguntas, cómo escribir código y en qué fijarte para que el entrevistador diga "guau". ¡Empecemos!
\n\n1. Fundamentos de PHP: lo que debes saber sí o sí
\n\nEmpecemos por lo básico. Incluso si aspiras a Senior, pueden surgir preguntas sobre fundamentos. Aquí están los tres pilares sobre los que se sostiene una entrevista de PHP:
\n\n- \n
- Tipos de datos y conversión de tipos — cómo funciona
==vs===, qué esstrict_types. \n - Arrays superglobales —
$_GET,$_POST,$_SERVER,$_SESSION. \n - Trabajo con arrays —
array_map,array_filter,array_reduce. \n
Ejemplo de pregunta: "¿Qué mostrará este código?"
\n\n<?php\n$a = '5';\n$b = 5;\nvar_dump($a == $b); // bool(true) — comparación no estricta\nvar_dump($a === $b); // bool(false) — comparación estricta\n?>\n\nRecuerda: la entrevista de PHP junior a menudo se basa en este tipo de trampas. No caigas en ellas.
\n\n2. POO en PHP: no solo "clase y objeto"
\n\nLas preguntas sobre PHP en una entrevista siempre incluyen POO. Pero en lugar de enumerar los tres pilares (encapsulación, herencia, polimorfismo), muestra cómo los usas.
\n\nEjemplo: te preguntarán sobre interfaces y clases abstractas. No digas "una interfaz es un contrato". Mejor muestra código:
\n\n<?php\ninterface PaymentGateway {\n public function pay(float $amount): bool;\n}\n\nclass StripeGateway implements PaymentGateway {\n public function pay(float $amount): bool {\n // lógica de pago a través de Stripe\n return true;\n }\n}\n\nclass PayPalGateway implements PaymentGateway {\n public function pay(float $amount): bool {\n // lógica de pago a través de PayPal\n return true;\n }\n}\n\nfunction processOrder(PaymentGateway $gateway, float $total) {\n if ($gateway->pay($total)) {\n echo "Pago exitoso";\n }\n}\n?>\n\nEsta respuesta muestra que entiendes el principio de sustitución de Liskov y sabes diseñar sistemas flexibles. Esto suma +100 a tu karma en una entrevista de PHP middle.
\n\n3. Trabajo con bases de datos: SQL y PDO
\n\nNinguna entrevista de PHP está completa sin preguntas sobre MySQL. Recuerda: nunca uses las funciones mysql_* — fueron eliminadas en PHP 7. Usa PDO o mysqli.
\n\nTarea típica: "Escribe una consulta segura a la base de datos".
\n\n<?php\n$pdo = new PDO('mysql:host=localhost;dbname=test', 'user', 'pass');\n$stmt = $pdo->prepare('SELECT * FROM users WHERE email = :email');\n$stmt->execute(['email' => $email]);\n$user = $stmt->fetch(PDO::FETCH_ASSOC);\n?>\n\n¿Por qué es importante? Porque las inyecciones SQL son un error clásico de los juniors. Muestra que conoces las sentencias preparadas (prepared statements).
\n\nOtra pregunta frecuente son los JOINs. Prepárate para explicar la diferencia entre INNER, LEFT, RIGHT y FULL JOIN. Y asegúrate de dar un ejemplo de cuándo usar cada uno.
\n\n4. Ejercicios típicos en entrevistas de PHP
\n\nLos ejercicios de PHP no son solo teoría. Pueden pedirte live coding. Aquí hay tres tipos de ejercicios que aparecen a menudo:
\n\n4.1. Ejercicio con arrays
\n"Escribe una función que agrupe un array de objetos por cl