El Lenguaje de Consulta Estructurada (SQL, por sus siglas en inglés) es un lenguaje de programación utilizado para administrar datos en una base de datos relacional. Al contratar profesionales de programación que trabajan con este lenguaje, necesitas asegurarte de que sean competentes en SQL y cumplan con los requisitos del puesto.
Si bien puedes utilizar evaluaciones de aptitud para evaluar las habilidades de tus candidatos, sigue siendo necesario conocerlos en persona y confirmar que pueden pensar y resolver problemas rápidamente.
Hemos creado esta lista de más de 40 preguntas de entrevista SQL basadas en escenarios para ayudarte a evaluar la comprensión de SQL de tus candidatos. Utiliza estas preguntas para encontrar al desarrollador de SQL más calificado.
En lugar de convertir la entrevista en un examen de una hora, es mejor tener preparadas algunas preguntas rápidas para evaluar a los candidatos. Hazles algunas de estas 30 preguntas basadas en escenarios para conocer rápidamente sus conocimientos y habilidades.
¿Cómo convertirías segundos a formato de tiempo?
¿Cómo mostrarías la cantidad de fines de semana en el mes actual?
¿Cómo mostrarías los registros comunes en dos tablas que no se pueden unir?
¿Qué consulta utilizarías para mostrar el antepenúltimo registro de una tabla?
¿Cómo mostrarías una fecha en formato DD-MM-AAAA?
¿Qué consulta usarías para eliminar todas las tablas de usuario de Oracle?
¿Cómo verías el salario máximo mensual de un departamento específico?
¿Qué consulta te daría el segundo salario más alto en una tabla de empleados?
¿Cómo obtendrías una lista de todos los empleados y sus managers?
¿Cómo encontrarías el último día del mes anterior con una consulta?
¿Cómo obtendrías la fecha de admisión de un estudiante en formato Año-Día-Fecha?
¿Qué consulta usarías para crear una nueva tabla con la estructura de la tabla Estudiante?
¿Cómo verías solo los registros comunes de dos tablas diferentes?
¿Cómo verías los salarios mensuales de los empleados basados en sus salarios anuales?
Si una tabla de Estudiantes tiene valores separados por comas, ¿cómo verías el número de valores?
¿Cómo obtendrías la información de un empleado cuando éste no ha sido asignado a un departamento?
¿Cómo usarías la función rank para mostrar el tercer salario más alto?
¿Cómo mostrarías todos los empleados con un salario mayor a $30,000 que se unieron en 2019?
¿Cómo mostrarías una cadena verticalmente?
¿Cómo mostrarías el primer 25% de los registros de una tabla de Estudiantes?
¿Cómo mostrarías el primer 25% de los registros de una tabla de Estudiantes?
¿Cómo convertirías la hora del sistema a segundos?
¿Qué consulta usarías para mostrar números entre 1 y 100?
¿Cómo mostrarías el DDL de una tabla?
¿Cómo mostrarías solo las filas impares en una tabla de Estudiantes?
Otro empleado necesita ayuda y te pide que le expliques qué es una base de datos. ¿Cuál sería tu respuesta?
Estás ayudando a un empleado menos experimentado. ¿Cómo le explicarías la diferencia entre un SGBD y un SGDBR?
¿Cómo seleccionarías registros únicos de una tabla usando una consulta SQL?
¿Cómo eliminarías registros duplicados de una tabla usando una consulta SQL?
¿Cómo leerías los cinco primeros registros de una base de datos usando una consulta SQL?
Para asegurarte de tener suficientes preguntas para tu entrevista, elige entre 5 y 15 de las preguntas mencionadas anteriormente. Aunque es posible que no puedas hacer todas ellas, es mejor tener demasiadas que muy pocas.
Para evaluar las respuestas de tus candidatos, utiliza estos ejemplos de respuestas claras a nuestras preguntas de entrevista de SQL basadas en escenarios.
Las empresas suelen tener departamentos y equipos formados por empleados con diferentes conjuntos de habilidades y conocimientos. Los equipos que se comunican de manera efectiva son hasta un 25% más productivos. Por eso necesitas programadores que puedan prestar apoyo a los empleados con menos conocimientos en lo que se refiere a los aspectos técnicos de la empresa.
Si un empleado de un departamento necesita ayuda para administrar una base de datos, sería útil que entendiera qué es una base de datos.
El candidato ideal debería explicar que una base de datos es una colección de datos estructurados que pueden ser accesados, recuperados, gestionados y almacenados en un sistema informático digitalizado. Las bases de datos se construyen con un enfoque de diseño y modelado y pueden ser almacenadas en un sistema de archivos, un clúster de computadoras o almacenamiento en la nube, dependiendo de su tamaño.
Cuanto más directa y fácil de entender sea su respuesta, mejor será tu candidato para comunicarse con empleados con menos experiencia en bases de datos.
Necesitas confirmar que tu candidato pueda explicar cosas complejas de SQL a una persona con menos conocimientos. Cuando plantees esta pregunta, asegúrate de que la respuesta del candidato use un lenguaje sencillo y claro, entendible para alguien sin conocimientos técnicos.
Debería ser capaz de explicar que un Sistema de Gestión de Base de Datos (DBMS) es un programa que permite a los profesionales administrar bases de datos y extraer información de ellas. Básicamente, el DBMS estructura y organiza la información para que sea fácil de encontrar. Sin embargo, un DBMS solo permite acceder a un elemento de la base de datos a la vez.
Por otro lado, un Sistema de Gestión de Base de Datos Relacional (SGBDR) almacena la información en tablas. Esto permite a los profesionales acceder a varios elementos de datos de manera más eficiente.
Esta es una pregunta práctica relacionada con SQL que tu candidato ideal podrá responder rápidamente. Tu entrevistado podría proporcionar un par de respuestas aceptables:
Puedes usar las cláusulas GROUP BY y SELECT para recopilar datos de varios registros y agruparlos por columnas. El uso de la función GROUP BY te permite ver registros únicos de las columnas seleccionadas y consultarlos.
Puedes utilizar la función ROW_NUMBER() para asignar una numeración consecutiva a las filas del resultado. De esta manera, puedes asignar números de fila a tus registros únicos para tu consulta.
Hacer esta pregunta te ayudará a saber si los candidatos pueden transmitir con claridad información técnica y entender las consultas SQL.
Optimizar tu base de datos y reducir los datos duplicados te permitirá liberar espacio de almacenamiento y mejorar la eficiencia al acelerar la recuperación de información. Si tu base de datos está llena de registros duplicados, esto podría afectar la velocidad de procesamiento de tu computadora y el espacio de almacenamiento en la nube.
El candidato debe saber cómo realizar la tarea básica de eliminar registros duplicados de una tabla mediante una consulta SQL.
Un método consiste en utilizar las cláusulas GROUP BY y HAVING para recuperar registros duplicados. Luego, podrías crear una tabla temporal o subconsulta para almacenar los registros duplicados. Finalmente, podrías utilizar la sentencia DELETE para eliminar los registros duplicados de la tabla original.
Presta atención a los candidatos que brindan múltiples respuestas y describen cuándo usarían cada solución. Aquellos que ofrecen más información pueden ser más meticulosos y tener buenas habilidades para resolver problemas.
Tu candidato ideal debería poder recuperar fácilmente los cinco primeros registros de una base de datos. Presta atención a aquellos que puedan responder rápidamente a esta pregunta.
Deberían mencionar que la función ROWNUM les permite asignar una pseudocolumna a los resultados, proporcionando un orden numérico. A partir de ahí, pueden seleccionar los cinco primeros resultados mediante una consulta SQL.
Aquí tienes algunas preguntas intermedias de SQL basadas en escenarios que puedes hacer una vez que el candidato se sienta cómodo y se haya ambientado en la entrevista.
¿Cómo se leen los cinco últimos registros de una base de datos mediante una consulta SQL?
Escribe una consulta SQL que te proporcione el décimo salario más alto de una tabla de Empleados.
Explica qué es un plan de ejecución y da un ejemplo de cuándo se necesita uno.
¿Cuál es la diferencia entre UNION y UNION ALL?
Nombra todos los tipos de join compatibles con SQL.
Encuentra la cuarta calificación más alta de una tabla de Estudiantes usando una auto-unión.
Muestra el número de empleados que se unieron en los últimos tres años.
Selecciona todos los registros de la tabla de Estudiantes, excluyendo X e Y.
Obtén el DDL de una tabla.
¿Cómo mostrarías el enésimo registro en la tabla de Estudiantes?
Para ayudarte a analizar correctamente las respuestas de tu candidato, aquí tienes algunas de las preguntas de SQL de nivel intermedio más importantes con respuestas.
La respuesta de tu candidato a esta pregunta debería ser similar a la pregunta anterior, pero también debe mencionar el uso del operador menos (-) para garantizar que el resultado solo muestre los últimos cinco registros y no los primeros cinco.
Presentarle a tu candidato una tarea como esta durante la entrevista te dará una idea de su velocidad de trabajo, la cual afecta directamente su productividad. Puedes observar de cerca qué tan rápido puede desarrollar una consulta SQL y probar la consulta para ver si funciona.
También debes pedirles a los candidatos que expliquen su respuesta. Su explicación te ayudará a comprender su razonamiento y por qué escribieron la consulta utilizando este método y no otro.
Un plan de ejecución es una guía que dicta los métodos de recuperación de datos seleccionados por el optimizador de consultas del servidor. Es útil para ayudar a un profesional de SQL a analizar la eficiencia de los procedimientos almacenados. Este plan permite al profesional comprender mejor sus consultas y optimizar su rendimiento.
UNION y UNION ALL son operadores SQL que tu programador debería poder distinguir. Debería explicar que UNION combina múltiples conjuntos de datos en uno solo, eliminando cualquier fila duplicada del conjunto de resultados combinado.
UNION ALL realiza la misma función, excepto que no elimina registros duplicados. Entonces, si deseas mantener todos los registros sin eliminar duplicados, debes usar UNION ALL en lugar de UNION .
Un candidato calificado para el puesto debe conocer los diferentes tipos de JOIN disponibles en SQL. Debería poder enumerar todos los JOIN compatibles, los cuales son:
INNER JOIN
LEFT JOIN
RIGHT JOIN
FULL JOIN
CROSS JOIN
Además de nombrar los join, el candidato debería ser capaz de explicar la función de cada uno. Pídeles ejemplos de cuándo usarían cada JOIN para evaluar su nivel de conocimiento práctico y experiencia.
Aquí tienes algunas preguntas avanzadas de entrevista SQL basadas en escenarios para desafiar a tus candidatos y ayudarte a aplicar un poco de presión.
Escribe una consulta para obtener el último registro de una tabla.
¿En qué situaciones usarías un servidor vinculado? Explica por qué.
Explica los diferentes tipos de modos de autenticación.
¿Cómo añadirías validación de correo electrónico usando solo una consulta?
¿Dónde deberían almacenarse los nombres de usuario y las contraseñas en un servidor SQL?
¿Qué haces cuando no puedes encontrar la consulta correcta?
¿Qué preguntas te parecieron más difíciles? Explica por qué.
¿Tienes otros conocimientos de programación relevantes que deberíamos conocer?
Para poner a prueba los conocimientos de tu candidato durante la entrevista, haz algunas preguntas que quizás no puedan responder. Evalúa sus respuestas comparándolas con los cinco ejemplos de respuestas a estas preguntas de entrevista de SQL.
Para esta pregunta, lo mejor es proporcionar al candidato una tabla de ejemplo para que pueda escribir y probar una consulta.
Por supuesto, el candidato debe saber cómo escribir consultas SQL. Pero también necesitan conocimientos estratégicos que fundamenten su toma de decisiones. Los candidatos deben saber que los profesionales utilizan servidores vinculados para conectarse a una base de datos remota.
Preguntarle cuándo usaría un servidor vinculado te ayudará a determinar si el candidato tiene experiencia práctica, más allá del simple conocimiento de cómo escribir consultas SQL.
Un buen profesional SQL debería poder describirte los diferentes tipos de modos de autenticación. Te explicará que los servidores SQL admiten dos modos principales de autenticación: el modo de autenticación de Windows y el modo mixto.
Haz preguntas de seguimiento para comprobar si tus candidatos tienen experiencia utilizando estos modos y pueden explicar qué hace cada uno. Deberían saber que la autenticación de Windows deshabilita la autenticación del servidor SQL y que el modo mixto habilita ambos modos.
En su respuesta, el candidato debería especificar con qué RDBMS es compatible la consulta. Por ejemplo, debería indicar que utilizaría la consulta PATINDEX('%[^a-z,0-9,@,.,_]%', REPLACE(email, '-', 'a')) = 0;, la cual es compatible con Microsoft SQL Server.
Pide al candidato que explique que los nombres de usuario y las contraseñas en un servidor SQL se almacenan en la base de datos maestra, en la tabla sysxlogins. También debería explicar que las contraseñas se almacenan en formato hash en lugar de texto sin formato para aumentar la seguridad.
Para ayudarte a saber si necesitarás preguntas de SQL en la entrevista para el puesto que estás contratando, aquí tienes algunos ejemplos de funciones que requieren conocimientos de SQL:
Analista de negocios/desarrollador de inteligencia empresarial
Ingeniero/desarrollador de software
Arquitecto de bases de datos
Si estás contratando para cualquiera de los puestos mencionados anteriormente, necesitarás candidatos competentes en SQL y creación de consultas. Incluso si un candidato no tiene experiencia oficial con SQL, es posible que tenga conocimientos que puedas poner a prueba utilizando una evaluación de habilidades y una entrevista.
Si estás contratando profesionales de SQL, debes diseñar una estrategia de contratación efectiva. En promedio, una oferta de trabajo atrae 250 currículos. Por eso necesitas un método de selección más efectivo que revisar currículums manualmente. Afortunadamente, una evaluación de habilidades puede reemplazar completamente la revisión de currículums.
Antes de hacerles a tus candidatos cualquier pregunta de SQL basada en escenarios, utiliza las evaluaciones de habilidades para crear una lista de candidatos preseleccionados a los que invitar a una entrevista.
Puede crear una evaluación de habilidades de SQL que se adapte a tu puesto de SQL eligiendo entre nuestra prueba de SQLite (programación): Operaciones Básicas de Base de Datos, nuestra prueba de SQLite (programación): Consultas de Nivel Intermedio, y otras pruebas relevantes.
Puedes ordenar a los solicitantes según su habilidad, desde el más calificado hasta el menos calificado, basándote en sus puntajes en la prueba. Invita a los mejores candidatos a una entrevista después de recibir sus resultados y hazles preguntas sobre su personalidad, carrera y formación. A partir de ahí, puedes empezar a poner a prueba sus conocimientos con preguntas de entrevista de SQL basadas en escenarios.
Para cualquier puesto que requiera la administración o el uso de bases de datos, se necesita un candidato con habilidades en SQL. Sin embargo, la experiencia y la formación no siempre se traducen en la capacidad de usar el lenguaje de manera práctica.
Por eso, es fundamental utilizar evaluaciones de habilidades y hacer las preguntas correctas de SQL basadas en escenarios durante la entrevista para poner a prueba a tu candidato.
En TestGorilla, disponemos de una amplia variedad de pruebas de habilidades entre las que puedes elegir para encontrar al candidato adecuado para tu puesto. Obtenga más información sobre cómo funciona la plataforma de TestGorilla con una demonstración gratuita de 30 minutos con nuestro equipo.
Crea evaluaciones previas al empleo en minutos para evaluar a los candidatos, ahorrar tiempo y contratar a los mejores talentos.
Sin spam. Cancela la suscripción en cualquier momento.
Nuestras pruebas de selección identifican a los mejores candidatos y hacen tus decisiones de contratación más rápidas, fáciles y libres de prejuicios.