Trocando para (tenant_id, created_at) o índice passou a ser usado e a query caiu de 1.2s para 8ms.
Onde a evolução começa de verdade
01 · DuoStack
Sem playlist de oito horas. Uma lição curta, uma pergunta, e a resposta na hora.
Qual a saída de [1,2,3].map(x => x*2)?
O que uma closure captura?
02 · Code Runner
Um desafio, um editor e dez linguagens. Nada de pseudocódigo — é a solução que vai rodar.
03 · Battle
Quatro modos, do 1v1 ao caos full stack. Você entra numa sala aberta ou cria a sua — e a lista de lobbies é pública.
04 · System Design
Dez problemas clássicos, sessões salvas e um placar. Aqui não se responde múltipla escolha: se desenha arquitetura.
Desenhe a arquitetura, rode a simulação de tráfego e descubra o gargalo antes da produção.
Escolha um problema clássico de system design e comece a projetar.
Transforme URLs longas em links curtos que redirecionam em milissegundos.
Limite quantas requisições cada cliente pode fazer, com estado compartilhado.
Guarde e sirva blocos de texto por link, com expiração.
Entregue a timeline de quem você segue — o clássico de fan-out.
Mensagens em tempo real, entrega garantida e histórico.
Dispare push, e-mail e SMS para milhões, sem derrubar nada.
05 · Comunidade
Feed, fórum e quem está online, na mesma página. Não é chat solto: é o registro do que a casa está resolvendo agora.
Conecte-se com quem está construindo agora. Acompanhe o feed, participe do fórum e veja quem está online.
Trocando para (tenant_id, created_at) o índice passou a ser usado e a query caiu de 1.2s para 8ms.
Perdi um battle 1v1 por 40 segundos. Fui olhar o código do adversário depois: ele usou hash map onde eu fiz loop aninhado.
Descobri hoje que EXPLAIN ANALYZE mostra o tempo real e EXPLAIN só a estimativa. Estava lendo o número errado esse tempo todo.
Tenho uma query filtrando por tenant_id e ordenando por created_at.
Criei (created_at, tenant_id) e o plano continua fazendo seq scan.
A ordem importa porque o índice é uma árvore ordenada: ele só consegue pular para a faixa certa se a primeira coluna for a que você filtra por igualdade.
Regra prática que uso: igualdade primeiro, faixa depois, ordenação por último.
Rode EXPLAIN ANALYZE antes e depois. Com (tenant_id, created_at) o planner usa index scan e ainda aproveita a ordenação — some o sort node inteiro.
O ecossistema

Desenhe no canvas, rode a simulação, veja o gargalo acender. O motor é determinístico — a mesma arquitetura dá sempre a mesma nota.

Desafios executados em container isolado, com casos de teste reais. Sem sandbox de brinquedo.

Trilhas, lições e 8 tipos de exercício com XP, ofensiva e vidas. Você evolui praticando todo dia — no ritmo de quem joga Duolingo, só que escrevendo código de verdade.

Duelos de código em tempo real, 1v1 ou 2v2. Mesmo desafio, cronômetro correndo, placar, chat e plateia — vence quem passa mais testes. E o ranking sente.

Leia, comente e escreva artigos técnicos. Da carreira ao low-level, conteúdo produzido por quem está no código — para quem está no código.

Cinco frentes, uma conta. Dez problemas de System Design prontos, do encurtador de URL à inferência de LLM — o primeiro é grátis e não pede cartão.
// níveis de acesso
Do primeiro passo ao domínio absoluto.
Cada plano, um estágio da jornada.
Gratuito
Grátis
para sempre
Seu primeiro passo na escuridão
Premium
R$11,99
/mês
Onde a evolução começa de verdade
Profissional
R$19,99
/mês
Para quem já entendeu o jogo
Máximo
R$29,90
/mês
Onde bons se tornam referências
| Recurso | GratuitoGrátis | PremiumR$ 11,99 | ProfissionalR$ 19,99 | MáximoR$ 29,90 |
|---|---|---|---|---|
| Fóruns & Comunidade | ✓ | ✓ | ✓ Premium | ✓ VIP |
| Blog e Artigos | Ver apenas + limitado | 5/mês | 10/mês | Ilimitado |
| Biblioteca Acervos | 5/mês | 20/mês | 50/mês | Ilimitado |
| DuoStack | a cada 4h recupera 1 vida | a cada 2h recupera 1 vida | ✓ | ✓ |
| Code Runner | 5/mês | 30/mês | 50/mês | ∞ Ilimitado |
| Projeto | 1/mês | 5/mês | 10/mês | Ilimitado |
| Projetos open source | Ver apenas | 2/mês | 4/mês | ✓ Ilimitado |
| Problemas Big Tech | ✗ | ✗ | Limitado | ✓ Completo |
| Code Reviews | Community | Community | 2/mês | 5/mês |
| Mentorias 1-on-1 | ✗ | ✗ | 1/mês (60min) | 3/mês (180min) |
| Certificados | ✗ | ✗ | ✓ | ✓ Premium |
| Vagas Exclusivas | Ver apenas | 20% | 40% | 70% |
| Candidatura Prioritária | ✗ | ✗ | ✓ | ✓ VIP |
| Requisições/mês | 100 | 500 | 2.000 | ∞ Ilimitado |
| Suporte | Community | Prioritário | VIP (2h) |
>_ pronto_para_começar
Dez problemas de System Design prontos, trilhas com correção na hora, arena de duelos e execução real em container. O primeiro é grátis e não pede cartão.