As 25 principais perguntas de entrevista em Data Analytics em 2026

As 25 perguntas mais frequentes em entrevistas de data analytics em 2026: SQL, Python, Power BI, estatística e perguntas comportamentais com respostas detalhadas e exemplos de código.

Perguntas de entrevista de data analytics 2026

As entrevistas de data analytics em 2026 avaliam muito mais do que sintaxe SQL ou criação de gráficos. As equipes de recrutamento medem a capacidade dos candidatos de extrair significado de conjuntos de dados desorganizados, comunicar descobertas para interlocutores não técnicos e vincular cada métrica a um resultado de negócio concreto. Este guia cobre as 25 perguntas que aparecem com maior frequência em entrevistas para vagas de data analyst nos níveis júnior, pleno e sênior.

Como usar este guia

Cada pergunta inclui uma resposta modelo concisa e, quando relevante, código SQL ou Python executável. Recomenda-se escrever as consultas do zero antes de consultar a solução. Os entrevistadores valorizam mais o processo de raciocínio do que uma resposta decorada.

Perguntas de SQL para entrevistas de Data Analyst

SQL continua sendo a habilidade mais avaliada em entrevistas de data analytics. Toda empresa com banco de dados relacional espera que os analistas escrevam consultas de forma autônoma.

1. Qual é a diferença entre WHERE e HAVING?

WHERE filtra linhas antes da agregação. HAVING filtra grupos após a agregação. Confundir os dois é um dos erros mais comuns em testes técnicos.

sql
-- monthly_revenue.sql
SELECT
  DATE_TRUNC('month', order_date) AS month,
  SUM(amount)                     AS revenue
FROM orders
WHERE status = 'completed'          -- filtro no nível da linha
GROUP BY month
HAVING SUM(amount) > 10000;         -- filtro no nível do grupo

WHERE reduz o conjunto de dados antes de o mecanismo do banco executar o GROUP BY. HAVING opera sobre o resultado agregado. Utilizar WHERE sempre que possível melhora o desempenho da consulta, pois reduz o volume de dados processados mais cedo no plano de execução.

2. Explicar funções de janela com um exemplo prático

As funções de janela (window functions) calculam um valor sobre um conjunto de linhas relacionadas à linha atual, sem reduzir o conjunto de resultados. São essenciais para classificações, totais acumulados e comparações entre períodos.

sql
-- user_ranking.sql
SELECT
  user_id,
  purchase_date,
  amount,
  ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY purchase_date) AS purchase_rank,
  SUM(amount)   OVER (PARTITION BY user_id ORDER BY purchase_date) AS running_total,
  LAG(amount)   OVER (PARTITION BY user_id ORDER BY purchase_date) AS prev_amount
FROM purchases;

ROW_NUMBER atribui um ranking sequencial por usuário. SUM(...) OVER(...) calcula um total acumulado sem a necessidade de um self-join. LAG recupera o valor da linha anterior para comparação direta. Os entrevistadores frequentemente solicitam o cálculo do crescimento mês a mês utilizando exatamente esse padrão.

3. Como identificar e remover registros duplicados

A detecção de duplicatas é uma tarefa diária para analistas que trabalham com logs de eventos, exportações de CRM ou feeds de dados de terceiros.

sql
-- deduplicate_events.sql
WITH ranked AS (
  SELECT *,
    ROW_NUMBER() OVER (
      PARTITION BY user_id, event_type, DATE_TRUNC('minute', created_at)
      ORDER BY created_at
    ) AS rn
  FROM events
)
SELECT * FROM ranked WHERE rn = 1;

A CTE atribui um número de linha dentro de cada grupo de duplicatas. Manter apenas rn = 1 retorna a primeira ocorrência. Essa abordagem preserva os dados originais enquanto filtra o ruído.

4. Escrever uma consulta de retenção por coorte semanal

