Passei os últimos meses me preparando para processos seletivos de backend e percebi um problema: o material de qualidade está espalhado em dezenas de lugares, quase todo em inglês, e raramente conectado com o que as entrevistas brasileiras realmente cobram.
Então resolvi organizar tudo em um único repositório, aberto para qualquer pessoa usar:
👉 github.com/ejmeri/desafios-entrevista-tecnica
Neste post explico o que tem lá, como o conteúdo está organizado e como sugiro usar o material dependendo do seu momento.
Por que mais um repositório de entrevistas?
Existem ótimos repositórios de preparação por aí — o problema é que a maioria foca em uma coisa só: ou algoritmos estilo LeetCode, ou system design, ou perguntas comportamentais. Uma entrevista backend real cobra tudo isso junto, muitas vezes no mesmo dia.
A ideia aqui foi montar um material que acompanha o funil completo de um processo seletivo:
- Coding interview → algoritmos e estruturas de dados
- Entrevista técnica de profundidade → APIs, bancos de dados, padrões, testes
- System design → arquitetura de sistemas distribuídos
- Comportamental → soft skills e como estruturar respostas
Tudo em português, com código que compila e roda.
O que tem no repositório
🧮 Códigos — a base para coding interviews
Implementações em Java com análise de complexidade e, quando faz sentido, múltiplas abordagens para o mesmo problema:
- Two Sum — força bruta O(n²) vs. hash table O(n), o clássico de aquecimento
- Fibonacci — quatro versões (recursiva, memoização, DP e otimizada) para entender a evolução de uma solução
- LRU Cache — um dos problemas mais pedidos em entrevistas de nível pleno/sênior
- Rate Limiter — Sliding Window e Token Bucket, que aparecem tanto em coding quanto em system design
- Concorrência — Producer-Consumer e Thread Pool, tema que separa candidatos em vagas Java
O critério não foi quantidade, e sim problemas que realmente aparecem em processos e que ensinam um padrão reutilizável.
🌐 APIs RESTful — com projeto completo
Além da teoria (constraints REST, semântica HTTP, versionamento, paginação), tem um projeto Spring Boot funcional com camada de serviço, DTOs, tratamento de exceções e validações. Serve tanto para revisar antes de uma entrevista quanto como referência de estrutura de projeto.
🏗️ System Design — o filtro das vagas sênior
Um framework estruturado de como conduzir a entrevista (clarificar requisitos → estimar → desenhar → escalar) e casos clássicos: Twitter, URL Shortener, chat, e-commerce. Também cobre os padrões que sustentam essas conversas: sharding, caching, load balancing, CQRS, event sourcing.
🗄️ Bancos de dados, 🔐 Segurança, 🧪 Testes
Três temas que quase ninguém estuda para entrevista e que rendem os melhores diferenciais:
- SQL avançado (window functions, CTEs, otimização) e quando usar NoSQL
- OWASP Top 10, JWT, OAuth 2.0 — cada vez mais cobrados em fintechs
- Pirâmide de testes, TDD, test doubles e quando usar cada um
🚀 DevOps, Git e Metodologias Ágeis
O básico que se espera de qualquer dev que trabalha em equipe: CI/CD, Docker/Kubernetes, workflows de Git, Scrum e Kanban — no nível de profundidade que uma entrevista costuma cobrar.
🌟 Soft Skills
Como comunicar raciocínio durante um coding interview, como estruturar respostas comportamentais e como falar de experiências sem parecer decorado.
Como sugiro usar o material
Se sua entrevista é semana que vem: vá direto em codigos/ e resolva os problemas sem olhar a solução primeiro. Depois compare abordagens. Reserve uma tarde para o framework de system design se a vaga for pleno/sênior.
Se você tem um mês: siga a ordem do funil — algoritmos primeiro, depois um tema técnico por semana (APIs, bancos, testes), e system design por último, porque ele amarra todos os anteriores.
Se você está começando: use os READMEs como mapa do que existe. Não precisa dominar tudo — saber o que você não sabe já muda a qualidade da sua preparação.
O que vem por aí
O repositório está em evolução. No roadmap:
- Mais problemas de coding com testes unitários completos
- Implementação manual do LRU Cache (HashMap + lista duplamente encadeada), como as entrevistas costumam pedir
- CI com GitHub Actions rodando build e testes de todos os módulos
Contribuições são bem-vindas
Se você passou por um processo recentemente e viu uma pergunta que não está coberta, abre uma issue ou manda um PR. A ideia é que o material cresça com a experiência real de quem está entrevistando agora.
👉 github.com/ejmeri/desafios-entrevista-tecnica
Se o repositório te ajudar, deixa uma ⭐ — ajuda outras pessoas a encontrarem o material.
E você, o que mais te pega em entrevista técnica: algoritmos, system design ou a comportamental? Conta nos comentários — pode virar conteúdo novo no repositório.
Top comments (0)