Entrevistas de Machine Learning
Os 77 tópicos de Machine Learning (ML) que mais caem em entrevistas de estágio e emprego, da análise exploratória às redes neurais e às operações de ML (MLOps): o que estudar, como estudar e como responder. Com respostas curtas, um quiz, um checklist do seu progresso e, em cada tópico, o link para a aula em que ele é ensinado.
A pergunta das 14h
Uma cena que vai acontecer com você.
Quinta-feira, 14h. Entrevista para a vaga de estágio que você mais queria, numa equipe de dados. Depois das apresentações, a entrevistadora vira a tela do notebook para você: um modelo de churn (cancelamento de clientes), treinado por alguém do time, com 95% de accuracy no teste. E pergunta, sem mais nada:
"Esse modelo está bom?"
Ela não quer um sim ou um não. Quer ver como você pensa.
Existe uma resposta fraca ("sim, 95% é muito alto") e uma resposta forte, que começa com uma pergunta de volta: "qual é a taxa de churn?". Se só 5% dos clientes cancelam, um modelo que nunca prevê cancelamento já tem 95% de accuracy sem ter aprendido nada.
A diferença entre as duas respostas não é decorar mais definições. É saber conectar o que você estudou de ML: baseline, desbalanceamento e matriz de confusão, threshold e custo dos erros. Esta página organiza esse caminho. Ao final, voltamos à pergunta das 14h com a resposta completa.
Como é uma entrevista de ML
Três tipos de pergunta, três habilidades, a mesma lógica: raciocinar com dados em voz alta.
"O que é overfitting?"
Avalia se você define com as próprias palavras, dá a intuição e sabe quando a ideia falha. Quase sempre há um "depende" escondido.
"Treino 0,99, validação 0,72"
Avalia diagnóstico e próximos passos. Não existe resposta única: existe raciocínio estruturado e escolhas justificadas.
"Monte esse pipeline"
Avalia se você usa scikit-learn sem cometer leakage: Pipeline, ColumnTransformer, cross_val_score.
Para uma vaga de entrada, quase ninguém espera que você conheça o algoritmo mais novo. O que derruba candidatos são as armadilhas básicas: comparar sem baseline, reportar accuracy em dados desbalanceados, ajustar transformações antes de dividir os dados, escolher hiperparâmetros olhando o teste. Quem evita essas quatro já está à frente da maioria.
O que o entrevistador avalia
| Aspecto | Conceitual | De caso | De código |
|---|---|---|---|
| Resposta certa | Uma definição, com nuances | Várias respostas válidas | Código que roda e não vaza |
| Foco | Clareza e intuição | Diagnóstico e trade-offs | Uso correto das ferramentas |
| Duração típica | 1–3 min por pergunta | 10–20 min | 15–30 min |
| Erro mais comum | Recitar sem dar a armadilha | Pular para o modelo sem perguntar o contexto | Pré-processar antes do split |
| Onde treinar | Conceitos-chave | Pergunta de caso | Os labs das aulas, refeitos sem consultar |
Como responder
8 princípios para transformar o que você sabe numa resposta que convence.
Dica prática: use transições explícitas. Ao passar do diagnóstico para a solução, diga em voz alta: "então o problema parece ser variância; vou propor três formas de reduzi-la, da mais barata para a mais cara". O entrevistador acompanha a sua estrutura e você não se perde.
Pergunta de caso, passo a passo
"Descreva como você construiria um modelo para…" — a pergunta aberta mais comum. A resposta é o fluxo de trabalho de ML, um laço de seis etapas.
Pipeline com ColumnTransformer, ajustados só no treino de cada dobra. O baseline (média ou classe majoritária) define o piso. D3 · Pipelines → Sempre pergunte: "quanto custa errar para cada lado?" Isso muda tudo. Se um falso negativo custa caro (um doente não detectado, uma fraude que passa), você vai priorizar recall e baixar o threshold. Se um falso positivo custa caro (bloquear um cliente honesto), vai priorizar precision. A métrica e o threshold saem dessa resposta, não do padrão do predict.
Diagnóstico rápido
Os sintomas que aparecem em perguntas de caso, o que eles costumam indicar e o que fazer.
Em perguntas de caso, o entrevistador descreve um sintoma e espera um diagnóstico com o próximo passo. Antes de propor um modelo novo, descarte as causas baratas: leakage, baseline mal escolhido, métrica errada, escala das features, distribuições diferentes entre treino e validação.
| Sintoma | Diagnóstico provável | Próximo passo |
|---|---|---|
| Treino 0,99, validação 0,72 | Overfitting (variância alta) | Descartar leakage; reduzir complexidade, regularizar, mais dados |
| Treino e validação ambos ruins | Underfitting (viés alto) | Modelo mais flexível ou features melhores; mais dados não resolvem |
| 95% de accuracy num problema raro | Pode ser só a classe majoritária | Comparar com o baseline; olhar recall, precision, PR-AUC (área sob a curva precision-recall) |
| Uma feature sozinha dá AUC (área sob a curva ROC, receiver operating characteristic) de 0,99 | Target leakage | Checar quando a feature é registrada; tirar e medir a queda |
| Modelo B ganha de A por 0,004 | Diferença dentro do ruído | Olhar o desvio entre as dobras; preferir o mais simples |
| Validação ótima, teste muito pior | Overfitting da validação pelo tuning ou um split que vaza | Nested CV (validação cruzada aninhada); split temporal ou por grupo; teste realmente trancado |
| Coeficientes com sinais absurdos | Multicolinearidade | Não interpretar isoladamente; regularizar (Ridge); remover redundâncias |
| Resíduos com padrão em forma de U | Relação não linear não capturada | Transformar features, adicionar termos, modelo não linear |
| Os grupos do k-means seguem uma única coluna | Features em escalas diferentes: a de maior unidade domina a distância | Padronizar dentro do pipeline; decidir a escala pelas unidades, não pela silhueta |
| A loss do treino oscila ou explode | Learning rate alto demais (ou features sem escala) | Reduzir a taxa de aprendizado; padronizar as entradas |
| Ótimo na validação, ruim desde o primeiro dia em produção | Training-serving skew ou uma feature que não existe na hora de prever | Comparar as features calculadas no treino e no serviço; validar a entrada com um schema |
| Em produção, piora aos poucos sem mudança no código | Drift: as entradas ou a relação com o target mudaram | Monitorar features e escores (PSI, o índice de estabilidade populacional; teste KS, de Kolmogorov-Smirnov); medir quando os rótulos chegam; retreinar com dados recentes |
"Treino 0,99 e validação 0,72"
Pergunte: que modelo, quantos dados, como foi o split?
Descarte o barato: alguma feature só existe depois do target? Há linhas do mesmo cliente dos dois lados? Treino e validação vêm da mesma distribuição?
Diagnostique: o gap de 0,27 indica variância alta: o modelo decorou o treino.
Proponha, do mais barato ao mais caro: limitar a profundidade ou regularizar; tirar features ruidosas; juntar mais dados, se a curva de aprendizado mostrar que eles ajudam. Mostre uma curva de validação para escolher a complexidade.
O que usar em cada caso
Curva de validação: escolher a complexidade (profundidade, regularização) olhando o U do erro.
Curva de aprendizado: saber se mais dados valem a pena.
Validação cruzada: estimar o desempenho e a sua variabilidade com menos sorte de split.
Matriz de confusão: ver que tipo de erro o modelo comete, não só quantos.
Permutation importance e SHAP (SHapley Additive exPlanations): saber que features o modelo usa em dados novos e em cada previsão.
Dados embaralhados: a régua de qualquer agrupamento ou de qualquer score suspeito.
PSI e teste KS: detectar que as entradas mudaram em produção.
Os 77 conceitos-chave
Os 77 tópicos, em oito temas. Tente responder em voz alta antes de abrir cada tema. Os números identificam cada tópico no checklist; o código ao lado da pergunta leva à aula em que o tópico é ensinado. Os termos aparecem como você vai ouvi-los na entrevista, em inglês; nas aulas em português, feature é atributo, threshold é limiar, accuracy é acurácia, precision é precisão e recall é revocação.
DummyRegressor e DummyClassifier. Define o piso: um modelo que não supera o baseline não serve, por mais sofisticado que seja.Pipeline garante o fit só no treino de cada dobra e aplica exatamente os mesmos passos na hora de prever.handle_unknown="ignore".FunctionTransformer ou um transformer seu. Armadilha: agregações calculadas com o teste são leakage.TimeSeriesSplit). Um split aleatório deixa o modelo "ver o futuro": na aula, uma série impossível de prever por construção (um passeio aleatório) teve R² de 0,99 com KFold embaralhado e −1,78 com TimeSeriesSplit.StratifiedKFold, stratify=y). Essencial com classes raras ou amostras pequenas.GroupKFold. Senão o modelo reconhece o paciente, não a doença: na aula, o KFold aleatório reportou 93,8% e o GroupKFold, 78,0%, perto dos 75,45% em pacientes novos. Pergunta-guia: sobre que unidade o modelo vai prever em produção? Ela é a unidade da divisão.n_init bem acima de 1) e da escala das colunas; e ele sempre devolve \(k\) grupos, mesmo em ruído puro.predict para pontos novos.transform para dados novos e preserva a estrutura global. t-SNE (t-distributed stochastic neighbor embedding) e UMAP (uniform manifold approximation and projection) são não lineares e preservam vizinhanças: ótimos para visualizar. Armadilha: num mapa t-SNE ou UMAP, o tamanho dos grupos, a distância entre eles e os eixos não significam nada; o mapa é uma hipótese, não um resultado, e não serve como feature de um classificador.fit). O TF-IDF (term frequency–inverse document frequency) multiplica a contagem por um peso que cai para palavras presentes em muitos documentos: palavras específicas contam mais. Armadilha: a ordem das palavras some ("o cachorro mordeu o homem" e "o homem mordeu o cachorro" viram o mesmo vetor) e a matriz é enorme e esparsa.TfidfVectorizer), o cosseno é o produto escalar.Nas fórmulas, \(y\) é o valor real, \(\hat y\) o previsto; SQres é a soma dos quadrados dos resíduos \(y - \hat y\) e SQtot, a soma dos quadrados de \(y\) em torno da sua média.
TP, FP, FN e TN: verdadeiros positivos, falsos positivos, falsos negativos e verdadeiros negativos (as quatro células da matriz de confusão, tópico [44]).
[[TP, FN], [FP, TN]] (confusion_matrix(y, p, labels=[1, 0])). TP e TN são os acertos; FP, os falsos alarmes; FN, os positivos perdidos. Todas as métricas com threshold saem dela; saiba calculá-las à mão.class_weight resolve com menos risco.class_weight dá mais peso aos erros da minoria na loss; undersampling descarta exemplos da maioria (rápido, perde informação); oversampling replica ou sintetiza a minoria (usa tudo, arrisca overfitting). Os dois últimos só no treino. Armadilha: todos distorcem as probabilidades previstas; na logística, o class_weight equivale quase a mover o threshold.predict.alpha do scikit-learn), early stopping (separar parte do treino e parar quando o score nela para de melhorar), dropout (desligar unidades ao acaso a cada passo), menos unidades e mais dados. E padronizar as entradas.alpha. Em imagens, áudio e texto, a balança vira para as redes.Quiz
Vinte e quatro questões no estilo de entrevista, três por tema. Filtre por tema para revisar só o que precisa.
Plano de estudo
Como estudar e um plano para as duas semanas antes de uma entrevista.
Em voz alta, para alguém
Se você não consegue explicar um conceito para um colega que faltou à aula, ainda não aprendeu. Estudar em dupla, um entrevistando o outro com as perguntas de caso, é o melhor treino que existe.
Cinco linhas de cabeça
Saiba escrever sem consultar: train_test_split, Pipeline, ColumnTransformer, cross_val_score, confusion_matrix, KMeans, TfidfVectorizer, permutation_importance. Refaça os labs das aulas até escrever sem consultar.
Um dia, uma semana, um mês
Rever espaçado no tempo fixa muito mais do que estudar tudo na véspera. O que você esquece entre uma rodada e outra é o que precisa de mais atenção.
O checklist é seu termômetro
Marque um item só quando conseguir explicá-lo sem olhar nada, com a armadilha incluída. Um checklist cheio de itens marcados por otimismo não ajuda na entrevista.
| Dias | O que fazer |
|---|---|
| 1–2 | Fundamentos e dados: conceitos-chave e quiz dos dois temas; releia as aulas F2, D1 e D2 |
| 3–4 | Pipelines e leakage: monte do zero um pipeline sem leakage, sem consultar nada; explique os cinco padrões de vazamento da C5 |
| 5–6 | Regressão e classificação: métricas à mão a partir de uma lista de resíduos e de uma matriz de confusão; Ridge × Lasso; k-NN |
| 7–8 | Validação, árvores e ensembles: explique viés e variância e a validação cruzada desenhando; floresta × boosting; permutation importance e SHAP |
| 9 | Não supervisionado e texto: k-means à mão em seis pontos, silhueta, PCA; TF-IDF de três frases e o cosseno entre elas |
| 10 | SVM, redes e produção: margem e kernel, ativação e backpropagation, os três tipos de drift, em voz alta |
| 11–12 | Perguntas de caso em dupla, cronometradas, com o diagnóstico rápido; quiz completo, voltando só aos itens que errou |
| 13–14 | Uma rodada final do checklist inteiro, em voz alta |
Para treinar no formato da disciplina (e também para a avaliação final): o caderno de atividades, com uma atividade por aula, exercícios em três níveis e respostas comentadas. Para revisar rápido: a folha de consulta, o mapa dos conceitos e as cartas de estudo.
Checklist
Os 77 tópicos e os hábitos de entrevista. O progresso fica salvo no seu navegador.
De volta às 14h
A resposta completa para "esse modelo de 95% de accuracy está bom?"
Quatro passos, um minuto e sete dos 77 tópicos usados numa resposta só. É isso que a entrevistadora queria ver: não o que você decorou, mas como você conecta.
Referências
Para aprofundar, organizadas por tipo.