O que o entrevistador avalia em perguntas técnicas
Em entrevistas em inglês, perguntas técnicas não servem apenas para checar se você “sabe a resposta”. Elas medem como você pensa, como comunica raciocínio sob pressão e como transforma complexidade em uma explicação compreensível. Em muitos processos, especialmente para tecnologia, dados, engenharia e produto, o entrevistador observa quatro dimensões ao mesmo tempo: (1) precisão técnica, (2) clareza e estrutura, (3) capacidade de tomar decisões e justificar trade-offs, e (4) colaboração (como você reage a perguntas, dúvidas e mudanças de requisito).
Uma resposta tecnicamente correta pode ser avaliada como fraca se for confusa, cheia de saltos lógicos ou se não deixar claro o que você assumiu. Por outro lado, uma resposta que ainda não chegou ao “ótimo” pode ser bem avaliada se você explicitar hipóteses, validar requisitos, organizar o pensamento e ajustar a solução conforme feedback. O objetivo deste capítulo é te dar um modelo prático para explicar soluções com clareza em inglês, sem depender de frases decoradas e sem repetir estruturas de capítulos anteriores.
Princípio central: clareza = estrutura + linguagem simples + validação
Clareza em explicação técnica não é “falar bonito”. É reduzir ambiguidade. Em inglês, isso costuma exigir três hábitos: (1) estruturar a resposta em blocos curtos, (2) preferir frases diretas e vocabulário simples quando possível, e (3) validar entendimento com o entrevistador ao longo do caminho.
Estrutura em blocos curtos
Uma explicação clara normalmente segue uma ordem previsível. Você pode usar marcadores verbais para sinalizar o que vem a seguir. Exemplos úteis:
“Let me break it down into three parts: …”
Continue em nosso aplicativo
Você poderá ouvir o audiobook com a tela desligada, ganhar gratuitamente o certificado deste curso e ainda ter acesso a outros 5.000 cursos online gratuitos.
ou continue lendo abaixo...Baixar o aplicativo
“First, I’ll clarify the requirements. Then I’ll propose an approach. Finally, I’ll discuss trade-offs.”
“At a high level… / Zooming in…”
Essas frases funcionam como “placas” na sua fala. Elas reduzem a carga cognitiva de quem ouve e te ajudam a manter o controle do raciocínio.
Linguagem simples e precisa
Em entrevistas técnicas, frases curtas e verbos diretos costumam ser melhores do que construções longas. Compare:
Menos claro: “What I would like to do is to leverage a set of mechanisms that would allow us to…”
Mais claro: “I’d use X to do Y, because it reduces Z.”
Clareza também envolve escolher termos consistentes. Se você chama algo de “service” no início, evite alternar para “component” ou “module” sem explicar. Consistência evita confusão.
Validação contínua
Validar não é pedir permissão a cada frase; é checar alinhamento em pontos-chave. Frases práticas:
“Does that match what you’re looking for?”
“Before I go deeper, are we aligned on the constraints?”
“I’m assuming X. If that’s not true, I can adjust.”
Isso mostra maturidade e reduz o risco de você construir uma solução para um problema diferente do que foi perguntado.
Modelo prático para responder perguntas técnicas (em 6 etapas)
A seguir, um passo a passo aplicável a diferentes áreas (software, dados, infraestrutura, produto técnico). A ideia é você treinar até que vire um “esqueleto” mental. Cada etapa inclui frases em inglês que você pode adaptar.
1) Repetir o problema com suas palavras (paráfrase)
Comece mostrando que você entendeu a pergunta. Isso evita respostas fora do alvo e te dá alguns segundos para organizar o raciocínio.
“So the problem is: we need to …, and the main goal is …, correct?”
“Just to restate it: you want a solution that … under constraints like …”
Se a pergunta for aberta (“How would you design…?”), a paráfrase ajuda a delimitar escopo.
2) Fazer 2–4 perguntas de clarificação (requisitos e restrições)
Em perguntas técnicas, “assumptions” são parte da resposta. Pergunte o suficiente para evitar ambiguidade, mas sem transformar em interrogatório. Boas categorias:
Escala: usuários, volume, latência, throughput
Confiabilidade: tolerância a falhas, disponibilidade
Dados: formato, qualidade, frequência, privacidade
Ambiente: cloud/on-prem, stack, limitações
Frases úteis:
“What’s the expected scale: requests per second, data size, or number of users?”
“Are there any hard constraints on latency or cost?”
“Do we need real-time results, or is batch processing acceptable?”
“Any compliance or privacy requirements I should consider?”
3) Declarar suposições (se faltar informação)
Se o entrevistador não responder com números, declare suposições razoáveis. O ponto é ser explícito.
“Since we don’t have exact numbers, I’ll assume ~1M users and peak traffic of ~5k requests per second.”
“I’ll assume we can use managed services in the cloud; if not, the design changes in these parts…”
Isso evita que o entrevistador pense “ele ignorou o problema”; em vez disso, ele vê que você está controlando incertezas.
4) Dar uma visão geral (high-level approach)
Antes de mergulhar em detalhes, ofereça um mapa. Uma boa visão geral tem: componentes principais, fluxo de dados e onde ficam as decisões críticas.
“At a high level, I’d split the system into three components: ingestion, processing, and serving.”
“The data flows from A to B, then we store it in C, and expose it via D.”
Se você estiver resolvendo um problema de algoritmo, a visão geral pode ser a estratégia (ex.: two pointers, dynamic programming, hashing) antes do pseudocódigo.
5) Aprofundar por partes (deep dive) com checkpoints
Agora sim, detalhe. A regra de ouro: explique uma parte, faça um checkpoint, siga para a próxima. Isso mantém a conversa interativa.
“Let me zoom in on the storage layer first…”
“Does this part make sense? If so, I’ll move to the caching strategy.”
Ao detalhar, priorize: decisões, justificativas e riscos. Evite listar tecnologia por listar. O entrevistador quer entender por que você escolheu algo.
6) Trade-offs, riscos e alternativas
Uma explicação madura inclui o que você abriria mão e o que monitoraria. Frases:
“The main trade-off here is cost vs latency.”
“This approach is simpler to operate, but it may become a bottleneck at scale.”
“An alternative would be …, which improves … but adds complexity in …”
Se houver tempo, finalize com como você validaria (testes, métricas, rollout), mas sem transformar em encerramento; trate como parte do raciocínio técnico.
Como explicar decisões técnicas sem soar defensivo
Em inglês, é comum que perguntas soem como desafio (“Why did you choose X?”). A resposta clara não é “se justificar”, e sim mostrar critérios. Use linguagem neutra e baseada em objetivos.
“I chose X because it optimizes for Y, which is important given the constraint Z.”
“Given the requirement for low latency, caching is the simplest lever to pull.”
“I’m prioritizing maintainability here, so I’d avoid a highly customized solution unless we really need it.”
Se o entrevistador sugerir outra abordagem, responda de forma colaborativa:
“That’s a good point. If we expect higher write volume, your approach might be better because…”
“Yes, we could do that. The question is whether we’re okay with the added operational overhead.”
Padrões de linguagem para explicar complexidade (sem travar no inglês)
Quando você explica soluções, alguns “blocos” aparecem com frequência: causa e efeito, comparação, condições, sequência, e exceções. Ter frases prontas para esses blocos aumenta fluência sem parecer decorado.
Causa e efeito
“This reduces latency because…”
“The downside is that it increases memory usage.”
“As a result, we can handle spikes more gracefully.”
Comparação e escolha
“Compared to X, this is simpler to maintain.”
“Option A is faster, but option B is cheaper.”
“If we optimize for reliability, I’d pick…”
Condições e cenários
“If traffic is bursty, then…”
“In the worst case, the complexity is…”
“Under normal load, we can…”
Sequência e transições
“First… Next… Then… Finally…”
“Before that, we need to…”
“Once we have X, we can…”
Exceções e limites
“This works well unless…”
“One edge case is…”
“A limitation is…”
Exemplo 1 (Software/System Design): explicar uma solução de forma clara
Pergunta: “How would you design a URL shortener?”
A seguir, um exemplo de resposta estruturada usando as 6 etapas. Observe como a explicação alterna entre visão geral e detalhes, com checkpoints.
1) Paráfrase
“So we need a service that takes a long URL and returns a short code, and later redirects users from the short URL to the original one. We also want it to be reliable and fast, correct?”
2) Clarificações
“What’s the expected scale: how many URLs created per day and how many redirects per second?”
“Do we need custom aliases, like letting users pick their own short code?”
“Do links expire, or are they permanent?”
3) Suposições
“I’ll assume 10 million new URLs per day and peak 50k redirects per second, links don’t expire by default, and custom aliases are optional.”
4) Visão geral
“At a high level, we need an API to create short links, a redirect service, a datastore mapping short codes to long URLs, and a caching layer for hot links.”
5) Deep dive por partes
“For the short code, we can generate a unique ID and encode it in base62 to keep it short. The write path is: client calls the create endpoint, we validate the URL, generate an ID, store the mapping, and return the short URL.”
“For reads, the redirect endpoint looks up the code. To keep latency low, we cache the most frequently accessed mappings in an in-memory cache. On cache miss, we query the datastore and populate the cache.”
Checkpoint: “Does this flow make sense so far? If yes, I’ll talk about the datastore choice and scaling.”
“For storage, a key-value store works well because access is by short code. We can shard by the code prefix to scale horizontally. For reliability, we replicate data across zones.”
6) Trade-offs e riscos
“The trade-off is between simplicity and collision risk. Using an auto-increment ID avoids collisions but can leak growth patterns; using random IDs improves unpredictability but needs collision handling.”
“Another trade-off is cache size vs hit rate. We’d monitor cache hit ratio, redirect latency, and datastore read load. If traffic spikes, we can scale the redirect service horizontally because it’s stateless.”
Exemplo 2 (Dados/Analytics): explicar uma solução e suas validações
Pergunta: “How would you build a pipeline to compute daily active users (DAU)?”
1) Paráfrase
“You want a reliable way to compute DAU every day from event data, and make it available for reporting, right?”
2) Clarificações
“What counts as ‘active’? Any event, or specific events like login or purchase?”
“Do we need near real-time DAU, or is a daily batch enough?”
“What’s the source of truth: mobile events, web events, backend logs?”
“How do we identify users: user_id, device_id, or both?”
3) Suposições
“I’ll assume ‘active’ means at least one session_start event, we run a daily batch, and user_id is available for logged-in users while device_id covers anonymous traffic.”
4) Visão geral
“At a high level: ingest events into a raw layer, run a daily transformation to create a clean events table, then aggregate distinct users per day, and publish the result to a reporting table or dashboard.”
5) Deep dive
“I’d start by defining a canonical event schema and enforcing it in the ingestion step. Then I’d build a transformation job that deduplicates events, handles late arrivals, and standardizes timestamps to a single timezone.”
“For DAU, the core query is a distinct count of users per day. If we need to include anonymous users, we can compute DAU_logged_in by user_id and DAU_anonymous by device_id, and decide whether to merge them depending on business rules.”
Checkpoint: “Before I go into performance, are we aligned on the definition of ‘active’ and the identity rules?”
6) Trade-offs e qualidade
“The main trade-off is accuracy vs cost. Exact distinct counts can be expensive at scale; approximate methods reduce cost but introduce error. If DAU is a core KPI, I’d prefer exact counts unless volume is extreme.”
“For data quality, I’d add checks like: event volume anomalies, percentage of missing user_id, and late event rate. If late arrivals are common, we can use a sliding window and backfill the last N days.”
Exemplo 3 (Algoritmos/Coding): explicar raciocínio e complexidade
Pergunta: “Given an array of integers, find two numbers that add up to a target.”
Mesmo em perguntas de código, clareza é: explicar abordagem, justificar, e só então escrever. Um roteiro de fala:
Paráfrase: “We need to return the indices of two numbers whose sum equals the target, and we can assume there is exactly one solution, correct?”
Abordagem: “I’ll use a hash map to store numbers we’ve seen and their indices. For each number x, we check if target - x is already in the map.”
Complexidade: “This runs in O(n) time and O(n) space.”
Edge cases: “We need to handle duplicates, like [3,3] with target 6.”
Exemplo de pseudocódigo em inglês (útil para entrevistas que aceitam explicação antes do código final):
map = {} // value -> index
for i in range(0, n):
x = nums[i]
y = target - x
if y in map:
return [map[y], i]
map[x] = iAo escrever o código, narre apenas o essencial: o que cada bloco faz e por que existe. Evite “ler” o código linha por linha.
Como lidar com perguntas técnicas quando você não sabe a resposta
Em entrevistas, é comum aparecer algo fora do seu domínio. Clareza, nesse caso, significa: reconhecer limites, propor como você investigaria e oferecer uma alternativa próxima. Evite inventar.
Estratégia em 4 passos
1) Reconheça com precisão: “I haven’t used X in production, so I don’t want to guess.”
2) Mostre base relacionada: “However, I’ve worked with similar concepts like Y and Z.”
3) Proponha abordagem: “My approach would be to start from the requirements, check the official docs, and validate with a small prototype.”
4) Ofereça alternativa: “If the goal is A, we could also achieve it with B, which I’m more familiar with.”
Exemplo:
“I haven’t implemented gRPC load balancing myself, so I don’t want to be inaccurate. But I’ve designed HTTP-based services behind a load balancer. If the requirement is efficient binary communication, gRPC makes sense. I’d validate the supported balancing strategies in the chosen environment and run a small benchmark to compare latency and error rates.”
Checklist de clareza para treinar antes da entrevista
Use este checklist para praticar respostas técnicas em inglês. A meta é reduzir “ruído” e aumentar previsibilidade da sua explicação.
Eu repeti o problema com minhas palavras?
Eu perguntei sobre escala, restrições e definição de sucesso?
Eu declarei suposições quando faltou informação?
Eu dei uma visão geral antes de detalhar?
Eu usei transições claras (“first”, “next”, “zooming in”)?
Eu expliquei o “porquê” das decisões, não só o “o quê”?
Eu mencionei trade-offs e riscos relevantes?
Eu fiz checkpoints para validar entendimento?
Eu evitei jargão desnecessário e frases longas?
Mini-roteiros prontos (templates) para diferentes tipos de pergunta
Os templates abaixo servem como “andaimes” de fala. Adapte ao seu contexto e stack, mantendo a estrutura.
Template A: “Explique como você resolveria X”
To restate the problem, we need to … under constraints like …
Before proposing a solution, I’d like to clarify … (2–3 questions)
Based on that, I’ll assume …
At a high level, my approach is …
Zooming in on the key part: …
The main trade-offs are …
If we need to optimize for …, we could instead …Template B: “Explique uma decisão técnica que você tomou”
The goal was … and the constraints were …
I considered options A and B.
I chose A because …
The downside was …, so we mitigated it by …
If I were to do it again with different constraints, I’d consider …Template C: “Debug/incident: como você investigaria”
First, I’d confirm the impact: who is affected and since when.
Then I’d check recent changes and key metrics/logs.
I’d isolate whether it’s a client issue, network issue, or server-side issue.
Once I find the root cause, I’d implement a fix and add a guardrail (test/alert).
If needed, I’d propose a longer-term improvement to prevent recurrence.