DEV Community

Cover image for Um guia para se preparar para entrevistas técnicas backend
Elmeri
Elmeri

Posted on

Um guia para se preparar para entrevistas técnicas backend

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:

  1. Coding interview → algoritmos e estruturas de dados
  2. Entrevista técnica de profundidade → APIs, bancos de dados, padrões, testes
  3. System design → arquitetura de sistemas distribuídos
  4. 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)