Hoy os he preparado un artículo diferente, hace tiempo que rondaba por mi cabeza la idea de prepararos un artículo con preguntas y respuestas a las que es posible que os tengáis que enfrentar si hacéis una entrevista para un puesto de DBA de SQL Server. Otra idea que lleva rondando mi cabeza desde que inicié este proyecto era hacer un artículo con IA, cada vez está más claro que es una tecnología que ha venido para quedarse y en cuanto antes empecemos a ganar soltura mejor para nosotros. Así que hoy he decidido juntar esas dos ideas en este post y vamos a dejar que la IA nos haga una entrevista de trabajo. Además vamos a dejar también que responda a las preguntas. Por mi parte os añadiré unas notas con mi opinión sobre cada una de las preguntas y respuestas. ¡Vamos a ello!
Configurando nuestra entrevista con IA
Como ya sabéis la Inteligencia Artificial pone a nuestra disposición prácticamente todo lo que le podamos pedir, eso sí, hay que saber cómo pedirlo para obtener el resultado deseado. Lo que le pedimos a una IA se llama prompt y en mi caso ha sido este.
Por un lado le he dicho a Chat GPT que actúe como entrevistador. Le he pedido que haga una entrevista técnica de 5 preguntas:
Quiero que actúes como un entrevistador de RRHH haciendo una entrevista técnica a un candidato a una vacante de DBA SQL Server. Hazme un total de 5 preguntas de una en una y yo te daré la respuesta.
Para las respuestas, vamos a pedirle a Copilot, la IA de Bing (Microsoft) que nos de las respuestas. Este ha sido nuestro prompt:
Quiero que actúes como un candidato a una posición de DBA SQL Server durante una entrevista técnica con RRHH, yo te voy a hacer las preguntas y tú me respondes.
Nuestra entrevista con IA
Teniendo ya configuradas nuestras dos IAs podemos empezar con la entrevista, Chat GPT nos hará unas preguntas que copiaremos en Copilot. Las respuestas que nos de Copilot las copiaremos en Chat GPT para continuar con la entrevista, vamos a ello.
Pregunta 1
Entrevistador (Chat GPT):
¡Claro! Comencemos con la primera pregunta:
¿Puede explicarme qué es la normalización de bases de datos y por qué es importante en el contexto de SQL Server?
Candidato (Copilot):
¡Por supuesto! La normalización de bases de datos es el proceso de organizar los datos en una base de datos para reducir la redundancia y mejorar la integridad de los datos. En SQL Server, la normalización es importante porque ayuda a evitar errores de actualización y eliminación, mejora la eficiencia de las consultas y reduce el espacio de almacenamiento.
Opinión de Roberto: Una pregunta de teoría básica de base de datos para marcar las bases de la entrevista es una muy buena opción. La respuesta es correcta, echo en falta mencionar las formas normales (por lo menos hasta la tercera) pero, he visto que nosotros en el blog tampoco hemos hablado de este tema hasta ahora. Me lo apunto para darle solución lo antes posible.
Pregunta 2
Entrevistador (Chat GPT):
Excelente explicación. Ahora pasemos a la siguiente pregunta:
¿Cuáles son las diferencias entre una clave primaria y una clave externa en una base de datos SQL Server?
Candidato (Copilot):
¡Claro! Una clave primaria es una columna o un conjunto de columnas que identifican de forma única cada fila de una tabla y garantizan la integridad de la entidad de la tabla. Por otro lado, una clave externa es una columna o un conjunto de columnas que establecen una relación entre dos tablas y garantizan la integridad referencial de los datos. En otras palabras, una clave primaria se utiliza para identificar de forma única cada fila en una tabla, mientras que una clave externa se utiliza para establecer una relación entre dos tablas.
Opinión de Roberto: Podríamos considerar esta pregunta no tanto para DBA como para usuarios de bases de datos, sin embargo en nuestro día a día deberemos responder dudas de usuarios por lo que es importante tener claros todos estos conceptos. Nosotros profundizamos mucho más sobre claves primarias.
Pregunta 3
Entrevistador (Chat GPT):
Muy bien explicado. Ahora, avanzando a la tercera pregunta:
¿Cómo optimizaría el rendimiento de una consulta que está ejecutando lentamente en una base de datos SQL Server?
Candidato (Copilot):
Para optimizar el rendimiento de una consulta que se está ejecutando lentamente en una base de datos SQL Server, se pueden seguir algunas prácticas recomendadas. Primero, se puede identificar la consulta lenta y analizar su plan de ejecución para detectar cuellos de botella y posibles mejoras. Luego, se pueden crear índices adecuados para mejorar la velocidad de búsqueda y reducir el tiempo de respuesta. Además, se pueden ajustar las opciones de configuración del servidor y la base de datos para mejorar el rendimiento general.
Opinión de Roberto: Una pregunta sencilla que da mucho juego. Es muy probable que en nuestras entrevistas nos encontremos con esta pregunta o una muy parecida. Por esto mismo, tendremos que prepararnos muy bien la respuesta. Es una pregunta donde nos podremos extender y demostrar lo que sabemos, es muy abierta y con poca información por eso mismo. Quizá yo empezaria la respuesta preguntando, ¿cómo sabemos que va lenta? ¿iba bien antes pero se ha degradado el rendimiento o siempre ha tardado mucho y deseamos mejorar los tiempos? ¿tenemos habilitado Query Store para consultar los distintos planes de ejecución? A partir de aquí ya toca meterse a mirar el plan de ejecución, ver que componentes consumen más recursos y como se puede optimizar la consulta y los índices para mejorar. También miraremos el estado del servidor y el consumo de los principales recursos (CPU,RAM y Disco).
Pregunta 4
Entrevistador (Chat GPT):
Muy acertado. Ahora, pasemos a la cuarta pregunta:
¿Qué estrategias utilizaría para realizar copias de seguridad y restauración en SQL Server?
Candidato (Copilot):
Para realizar copias de seguridad y restauración en SQL Server, se pueden seguir algunas estrategias recomendadas. Primero, es importante identificar los datos críticos que deben ser respaldados y establecer un plan de copia de seguridad adecuado. Luego, se pueden programar copias de seguridad regulares y almacenarlas en un lugar seguro y fuera del sitio. Además, se pueden realizar pruebas de restauración periódicas para garantizar que los datos se puedan recuperar en caso de una falla del sistema. En cuanto a la restauración, se pueden utilizar las herramientas de restauración integradas de SQL Server para restaurar una base de datos a un estado anterior.
Opinión de Roberto: Nos encontramos, de nuevo, con una de las preguntas más frecuentes en las entrevistas de trabajo para DBA. No es casualidad, es una de las tareas diarias de todo DBA como comentamos aquí. No me voy a extender más pues ya tenemos en el blog un artículo dedicado a las copias de seguridad y sus restauraciones.
Pregunta 5
Entrevistador (Chat GPT):
Excelente enfoque. Ahora, para la última pregunta:
¿Cómo gestionaría la seguridad en una base de datos SQL Server, asegurando que solo usuarios autorizados tengan acceso a ciertos datos y funciones?
Candidato (Copilot):
Para gestionar la seguridad en una base de datos SQL Server y asegurarse de que solo los usuarios autorizados tengan acceso a ciertos datos y funciones, se pueden seguir algunas prácticas recomendadas. Primero, se puede establecer un plan de seguridad por capas que aproveche varias funcionalidades de seguridad destinadas a distintos ámbitos de seguridad. Luego, se pueden configurar los permisos de usuario y las entidades de seguridad para reducir el área expuesta de SQL Server. Además, se pueden cifrar los datos en reposo y a través de la conexión con Always Encrypted y Cifrado de datos transparente. Por último, se pueden programar auditorías y alertas para detectar y responder a posibles amenazas de seguridad
Opinión de Roberto: Para finalizar, la IA nos hace otra de esas preguntas que nunca faltan en una entrevista de trabajo. Gestionar la seguridad de los usuarios es clave para el cumplimiento de la normativa básica de seguridad de todas las empresas y, en entornos regulados, hasta la legislación. Vemos como la segunda IA da una respuesta muy completa, hace referencia a permisos por objeto como vimos cuando hablamos de las vistas. Nos habla también de distintas opciones de cifrado de datos que veremos en profundidad más adelante y finaliza con auditorías para vigilar y monitorizar el cumplimiento de las políticas de seguridad.
Conclusión
Ha sido un experimento divertido, hemos visto que las IAs han acertado en gran medida dentro del rol que les habíamos asignado y nos han dado gran variedad de temas a tratar en los próximos días. Lejos está aún el día que predicen que las IA serán capaces de quitarnos el trabajo (aunque es posible que llegue), lo que sí que ha llegado es el día de aprender a usarlas. Tenemos a golpe de click y de manera gratuita un universo infinito de posibilidades que nos puede ayudar como hemos visto desde para preparar una entrevista de trabajo como en el día a día. Tened claro que al blog han venido para quedarse y que más adelante hablaremos más de este tipo de herramientas. ¿Qué os parece a vosotros? ¿Os ha gustado este artículo diferente? Dejadme vuestro feedback aquí abajo, en Twitter o por mail.


[…] el pasado post, recreamos con IA una entrevista de trabajo para DBA SQL Server. Una de las preguntas de esta entrevista era sobre la normalización de bases de datos y os […]
[…] otro día, hablando de preguntas en entrevistas de trabajo para DBA, comentamos el tema del cifrado de datos en SQL Server. Como es un tema muy interesante y que a […]
[…] avances en inteligencia artificial son imparables, eso está claro. Además está claro que son la tendencia en el mercado, parece que […]