Structured Query Language (SQL) é uma linguagem de programação usada para gerenciar os dados em um banco de dados relacional. Ao contratar profissionais de programação que trabalham com essa linguagem, você precisa saber se eles são proficientes em SQL e se atendem aos requisitos da sua vaga.
Embora você possa usar avaliações de aptidão para checar as habilidades dos candidatos, ainda é preciso conhecê-los pessoalmente e confirmar se eles são capazes de pensar com clareza e resolver problemas rapidamente.
Criamos esta lista com mais de 40 perguntas de entrevista sobre SQL baseadas em cenários para ajudar você a avaliar a compreensão de SQL dos candidatos. Use essas perguntas para encontrar o desenvolvedor de SQL mais qualificado.
Em vez de fazer com que a entrevista pareça uma prova de uma hora, é melhor ter algumas perguntas rápidas prontas para fazer aos seus candidatos. Faça aos candidatos algumas dessas 30 perguntas baseadas em cenários para conhecer rapidamente seus conhecimentos e habilidades.
Como você converteria segundos em formato de horas?
Como você exibiria o número de finais de semana no mês atual?
Como você exibiria os registros comuns em duas tabelas que não podem ser unidas?
Que consulta você usaria para exibir o terceiro último registro de uma tabela?
Como você exibiria uma data no formato DD-MM-AAAA?
Que consulta você usaria para eliminar todas as tabelas de usuários do Oracle?
Como você visualizaria o salário máximo mensal de um departamento específico?
Que consulta lhe daria o segundo maior salário em uma tabela de funcionários?
Como você obteria uma lista de todos os funcionários e seus gerentes?
Como você encontraria o último dia do mês anterior com uma consulta?
Como você obteria a data de admissão de um aluno no formato Ano-Dia-Data?
Que consulta você usaria para criar uma nova tabela com a estrutura da tabela Student?
Como você visualiza somente os registros comuns de duas tabelas diferentes?
Como você visualiza os salários mensais dos funcionários com base em seus salários anuais?
Se uma tabela Student contiver valores separados por vírgula, como você visualizaria o número de valores?
Como você recuperaria as informações do funcionário quando ele não tiver sido atribuído a um departamento?
Como você usaria a função de classificação para exibir o terceiro maior salário?
Como você exibiria todos os funcionários com salário superior a US$ 30.000 que ingressaram em 2019?
Como você exibiria uma string verticalmente?
Como você exibiria os primeiros 25% dos registros de uma tabela Student?
Como você exibiria os últimos 25% dos registros de uma tabela Student?
Como você converteria a hora do sistema em segundos?
Que consulta você usaria para mostrar números entre 1 e 100?
Como você mostraria o DDL de uma tabela?
Como você mostraria somente as linhas ímpares de uma tabela Student?
Outro funcionário precisa de ajuda e pede que você explique o que é um banco de dados. Qual seria a sua resposta?
Você está ajudando um funcionário com menos conhecimento. Como você explicaria a diferença entre DBMS e RDBMS?
Como você selecionaria registros exclusivos de uma tabela usando uma consulta SQL?
Como excluir registros duplicados de uma tabela usando uma consulta SQL?
Como ler os cinco primeiros registros de um banco de dados usando uma consulta SQL?
Para garantir que você tenha perguntas suficientes para a entrevista, escolha entre 5 e 15 das perguntas listadas acima. Embora talvez você não consiga fazer todas elas, é melhor ter muitas do que poucas.
Para analisar as respostas dos candidatos, use estes exemplos de respostas diretas às nossas perguntas de entrevistas com SQL baseadas em cenários.
Muitas vezes, as empresas têm departamentos e equipes compostas por funcionários com diferentes conjuntos de habilidades e conhecimentos. As equipes que se comunicam de forma eficaz têm produtividade até 25% maior. É por isso que você precisa de programadores que possam dar suporte aos funcionários que têm menos conhecimento dos aspectos técnicos da empresa.
Se um funcionário de um departamento precisar de assistência para gerenciar um banco de dados, seria útil que ele entendesse o que é um banco de dados.
O candidato ideal deve explicar que um banco de dados é uma coleção de dados estruturados que podem ser acessados, recuperados, gerenciados e armazenados em um sistema de computador digitalizado. Os bancos de dados são criados com uma abordagem de design e modelagem e podem ser armazenados em um sistema de arquivos, em um cluster de computadores ou em um armazenamento em nuvem, dependendo do tamanho.
Quanto mais direta e fácil de entender for a resposta, melhor será a comunicação do candidato com os funcionários menos experientes em bancos de dados.
Você precisa saber se o candidato consegue explicar tópicos complexos de SQL a uma pessoa com menos conhecimento. Quando você fizer essa pergunta, certifique-se de que o funcionário responda em termos leigos, usando uma linguagem clara.
Ele deve ser capaz de explicar que um DBMS é um sistema de gerenciamento de banco de dados, um sistema que permite que os profissionais gerenciem bancos de dados e recuperem informações deles. Ele estrutura e organiza os dados para torná-los facilmente acessíveis. Um DBMS só permite que o usuário acesse um elemento de dados por vez.
Um RDBMS, por outro lado, armazena dados em uma estrutura de tabela, ajudando os profissionais a acessar vários elementos de dados de forma mais eficiente.
Essa é uma pergunta prática relacionada a SQL que o candidato ideal será capaz de responder rapidamente. O entrevistado pode dar algumas respostas aceitáveis:
Você pode usar as cláusulas GROUP BY e SELECT para coletar dados de vários registros e agrupá-los por colunas. O uso da função GROUP BY permite visualizar registros exclusivos das colunas selecionadas e consultá-los.
Você pode usar a função ROW_NUMBER() para atribuir numeração consecutiva às linhas do resultado. Dessa forma, é possível atribuir números de linha aos registros exclusivos da consulta.
Com essa pergunta, você saberá se os candidatos conseguem transmitir informações técnicas com clareza e entender as consultas SQL.
A simplificação do banco de dados e a redução de dados duplicados podem ajudar a liberar espaço de armazenamento e aumentar a eficiência, acelerando a recuperação de dados. Se o seu banco de dados estiver cheio de registros duplicados, isso poderá afetar a velocidade de processamento do computador e o espaço de armazenamento na nuvem.
Seu candidato deve saber como executar a tarefa básica de excluir registros duplicados de uma tabela usando uma consulta SQL.
Um método é usar as cláusulas GROUP BY e HAVING para recuperar registros duplicados. Em seguida, é possível criar uma tabela temporária ou uma subconsulta para armazenar os registros duplicados. Por fim, você pode usar a instrução DELETE para excluir os registros duplicados da tabela original.
Observe os candidatos que fornecem várias respostas e descrevem quando usariam cada solução. Aqueles que oferecem mais informações podem ser mais conscientes e ter habilidades sólidas de resolução de problemas.
O candidato ideal deve ser capaz de recuperar facilmente os cinco primeiros registros de um banco de dados. Preste atenção nos candidatos que conseguem responder rapidamente a essa pergunta.
Eles devem mencionar que a função ROWNUM permite alocar uma pseudocoluna aos resultados, fornecendo uma ordem numérica. A partir daí, eles podem selecionar os cinco primeiros resultados usando uma consulta SQL.
Aqui estão algumas perguntas intermediárias sobre SQL baseadas em cenários para fazer quando o candidato estiver confortável e ambientado na entrevista.
Como ler os últimos cinco registros de um banco de dados usando uma consulta SQL?
Escreva uma consulta SQL que forneça o décimo maior salário de um funcionário em uma tabela Employee.
Explique o que é um plano de execução e dê um exemplo de quando você pode precisar de um.
Qual é a diferença entre UNION e UNION ALL?
Liste todas as junções suportadas no SQL.
Encontre a quarta maior pontuação de uma tabela Student usando a autojunção.
Mostre o número de funcionários que se juntaram nos últimos três anos.
Selecione todos os registros da tabela Student, excluindo X e Y.
Obtenha o DDL de uma tabela.
Como você mostraria o N-ésimo registro na tabela Student?
Para ajudar você a analisar corretamente as respostas do seu candidato, aqui estão algumas das perguntas intermediárias sobre SQL mais importantes com respostas.
A resposta do seu candidato a essa pergunta deve ser semelhante à da pergunta acima. No entanto, ele também deve mencionar que o uso do fator menos para garantir que o resultado extraia apenas os últimos cinco registros e não os cinco primeiros.
Apresentar ao candidato uma tarefa como essa durante a entrevista lhe dará uma ideia da velocidade de trabalho dele, o que afeta diretamente a produtividade. Você pode observar de perto a rapidez com que ele consegue desenvolver uma consulta SQL e testar a consulta para ver se funciona.
Você também deve pedir aos candidatos que expliquem suas respostas. A resposta deles lhe ajudará a entender o raciocínio e por que escreveram a consulta usando esse método e não outro.
Um plano de execução é um guia que determina os métodos de recuperação de dados selecionados pelo otimizador de consultas do servidor. Ele é útil para ajudar um profissional de SQL a analisar a eficiência dos procedimentos armazenados. O plano de execução permite que o profissional de programação entenda melhor seus procedimentos de consulta para otimizar o desempenho da consulta.
UNION e UNION ALL são operadores SQL que seu programador deve saber distinguir. Ele deve explicar que UNION combina vários conjuntos de dados em um só, removendo todas as linhas duplicadas do conjunto de resultados combinados.
UNION ALL executa a mesma função, exceto que não exclui registros duplicados. Portanto, se quiser manter todos os registros sem excluir os duplicados, use UNION ALL em vez de UNION.
Seu candidato deve saber quais uniões são compatíveis com o SQL. Ele deve ser capaz de listar todas as junções suportadas, que são
INNER JOIN
LEFT JOIN
RIGHT JOIN
FULL JOIN
CROSS JOIN
O candidato deve ser capaz de explicar o que cada união faz. Peça que ele dê exemplos de quando usaria cada junção para avaliar seu nível de conhecimento prático e experiência.
Aqui estão algumas perguntas avançadas de entrevista sobre SQL com base em cenários para desafiar seus candidatos e ajudar você a exercer alguma pressão.
Escreva uma consulta para obter o último registro de uma tabela.
Quando você usaria um servidor vinculado? Explique por quê.
Explique os diferentes tipos de modos de autenticação.
Como adicionar validação de e-mail usando apenas uma consulta?
Onde os nomes de usuário e as senhas devem ser armazenados em um servidor SQL?
O que você faz quando não consegue encontrar a consulta correta?
Quais perguntas você achou mais difíceis? Explique por quê.
Você tem algum outro conhecimento de programação relevante que deveríamos saber?
Para desafiar o conhecimento do candidato durante a entrevista, faça algumas perguntas que ele talvez não consiga responder. Avalie suas respostas em relação aos cinco exemplos de respostas para essas perguntas de entrevista sobre SQL.
Para essa pergunta, é melhor fornecer ao candidato uma tabela de exemplo para a qual ele possa escrever e testar uma consulta.
É claro que seu candidato deve saber como escrever consultas SQL. Mas eles também precisam de conhecimentos estratégicos que informem suas tomadas de decisão. Os candidatos precisam saber que os profissionais usam servidores vinculados para se vincular a um banco de dados remoto.
Perguntar a eles quando devem usar um servidor vinculado ajudará você a saber se o candidato tem experiência prática, não apenas conhecimento de como escrever consultas SQL.
Seu profissional de SQL deve ser capaz de descrever os diferentes tipos de modos de autenticação para você. Ele pode explicar que os servidores SQL suportam dois modos de autenticação principais: Modo de autenticação do Windows e modo misto.
Faça perguntas de acompanhamento para verificar se os candidatos têm experiência no uso desses modos e se podem explicar o que cada um deles faz. Eles devem saber que a autenticação do Windows desativa a autenticação do servidor SQL e que o modo misto ativa esses dois modos.
Na resposta, o candidato deve especificar com qual RDBMS a consulta é compatível. Por exemplo, ele deve declarar que usaria a consulta PATINDEX('%[^a-z,0-9,@,.,_]%', REPLACE(email, '-', 'a')) = 0;, que seria compatível com o Microsoft SQL Server.
Peça ao candidato para explicar que os nomes de usuário e as senhas em um servidor SQL são armazenados no banco de dados mestre na tabela sysxlogins. Ele também deve explicar que as senhas são armazenadas em um formato de hash em vez de texto simples para aumentar a segurança.
Para ajudar você a entender se precisará de perguntas de entrevista sobre SQL para o cargo que está contratando, aqui estão alguns exemplos de funções que exigem conhecimento de SQL:
Analista de negócios/desenvolvedor de business intelligence
Desenvolvedor/engenheiro de software
Arquiteto de banco de dados
Se estiver contratando para qualquer um dos cargos acima, você precisará de candidatos com proficiência em SQL e criação de consultas. Mesmo que um candidato não tenha experiência oficial com SQL, ele pode ter conhecimentos que você pode testar usando uma avaliação de habilidades e uma entrevista.
Se você estiver contratando profissionais de SQL, deverá elaborar uma estratégia de contratação eficaz. Em média, uma vaga de emprego atrai 250 currículos. É por isso que você precisa de um método de triagem mais eficaz do que analisar os currículos manualmente. Felizmente, uma avaliação de habilidades pode substituir completamente a triagem de currículos.
Antes de fazer perguntas sobre SQL baseadas em cenários aos seus candidatos, use as avaliações de habilidades para criar uma lista restrita de candidatos a serem convidados para uma entrevista.
Você pode criar uma avaliação de habilidades em SQL adequada à sua função de SQL escolhendo entre nossos testes de SQLite (programação): operações básicas de banco de dados, SQLite (programação): consultas de nível intermediário, e outros testes relevantes.
Você pode classificar os candidatos do mais para o menos qualificado com base nas pontuações dos testes. Convide os melhores candidatos para uma entrevista após receber os resultados e faça perguntas sobre sua personalidade, carreira e formação. A partir daí, você pode começar a testar o conhecimento deles com perguntas de entrevista sobre SQL baseadas em cenários.
Qualquer cargo que exija o gerenciamento ou o uso de bancos de dados precisa de um candidato com habilidades em SQL. Entretanto, a experiência e o treinamento nem sempre se traduzem na capacidade de usar a linguagem na prática.
É por isso que usar avaliações de habilidades e fazer as perguntas corretas sobre SQL baseadas em cenários durante a entrevista é essencial para colocar o candidato à prova.
Na TestGorilla, temos uma variedade de testes de habilidades que você pode escolher para encontrar o candidato certo para o seu cargo. Saiba mais sobre como a plataforma da TestGorilla funciona com uma sessão gratuita de 30 minutos com nossa equipe.
Em minutos, você cria avaliações para selecionar as pessoas candidatas ideais, economizar tempo e contratar profissionais excelentes.
Sem spams. Cancele a assinatura quando quiser.
Com nossos testes, fica muito fácil encontrar a pessoa certa para sua vaga e tomar decisões acertadas e justas durante todo o processo.