𝗦𝗤𝗟 𝗜𝗻𝘁𝗲𝗿𝘃𝗶𝗲𝘄 𝗤𝘂𝗲𝘀𝘁𝗶𝗼𝗻𝘀 𝗔𝘁 𝗦𝗼𝗹𝘃𝗲𝗿𝗶𝗻𝗲𝘀 𝗧𝗲𝗰𝗵𝗻𝗼𝗹𝗼𝗴𝘆
Recentemente, concluí uma entrevista técnica na Solverines Technology Solutions. A etapa de SQL focou na recuperação de registros e numeração de linhas. Também enfrentei um problema de lógica sobre alternar o estado de lâmpadas.
Aqui estão os padrões de SQL que você deve conhecer.
Considere uma tabela Employee com emp_id e emp_name.
Obter o último registro: SELECT * FROM Employee ORDER BY emp_id DESC LIMIT 1;
Obter a 3ª linha: SELECT * FROM Employee ORDER BY emp_id LIMIT 1 OFFSET 2; Fórmula: LIMIT 1 OFFSET (N - 1).
Obter a 3ª linha a partir do fim: SELECT * FROM Employee ORDER BY emp_id DESC LIMIT 1 OFFSET 2;
Use ROW_NUMBER() para padrões de linhas específicos.
Obter a 2ª linha ímpar: SELECT * FROM (SELECT *, ROW_NUMBER() OVER(ORDER BY emp_id) AS rn FROM Employee) t WHERE rn = (2 * 2 - 1); Fórmula para a N-ésima linha ímpar: rn = (2 * N - 1).
Obter a 3ª linha par: SELECT * FROM (SELECT *, ROW_NUMBER() OVER(ORDER BY emp_id) AS rn FROM Employee) t WHERE rn = (2 * 3); Fórmula para a N-ésima linha par: rn = (2 * N).
Problema de Lógica: Alternância de Lâmpadas
O problema pede para alternar N lâmpadas ao longo de K operações. Cada operação fornece um índice inicial i e um índice final j. Um 0 torna-se 1. Um 1 torna-se 0.
Exemplo: N = 5, K = 2. Operação 1: índice 1 ao 3. Operação 2: índice 2 ao 4.
Inicial: 0 0 0 0 0 Após Op 1: 0 1 1 1 0 Após Op 2: 0 1 0 0 1 Resultado final: 0 1 0 0 1.
Principais aprendizados da entrevista:
A entrevista testou estes tópicos de SQL:
- Encontrar o último registro.
- Encontrar a N-ésima linha a partir do início ou do fim.
- Usar ROW_NUMBER() para linhas pares ou ímpares.
- Manipulação de arrays para problemas de lógica.
Pratique esses padrões se você for um desenvolvedor iniciante ou júnior.