A retenção por coorte é uma das análises mais solicitadas em equipes de produto e crescimento. O padrão SQL segue uma estrutura consistente em todos os bancos de dados.

sql
-- weekly_cohort_retention.sql
WITH cohorts AS (
  SELECT
    user_id,
    DATE_TRUNC('week', MIN(event_date)) AS cohort_week
  FROM user_events
  GROUP BY user_id
),
activity AS (
  SELECT
    c.cohort_week,
    DATE_TRUNC('week', e.event_date) AS active_week,
    COUNT(DISTINCT e.user_id)        AS active_users
  FROM user_events e
  JOIN cohorts c ON c.user_id = e.user_id
  GROUP BY c.cohort_week, DATE_TRUNC('week', e.event_date)
)
SELECT
  cohort_week,
  EXTRACT(WEEK FROM active_week - cohort_week) AS weeks_since_signup,
  active_users
FROM activity
ORDER BY cohort_week, weeks_since_signup;

A primeira CTE identifica a semana de cadastro de cada usuário. A segunda CTE conta os usuários ativos distintos por coorte e por semana. A consulta final transforma o resultado em uma matriz de retenção. Os entrevistadores esperam que os candidatos expliquem a interpretação de negócio: uma queda acentuada na semana 1 sinaliza um problema de onboarding, enquanto uma curva estável a partir da semana 4 sugere uma base de usuários fiéis e consolidada.

5. O que é uma CTE e quando ela substitui uma subconsulta?

Uma Common Table Expression (CTE) é um conjunto de resultados temporário nomeado, definido com WITH. As CTEs melhoram a legibilidade e permitem consultas recursivas. As subconsultas tendem a produzir SQL profundamente aninhado, difícil de depurar. Uma CTE é preferível quando a mesma tabela derivada é referenciada várias vezes na consulta, ou quando a lógica possui três ou mais etapas de transformação.

Perguntas de Python para análise de dados

As perguntas de Python focam em Pandas, fluxos de trabalho de limpeza de dados e a capacidade de explicar o código em termos de negócio. Os entrevistadores buscam soluções pragmáticas, não abstrações acadêmicas.

6. Como lidar com valores ausentes em um DataFrame do Pandas

Dados ausentes corrompem agregações e entradas de modelos. A abordagem depende do tipo da coluna e do contexto do negócio.

python
# handle_missing.py
import pandas as pd
import numpy as np

df = pd.read_csv('sales.csv')

# Inspecionar a extensão dos dados ausentes
print(df.isnull().sum())
print(df.isnull().mean().round(3))  # porcentagem por coluna

# Estratégia 1: remover linhas onde colunas críticas são nulas
df_clean = df.dropna(subset=['customer_id', 'amount'])

# Estratégia 2: preencher colunas numéricas com a mediana (robusta a outliers)
df['amount'] = df['amount'].fillna(df['amount'].median())

# Estratégia 3: preencher colunas categóricas com a moda
df['region'] = df['region'].fillna(df['region'].mode()[0])

Remover linhas funciona quando a taxa de dados ausentes é inferior a 5% e a coluna é crítica. A imputação pela mediana é mais segura do que pela média em distribuições assimétricas. A imputação pela moda é adequada para colunas categóricas com valor dominante. Documentar a estratégia de imputação é essencial para a rastreabilidade.

7. Merge, join e concatenate: quando usar cada um

O Pandas oferece múltiplas formas de combinar DataFrames. A escolha depende de a operação ser por linhas ou por colunas e da necessidade de correspondência por chave.

python
# combine_dataframes.py
import pandas as pd

orders = pd.read_csv('orders.csv')
customers = pd.read_csv('customers.csv')

# Fusão baseada em chave (equivalente ao SQL JOIN)
result = orders.merge(customers, on='customer_id', how='left')

# Empilhar linhas de múltiplas fontes
all_events = pd.concat([events_q1, events_q2], ignore_index=True)

# Adicionar colunas lado a lado (mesmo número de linhas necessário)
combined = pd.concat([features, labels], axis=1)

