Preguntas de entrevista de Bases de datos y SQL
59 preguntas de entrevista de Bases de datos y SQL con respuestas, de nivel junior a intermedio.
Fundamentos
- ¿Qué es una base de datos?
- ¿Qué son PostgreSQL, MySQL y Oracle Database?
- ¿Qué es SQL?
- CRUD significa Create, Read, Update, Delete. ¿Qué comandos SQL corresponden a estos cuatro, en ese orden?
- En lenguaje de bases de datos, ¿qué es una 'query'?
- ¿Por qué las aplicaciones guardan los datos importantes en una base de datos y no solo en variables del programa?
- ¿Cuáles de estas son bases de datos relacionales (SQL)?
- ¿Qué describe el esquema de una base de datos?
- Explica qué es una base de datos y por qué casi toda app necesita una.
Base
customers LEFT JOIN orders ON ...devuelve…- ¿Cuál es la diferencia entre WHERE y HAVING?
- ¿Qué devuelve
SELECT * FROM users WHERE deleted_at = NULL? - ¿Qué es cierto sobre una PRIMARY KEY frente a una restricción UNIQUE?
- ¿Por qué se prefieren las consultas parametrizadas al formateo de strings?
- ¿Qué es una primary key?
orders.customer_idreferencia acustomers.id. ¿Qué escustomer_id?- ¿Qué consulta devuelve los nombres de los usuarios mayores de 30?
- ¿Cómo obtienes los 5 productos más caros?
- ¿Qué consulta cuenta los usuarios por país?
- ¿Qué devuelve un INNER JOIN entre
ordersycustomersconorders.customer_id = customers.id? - ¿Qué pasa al ejecutar
DELETE FROM users;sin cláusula WHERE? - Una transferencia bancaria resta dinero de A y lo suma a B. ¿Por qué ejecutar ambas cosas en una transacción?
- ¿Qué afirmación describe mejor las bases de datos SQL frente a NoSQL?
- ¿Qué es un índice de base de datos, en términos simples?
- ¿Qué devuelve
SELECT DISTINCT country FROM users;? - Un cliente puede tener muchos pedidos. ¿Dónde va la columna de enlace?
- En una base de datos relacional, ¿qué son una tabla, una fila y una columna?
- ¿Cuáles son los principales grupos de comandos SQL?
- ¿Cómo modelas una relación muchos a muchos, por ejemplo alumnos y cursos?
- Explica primary key, foreign key, índice, restricción y transacción como si no supiera nada.
Intermedio
- ¿Cuál es el principal coste de añadir un índice a una tabla?
- Una tabla tiene un índice compuesto en
(last_name, first_name). ¿Qué consulta puede usarlo de forma eficiente? - En ACID, ¿qué garantiza Isolation?
- ¿Qué consulta devuelve el segundo salario distinto más alto?
- ¿
COUNT(*)frente aCOUNT(email)? - ¿Por qué podrías desnormalizar un esquema a propósito?
- ¿Qué escenario favorece más a un document store (por ejemplo MongoDB) frente a una base relacional?
- Replicación frente a sharding: ¿qué afirmación es correcta?
EXPLAINmuestra un sequential scan en una tabla de 50 millones de filas paraWHERE email = ?. ¿Cuál es la solución más probable?- ¿UNION frente a UNION ALL?
- ¿Cuál NO es un caso de uso típico de Redis?
- ¿Por qué usar un connection pool para la base de datos?
- Diseña el esquema de una tienda online simple (clientes, productos, pedidos).
- ¿Qué significan 1NF, 2NF y 3NF en lenguaje sencillo?
- ¿Cuál es la diferencia entre
DELETE,TRUNCATEyDROP? - ¿En qué orden lógico evalúa SQL una consulta?
- ¿Qué es una vista y en qué se diferencia una vista materializada?
- ¿Qué consulta lista los clientes que NO tienen pedidos?
- ¿Para qué sirve una CTE (cláusula
WITH)? - ¿Qué consulta encuentra emails duplicados en una tabla
users? - ¿Cuál es la diferencia entre una surrogate key y una natural key?
- Diseña un esquema relacional para una biblioteca (libros, autores, socios, préstamos). Explica las relaciones.
Avanzado
- En el estándar SQL, ¿cuál es el nivel de aislamiento más bajo que evita las lecturas no repetibles?
- ¿Cómo obtienes al empleado mejor pagado por departamento en una consulta?
- Dos transacciones bloquean las filas A y luego B, y B y luego A, y caen en deadlock. ¿Cuál es la mejor prevención?
- El optimistic locking se implementa normalmente con…
- Un usuario actualiza su perfil, recarga y ve los datos antiguos. Las lecturas van a réplicas de lectura asíncronas. ¿Qué está pasando?
- Una consulta se volvió lenta en producción. ¿Cómo lo investigas?
- ¿Qué es un covering index?