Perguntas de entrevista para engenheiro júnior de Machine Learning

Milad Bonakdar
Autor
Prepare-se para entrevistas júnior de ML com perguntas sobre Python, avaliação de modelos, vazamento de dados, implantação, monitoramento e MLOps.
Perguntas de entrevista para engenheiro júnior de Machine Learning
Em uma entrevista para engenheiro júnior de Machine Learning, você deve saber explicar como escreve Python confiável, treina e avalia modelos, evita vazamento de dados, prepara modelos para implantação e monitora previsões depois do release. Uma boa resposta mostra o algoritmo, as premissas dos dados, a escolha das métricas e os trade-offs de produção.
Use este guia para praticar perguntas comuns em vagas iniciais de engenharia de ML: programação em Python, algoritmos clássicos, validação, dados desbalanceados, model serving, Docker, monitoramento e fundamentos de CI/CD.
Python e Programação (5 Questões)
1. Como você lida com grandes conjuntos de dados que não cabem na memória?
Resposta: Várias técnicas lidam com dados maiores que a RAM disponível:
- Processamento em Lote: Processa dados em partes
- Geradores: Retornam dados sob demanda
- Dask/Ray: Frameworks de computação distribuída
- Consultas de Banco de Dados: Carrega apenas os dados necessários
- Arquivos Mapeados na Memória: Acessa o disco como se estivesse na memória
- Streaming de Dados: Processa dados à medida que chegam
Raridade: Muito Comum Dificuldade: Média
2. Explique decoradores em Python e dê um caso de uso de ML.
Resposta: Decoradores modificam ou aprimoram funções sem alterar seu código.
- Casos de Uso em ML:
- Medição do tempo de execução da função
- Registro de previsões (logging)
- Armazenamento em cache de resultados
- Validação de entrada
Raridade: Comum Dificuldade: Média
3. Qual é a diferença entre @staticmethod e @classmethod?
Resposta: Ambos definem métodos que não exigem uma instância.
- @staticmethod: Sem acesso à classe ou instância
- @classmethod: Recebe a classe como primeiro argumento
Raridade: Média Dificuldade: Média
4. Como você lida com exceções em pipelines de ML?
Resposta: O tratamento adequado de erros evita falhas no pipeline e auxilia na depuração.
Raridade: Comum Dificuldade: Média
5. O que são geradores em Python e por que eles são úteis em ML?
Resposta: Geradores retornam valores um de cada vez, economizando memória.
- Benefícios:
- Eficiência de memória
- Avaliação preguiçosa (lazy evaluation)
- Sequências infinitas
- Casos de Uso de ML:
- Carregamento de dados
- Processamento em lote
- Aumento de dados (data augmentation)
Raridade: Comum Dificuldade: Média
Algoritmos de ML e Teoria (5 Questões)
6. Explique a diferença entre bagging e boosting.
Resposta: Ambos são métodos de ensemble, mas funcionam de forma diferente:
- Bagging (Bootstrap Aggregating):
- Treinamento paralelo em subconjuntos aleatórios
- Reduz a variância
- Exemplo: Random Forest
- Boosting:
- Treinamento sequencial, cada modelo corrige erros anteriores
- Reduz o viés
- Exemplos: AdaBoost, Gradient Boosting, XGBoost
Raridade: Muito Comum Dificuldade: Média
7. Como você lida com conjuntos de dados desbalanceados?
Resposta: Dados desbalanceados podem enviesar modelos em direção à classe majoritária.
- Técnicas:
- Reamostragem: SMOTE, subamostragem
- Pesos de classe: Penaliza a classificação incorreta
- Métodos de ensemble: Balanced Random Forest
- Avaliação: Use F1, precisão, recall (não acurácia)
- Ajuste de limite: Otimize o limite de decisão
Raridade: Muito Comum Dificuldade: Média
8. O que é validação cruzada e por que é importante?
Resposta: A validação cruzada avalia o desempenho do modelo de forma mais confiável do que uma única divisão treino-teste.
- Tipos:
- K-Fold: Divida em k folds
- Stratified K-Fold: Preserva a distribuição da classe
- Time Series Split: Respeita a ordem temporal
- Benefícios:
- Estimativa de desempenho mais robusta
- Usa todos os dados para treinamento e validação
- Detecta overfitting
Raridade: Muito Comum Dificuldade: Fácil
9. Explique precisão, recall e F1-score.
Resposta: Métricas de classificação para avaliar o desempenho do modelo:
- Precisão: Das previsões positivas, quantas estão corretas
- Fórmula: TP / (TP + FP)
- Use quando: Falsos positivos são custosos
- Recall: Dos positivos reais, quantos foram encontrados
- Fórmula: TP / (TP + FN)
- Use quando: Falsos negativos são custosos
- F1-Score: Média harmônica de precisão e recall
- Fórmula: 2 × (Precisão × Recall) / (Precisão + Recall)
- Use quando: Precisa de equilíbrio entre precisão e recall
Raridade: Muito Comum Dificuldade: Fácil
10. O que é regularização e quando você a usaria?
Resposta: A regularização evita o overfitting, penalizando a complexidade do modelo.
- Tipos:
- L1 (Lasso): Adiciona o valor absoluto dos coeficientes
- L2 (Ridge): Adiciona os coeficientes ao quadrado
- Elastic Net: Combina L1 e L2
- Quando usar:
- Alta variância (overfitting)
- Muitos recursos
- Multicolinearidade
Raridade: Muito Comum Dificuldade: Média
Treinamento e Implementação de Modelos (5 Questões)
11. Como você salva e carrega modelos em produção?
Resposta: A serialização de modelos permite a implementação e reutilização.
Raridade: Muito Comum Dificuldade: Fácil
12. Como você cria uma API REST para servir modelos?
Resposta: APIs REST tornam os modelos acessíveis a aplicativos.
Raridade: Muito Comum Dificuldade: Média
13. O que é Docker e por que é útil para a implementação de ML?
Resposta: Os contêineres Docker empacotam aplicativos com todas as dependências.
- Benefícios:
- Reprodutibilidade
- Consistência entre ambientes
- Implementação fácil
- Isolamento
Raridade: Comum Dificuldade: Média
14. Como você monitora o desempenho do modelo em produção?
Resposta: O monitoramento detecta a degradação do modelo e garante a confiabilidade.
- O que Monitorar:
- Métricas de previsão: Acurácia, latência
- Data drift: Mudanças na distribuição de entrada
- Model drift: Degradação do desempenho
- Métricas do sistema: CPU, memória, erros
Raridade: Comum Dificuldade: Média
15. O que é CI/CD para machine learning?
Resposta: CI/CD automatiza o teste e a implementação de modelos de ML.
- Integração Contínua:
- Teste automatizado
- Verificações de qualidade do código
- Validação do modelo
- Implementação Contínua:
- Implementação automatizada
- Capacidades de rollback
- Teste A/B