merge é a escolha certa para junções baseadas em chave. concat com axis=0 padrão empilha linhas. concat com axis=1 adiciona colunas. Usar how='left' preserva todas as linhas do DataFrame esquerdo, o que equivale a um LEFT JOIN no SQL.

8. Agrupar, agregar e transformar dados de vendas

As operações GroupBy são o equivalente no Pandas do GROUP BY do SQL. Esse padrão aparece em praticamente todos os exercícios técnicos de data analyst.

python
# sales_analysis.py
import pandas as pd

df = pd.read_csv('transactions.csv', parse_dates=['date'])

# Receita mensal por categoria de produto
monthly = (
    df.groupby([pd.Grouper(key='date', freq='M'), 'category'])
    .agg(revenue=('amount', 'sum'), orders=('order_id', 'nunique'))
    .reset_index()
)

# Adicionar uma coluna com a participação de cada categoria na receita mensal total
monthly['share'] = (
    monthly.groupby('date')['revenue']
    .transform(lambda x: x / x.sum())
    .round(4)
)

print(monthly.head(10))

agg com agregação nomeada mantém a legibilidade do resultado. transform propaga um cálculo no nível do grupo para cada linha, eliminando a necessidade de um merge separado. Essa combinação cobre a maioria das tarefas de relatórios ad-hoc.

9. Detectar e tratar outliers em um conjunto de dados

A detecção de outliers determina se os valores extremos são erros de digitação, sinais de fraude ou casos legítimos atípicos.

python
# detect_outliers.py
import pandas as pd
import numpy as np

df = pd.read_csv('transactions.csv')

# Método IQR
Q1 = df['amount'].quantile(0.25)
Q3 = df['amount'].quantile(0.75)
IQR = Q3 - Q1
lower = Q1 - 1.5 * IQR
upper = Q3 + 1.5 * IQR

outliers = df[(df['amount'] < lower) | (df['amount'] > upper)]
print(f'Outliers found: {len(outliers)} ({len(outliers)/len(df)*100:.1f}%)')

# Limitar em vez de remover (winsorização)
df['amount_capped'] = df['amount'].clip(lower=lower, upper=upper)

O método IQR sinaliza valores além de 1,5 vezes o intervalo interquartil. A limitação (winsorização) preserva a contagem de linhas enquanto restringe a influência dos valores extremos. A remoção só é apropriada quando os outliers representam erros evidentes.

Pronto para mandar bem nas entrevistas de Data Analytics?

Pratique com nossos simuladores interativos, flashcards e testes tecnicos.

Perguntas de estatística e probabilidade

A cultura estatística separa os data analysts que apenas reportam números daqueles que os interpretam corretamente. Essas perguntas testam a compreensão fundamental.

10. Explicar o p-valor em linguagem simples

Um p-valor é a probabilidade de observar um resultado pelo menos tão extremo quanto o medido, assumindo que a hipótese nula é verdadeira. Um p-valor de 0,03 não significa que há 3% de chance de a hipótese nula ser verdadeira. Significa que se a hipótese nula fosse verdadeira, resultados tão extremos apareceriam 3% das vezes apenas por acaso. O limiar (alfa) é tipicamente definido em 0,05, mas a escolha depende do custo de um falso positivo no contexto específico do negócio.

11. Quando usar a mediana em vez da média

A média é sensível a valores extremos. Dados de receita, valores de transação e durações de sessão são exemplos clássicos onde a mediana oferece uma tendência central mais representativa. Um conjunto de dados com algumas transações corporativas de alto valor pode elevar a média muito acima do que um cliente típico experimenta. Reportar a mediana junto com a média, incluindo o desvio padrão, fornece aos stakeholders uma visão completa.

12. Qual é a diferença entre correlação e causalidade?

