Objetivo: Resolver problemas técnicos com clareza, raciocínio estruturado e justificação de escolhas.
Recursos recomendados:
-
Leetcode: arrays, hashtables, DFS/BFS, algoritmos básicos
-
Blind 75 playlists:
Princípios importantes:
-
Explique o raciocínio ANTES do código
-
Use comentários detalhando: estratégia, passos, estruturas de dados, alternativas e justificativas
-
Exemplo de bloco de comentário:
/* Estratégia: 1. Iterar sobre o array e armazenar contagens em um hashmap. 2. Checar condição X para cada elemento. 3. Retornar resultado. Complexidade: - Tempo: O(n) - Espaço: O(n) Justificativa: hashmap usado para lookup rápido em O(1) */
-
-
Complexidade de tempo e espaço (Big O) deve ser sempre analisada e explicada
-
Priorize clareza e comunicação, mais importante que código perfeito
Plano semanal:
- Segunda a sexta: 1h–1h30min resolvendo 2–3 problemas por dia
- Sábado: Revisão das soluções mais eficientes
- Domingo: Mock interview simulando pressão de tempo
Objetivo: Demonstrar domínio técnico, boas práticas, performance e escalabilidade no frontend.
Recursos recomendados:
- Frontend Interview Handbook
- LearnersBucket – revisão avançada de JavaScript
Tópicos importantes:
- DOM, eventos, CSS avançado, layout responsivo
- JavaScript avançado: closures, async/await, promises, event loop
- Frameworks: React, Angular, Vue (ciclo de vida, state management)
- Performance: lazy loading, code splitting, memoization
Prática recomendada:
- Resolver problemas de JS no LearnersBucket
- Criar mini-projetos para reforçar boas práticas e escalabilidade
- Explicar decisões técnicas durante implementação
Plano semanal:
- 2 dias da semana (ex.: terça e quinta), 1h30min cada
- Revisão de conceitos + implementação prática
Objetivo: Projetar sistemas escaláveis, eficientes e financeiramente viáveis, justificando cada decisão.
-
Esclarecer requisitos funcionais e não funcionais
- Perguntar sobre funcionalidades obrigatórias e opcionais
- SLA, latência máxima, throughput, consistência
- Cenários de falha e tolerância a erros
-
Estimar escala do sistema
- DAU/MAU
- Requests por segundo (RPS)
- Tamanho médio de requests (KB)
- Estimativa de armazenamento
-
Modelar entidades e APIs (flexível)
-
Não é necessário ERD formal
-
Explicar claramente escolhas de modelagem:
- Quais entidades existem e por quê
- Relações entre entidades
- Como cada entidade suporta os requisitos do sistema
-
Definir endpoints e contratos de API claros e versionados
-
-
Projetar para escalabilidade e custo
- Escalabilidade horizontal e vertical
- Caching estratégico (Redis, Memcached)
- Fila/mensageria para desacoplar serviços
- Escolha de banco: SQL vs NoSQL (justificar trade-offs)
- Avaliar custo vs benefício: soluções robustas, mas realistas
-
Identificação e mitigação de gargalos
- Pontos de contenção: DB, rede, serviço crítico
- Estratégias: sharding, replicação, cache, fila assíncrona
- Monitoramento e alertas para detectar problemas
-
Patterns de sistemas distribuídos
- Event Sourcing: armazenar mudanças como eventos para replay e auditoria
- SAGA Pattern: gerenciar transações distribuídas assincronamente, garantindo consistência eventual
- Outbox Pattern: publicar eventos de forma confiável junto a operações de banco
- Command Pattern: separar comandos de consultas, organizar lógica de negócio, desacoplar serviços
- Mensageria/Queues: desacoplar produtores e consumidores, lidar com picos de tráfego
-
Justificar todas as decisões
- “Por que usar Redis aqui?”
- “Por que guardar este dado?”
- “Por que banco X e não banco Y?”
- “Por que mensageria síncrona vs assíncrona?”
-
Containers e Orquestração
- Docker: containers isolados e portáveis
- Kubernetes: deploy escalável, health checks, rolling updates
Recursos recomendados:
- Tech Interview Handbook – System Design
- Youtube: arquitetura de sistemas reais (Netflix, Uber, YouTube, WhatsApp)
Plano semanal:
-
2 dias na semana (ex.: quarta e sexta, 1h–1h30min)
- 30 min teoria (patterns, trade-offs)
- 30–60 min prática: projetar sistemas, explicar modelagem e justificativas
Dicas de preparação sênior:
- Começar do requisito → processamento → armazenamento → resposta
- Explicar raciocínio de modelagem, trade-offs técnicos e financeiros
- Pensar em escalabilidade futura, sem exagerar recursos
Objetivo: Demonstrar conhecimento de deploy, infraestrutura e manutenção de sistemas em produção
Tópicos:
- Cloud (AWS): EC2, S3, Lambda, RDS, IAM
- CI/CD: pipelines, testes automatizados, deploy contínuo
- Containers: Docker
- Orquestração: Kubernetes – escalabilidade, health checks, rolling updates
Plano semanal:
- Integrar no estudo de System Design
- Assistir vídeos práticos e criar pequenos setups locais com Docker/K8s
Objetivo: Demonstrar maturidade, comunicação, liderança técnica e colaboração
Tópicos importantes:
- Experiência liderando projetos ou times
- Comunicação clara de decisões técnicas
- Mentoria e onboarding de membros juniores
- Resolução de conflitos e tomada de decisão sob pressão
Estratégia:
- Usar framework STAR (Situation, Task, Action, Result)
- Preparar 3–5 histórias bem estruturadas
| Dia | Atividade |
|---|---|
| Segunda | Leetcode (arrays, hashtable) – explicar raciocínio, analisar Big O |
| Terça | Frontend: JS + Handbook, mini-projetos |
| Quarta | System Design: padrões, microservices, Docker/K8s |
| Quinta | Leetcode (DFS/BFS), Blind 75, revisão soluções |
| Sexta | Cloud + CI/CD + mock interview (algoritmo + behavioral) |
| Sábado | Revisão semanal + mock interview completo (algoritmo + system design + behavioral) |
| Domingo | CV review + histórias behavioral + planejamento próxima semana |
- Comunicação clara: explique raciocínio, trade-offs e justificativas
- Priorize System Design e arquitetura mais do que algoritmos
- Justifique cada escolha técnica, inclusive financeira
- Revise CV e histórias de liderança antes da entrevista
- Pratique diagramas e APIs, mas foco no raciocínio e na escalabilidade
Objetivo: Maximizar impacto do candidato, demonstrando resultados concretos e clareza na comunicação.
- S – Situation: descreva a situação ou contexto do desafio
- T – Task: explique a tarefa ou objetivo específico
- A – Action: detalhe as ações que você tomou, incluindo decisões técnicas
- R – Result: mostre os resultados obtidos, sempre que possível com métricas concretas
Exemplo:
-
Ao explicar um projeto de microserviço:
- S: Sistema enfrentava latência alta em peak traffic
- T: Reduzir latência em 50%
- A: Introduzi caching com Redis, refatorei queries e paralelizei requests
- R: Redução de latência de 400ms para 150ms, aumentando throughput em 2x
-
Inclua resultados quantitativos sempre que possível
-
Exemplos:
- “Reduzi tempo de build do CI/CD em 30%”
- “Aumentei throughput de microserviço em 2x, atendendo 10k RPS”
- “Liderei equipe de 5 pessoas, entregando projeto 2 semanas antes do prazo”
-
Métricas demonstram impacto real e mensurável, impressionando recrutadores sênior
- Explique trade-offs e justificativas de todas as decisões técnicas
- Use analogias ou diagramas simples para facilitar compreensão
- Evite detalhes de baixo nível desnecessários, foque em impacto e raciocínio
- Ensaiar respostas STAR para 3–5 histórias profissionais
- Revisar CV e anotar métricas relevantes
- Durante mock interviews, pratique explicação de escolhas técnicas e impactos medidos
Parser de CV: https://www.open-resume.com/
Use-o para garantir que ferramentas de IA entendam seu CV corretamente