A correlação mede a intensidade e a direção de uma relação linear entre duas variáveis. A causalidade significa que uma variável influencia diretamente a outra. As vendas de sorvete e os afogamentos estão correlacionados porque ambos aumentam no verão, não porque um causa o outro. Estabelecer causalidade requer um experimento controlado (teste A/B) ou um framework rigoroso de inferência causal, como diferenças em diferenças ou variáveis instrumentais.

13. Explicar erros do tipo I e do tipo II com um exemplo de negócio

Um erro do tipo I (falso positivo) ocorre quando um teste rejeita incorretamente a hipótese nula. Exemplo: concluir que um novo fluxo de checkout aumenta a taxa de conversão quando na realidade não tem efeito algum, levando a uma mudança de produto desnecessária. Um erro do tipo II (falso negativo) ocorre quando um teste falha em detectar um efeito real. Exemplo: manter o fluxo de checkout antigo porque o teste não teve tamanho de amostra suficiente para detectar uma melhoria real de 2%. Aumentar o tamanho da amostra reduz os erros do tipo II. Reduzir o limiar alfa diminui os erros do tipo I, mas aumenta os do tipo II.

Perguntas de Power BI e visualização de dados

As perguntas de visualização avaliam a capacidade do candidato de escolher o gráfico correto, construir dashboards sustentáveis e comunicar histórias de dados para audiências não técnicas.

14. O que é DAX e como ele se diferencia do SQL?

DAX (Data Analysis Expressions) é a linguagem de fórmulas utilizada no Power BI, Analysis Services e Excel Power Pivot. Diferentemente do SQL, que opera sobre conjuntos de linhas, o DAX opera dentro de um contexto de filtro que muda dinamicamente conforme os segmentadores, filtros e contexto de linha. A função CALCULATE no DAX modifica o contexto de filtro antes de avaliar uma expressão, um conceito sem equivalente direto no SQL.

15. Explicar a diferença entre modo Import e DirectQuery

O modo Import carrega os dados no mecanismo em memória do Power BI (VertiPaq), oferecendo desempenho rápido de consultas, mas exigindo atualizações agendadas. O DirectQuery envia as consultas ao banco de dados de origem em tempo real, garantindo a atualidade dos dados, porém dependendo do desempenho do sistema de origem. Em 2026, o Microsoft Fabric introduz o modo Direct Lake, que lê arquivos Parquet a partir do OneLake sem importar ou consultar um endpoint SQL, combinando a velocidade do modo Import com uma atualidade quase em tempo real.

16. Quando usar gráfico de barras versus gráfico de linhas

Gráficos de barras comparam categorias discretas (receita por região, contagem por produto). Gráficos de linhas mostram tendências ao longo de intervalos contínuos (usuários ativos diários, taxa de churn mensal). Usar um gráfico de linhas para dados categóricos sugere uma tendência entre categorias não relacionadas, o que induz a audiência ao erro. Uma pergunta de acompanhamento comum em entrevistas trata dos gráficos de pizza: devem ser limitados a mostrar partes de um todo quando há cinco fatias ou menos, pois o olho humano tem dificuldade em comparar ângulos com precisão.

17. Como otimizar um relatório lento no Power BI

Relatórios lentos geralmente decorrem de colunas excessivas no modelo de dados, medidas DAX avaliadas linha a linha ou visualizações que consultam milhões de linhas. A lista de verificação de otimização inclui: remover colunas não utilizadas para reduzir o tamanho do modelo, substituir funções iteradoras (SUMX, FILTER) por seus equivalentes não iteradores quando possível, reduzir o número de visualizações por página para menos de 15 e usar tabelas de agregação para dimensões de alta cardinalidade. O Performance Analyzer integrado ao Power BI Desktop identifica exatamente qual visualização ou consulta DAX é o gargalo.

Perguntas comportamentais e estudos de caso

As habilidades técnicas garantem o acesso à entrevista. As perguntas comportamentais determinam se o candidato recebe a proposta. Cada resposta deve seguir o framework STAR: Situação, Tarefa, Ação, Resultado.

18. Descrever uma situação em que a análise de dados mudou uma decisão de negócio

As respostas fortes incluem uma métrica específica que mudou, o método de análise utilizado e o impacto em valor absoluto ou porcentagem. As respostas fracas descrevem um dashboard sem conectá-lo a um resultado. Exemplo de estrutura: "A análise de churn de um produto SaaS revelou que usuários que não completaram o onboarding em 48 horas apresentavam uma taxa de churn 60% maior em 30 dias. A equipe de produto adicionou uma sequência de e-mails automatizados disparada na 24a hora, reduzindo o churn em 30 dias em 8 pontos percentuais."

19. Como lidar com solicitações de dados contraditórias dos stakeholders

Essa pergunta avalia habilidades de priorização e comunicação. A abordagem recomendada: esclarecer a pergunta de negócio por trás de cada solicitação, identificar métricas compartilhadas, propor um dashboard único que atenda ambas as necessidades e documentar as compensações de forma transparente. Dizer "não" a um stakeholder é aceitável quando respaldado por preocupações de governança de dados ou restrições de recursos, desde que uma alternativa seja oferecida.

20. Explicar uma análise complexa para uma audiência não técnica

Os entrevistadores costumam pedir aos candidatos que expliquem um conceito como regressão ou análise de coorte como se estivessem falando com um gerente de marketing. As melhores respostas usam analogias, evitam jargões e ancoram a explicação em um resultado de negócio. "A análise de coorte agrupa os clientes pelo mês em que se cadastraram e acompanha quantos continuam ativos três meses depois. O gráfico mostra que os cadastros de janeiro retiveram melhor que os de fevereiro, o que coincide com as mudanças de onboarding implementadas no final de dezembro."

Referência do framework STAR

Situação: estabelecer o contexto. Tarefa: definir o objetivo. Ação: descrever as etapas específicas realizadas. Resultado: quantificar o impacto. Os entrevistadores penalizam respostas vagas que omitem a etapa de Resultado.

Perguntas sobre limpeza de dados e ETL

Problemas de qualidade de dados consomem uma parcela significativa do tempo de um analista. Essas perguntas testam habilidades práticas de transformação de dados.

21. Como validar dados após a execução de um pipeline ETL

As verificações de validação devem cobrir contagem de linhas (origem vs. destino), taxas de nulidade em colunas críticas, integridade referencial entre tabelas e mudanças na distribuição de valores (detecção de alterações silenciosas de esquema). Verificações automatizadas executadas após cada execução do pipeline impedem que dados incorretos cheguem aos dashboards.

python
# etl_validation.py
import pandas as pd

def validate_pipeline(source_df: pd.DataFrame, target_df: pd.DataFrame) -> dict:
    checks = {}
    # Row count match
    checks['row_count_match'] = len(source_df) == len(target_df)
    # Null rate on critical columns
    for col in ['user_id', 'event_date', 'amount']:
        null_rate = target_df[col].isnull().mean()
        checks[f'{col}_null_rate'] = round(null_rate, 4)
    # Revenue reconciliation
    source_total = source_df['amount'].sum()
    target_total = target_df['amount'].sum()
    checks['revenue_diff_pct'] = round(
        abs(source_total - target_total) / source_total * 100, 2
    )
    return checks

results = validate_pipeline(source, target)
for check, value in results.items():
    print(f'{check}: {value}')

Essa função retorna um dicionário de resultados de validação que pode alimentar um sistema de alertas. Uma diferença de receita superior a 0,01% deve acionar uma investigação.

22. Qual é a diferença entre dados normalizados e desnormalizados?

Dados normalizados minimizam a redundância distribuindo a informação em tabelas relacionadas (3NF). Dados desnormalizados combinam tabelas em estruturas mais amplas e planas, otimizadas para consultas analíticas de leitura intensiva. Sistemas OLTP favorecem a normalização para integridade dos dados. Data warehouses e ferramentas de BI favorecem a desnormalização (esquema estrela, esquema floco de neve) para velocidade de consulta. Compreender esse trade-off é fundamental para projetar pipelines de dados eficientes.

Perguntas de análise avançada

Os cargos seniores exigem familiaridade com experimentação, previsão e estratégia de dados transversal.

23. Como projetar um teste A/B do zero

Um teste A/B requer cinco componentes: uma hipótese clara ("Mudar a cor do botão CTA de cinza para verde aumentará a taxa de cliques em 5%"), uma métrica principal (taxa de cliques), um cálculo de tamanho de amostra baseado no tamanho do efeito esperado e na potência desejada (tipicamente 80%), atribuição aleatória dos usuários aos grupos de controle e tratamento, e uma duração de teste predeterminada que considere a sazonalidade semanal. Executar o teste por pelo menos dois ciclos comerciais completos evita que o viés do dia da semana distorça os resultados.

Erros comuns em testes A/B

Verificar os resultados antes de o teste atingir significância estatística infla a taxa de falsos positivos. É essencial pré-registrar o plano de análise, o tamanho da amostra e a duração antes de lançar o teste.

24. Explicar a análise de funil e identificar os pontos de abandono críticos

A análise de funil rastreia a progressão dos usuários por uma sequência de etapas (por exemplo: visita à página inicial, visualização do produto, adição ao carrinho, checkout, compra). A otimização de maior impacto foca na etapa com a maior queda absoluta, não a maior queda percentual. Uma queda de 40% de 1.000 usuários na visualização do produto para 600 na adição ao carrinho representa 400 usuários perdidos. Uma queda de 50% de 100 usuários no checkout para 50 na compra representa apenas 50 usuários perdidos. Priorizar o primeiro gargalo gera mais conversões totais.

25. Como construir um dashboard de KPIs que os stakeholders realmente utilizem

Dashboards falham quando exibem métricas demais sem hierarquia. Um dashboard de KPIs eficaz segue a pirâmide invertida: uma ou duas métricas norte no topo (por exemplo, receita recorrente mensal, Net Promoter Score), métricas de suporte no meio (taxa de conversão, taxa de churn, ticket médio) e detalhes diagnósticos acessíveis via drill-down. Limitar a visualização de primeiro nível a sete métricas ou menos reduz a carga cognitiva. Adicionar anotações automatizadas ("A receita caiu 12% em 5 de março devido a uma falha no gateway de pagamento") fornece contexto que números brutos não conseguem oferecer.

Comece a praticar!

Teste seus conhecimentos com nossos simuladores de entrevista e testes tecnicos.

Conclusão

  • Funções de janela SQL, CTEs e consultas de coorte aparecem em praticamente todas as provas técnicas de data analyst. Escrevê-las de memória é uma expectativa básica.
  • A proficiência em Python Pandas cobre 80% das tarefas de análise ad-hoc. O foco deve estar em merge, groupby, transform e tratamento de valores nulos.
  • O raciocínio estatístico (p-valores, correlação vs. causalidade, design de experimentos) separa os analistas que reportam números daqueles que os interpretam corretamente.
  • As perguntas de Power BI e visualização testam a escolha de gráficos, os fundamentos de DAX e a otimização de desempenho de dashboards.
  • Respostas comportamentais que seguem o framework STAR e incluem resultados quantificados superam narrativas vagas.
  • Praticar módulos de entrevista de data analytics no SharpSkill para consolidar esses conceitos com exercícios cronometrados.
  • Para preparação complementar, o guia de entrevistas de Data Science cobre perguntas de machine learning e modelagem estatística que se sobrepõem a cargos de data analyst sênior.

Comece a praticar!

Teste seus conhecimentos com nossos simuladores de entrevista e testes tecnicos.

Tags

#data-analytics
#interview
#sql
#python
#power-bi

Compartilhar

Artigos relacionados