DARKSTACK

Onde a evolução começa de verdade

01 · DuoStack

01 / 05

Uma perguntapor vez

Sem playlist de oito horas. Uma lição curta, uma pergunta, e a resposta na hora.

duostack · lição 4 de 12
♥ 5

Qual a saída de [1,2,3].map(x => x*2)?

[1, 2, 3]
[2, 4, 6]
undefined
VERIFICAR
Correto!+10 XP+1 ofensiva
duostack · lição 5 de 12
♥ 5

O que uma closure captura?

o valor no momento da criação
a referência à variável
uma cópia do escopo inteiro
VERIFICAR
XP acumulado
0
+10 XP

02 · Code Runner

01 / 05

Vocêescreve

Um desafio, um editor e dez linguagens. Nada de pseudocódigo — é a solução que vai rodar.

~/two-sum.py
Python 3.12limite 2s256 MBRODAR
CONTAINER ISOLADO
✓ test_basic 12ms
✓ test_edge 8ms
✓ test_large 21ms
ALL_TESTS_PASSED
pontos
0

03 · Battle

01 / 07

A rinhaabre

Quatro modos, do 1v1 ao caos full stack. Você entra numa sala aberta ou cria a sua — e a lista de lobbies é pública.

darkstack.com.br/pt/battle
root@darkstack : ~/battle-arena _
RINHA DEV
Pontos de ranking
1,000 RP
# ENTRAR NA SALA
+ CRIAR SALA
./mode_all.shALL_NODES# REDE GLOBAL
./mode_1v1.shALGO_DUEL# 1 VS 1
./mode_2v2.shPAIR_PROG# 2 VS 2
./mode_ffa.shROYALE.JS# CAOS FULL STACK
>_ OPEN_PULL_REQUESTS // lobbies ativos
Nenhuma batalha ativa encontrada. Seja o primeiro a iniciar uma!
connected :: us-east-1
LOBBY / STAGING
código
D5B7D7DE
▷ START_GAME
status da rede
ping 45ms
region us-east-1
packet_loss 0%
configuração
mode QUICK_MATCH
status WAITING
players 1/2
duration 10m
felipe sousa
kernel
READY
VS
WAITING…
convide um jogador
/var/log/chat
system conectado à sala
d5b7d7de-8fc1-4b90
DARKSTACK_OS v2.0.4PING 45ms MATCH_ELO ~1000SESSION V5YELoXJFjUvi ● CONNECTED :: us-east-1

⚔ PREPARANDO BATALHA ⚔

conectando ao servidor de batalha
carregando desafio
preparando ambiente de código
inicializando arena de batalha
3
felipe sousa 09:47 mkz_dev
Manipulação de Strings em C MEDIUM
algoritmos
● solution.c
1void reverse_string(char* s, char* r) {
2 // inverte e coloca em r
3}
4
5int is_palindrome(char* s) {
6 return 0;
7}
aguardando adversário…
INSTRUÇÕESTESTESRESULTADOS
Implemente funções de manipulação de strings em C.

reverse_string — inverte a string
is_palindrome — verifica se é palíndromo
tempo limite 5000ms · memória 256MB
batalha completa

VITÓRIA

você3
VS
mkz_dev2
● +24 ELO● +120 XP
CONTINUAR (20s)
root@darkstack : ~/battle-arena _
RINHA DEV
Pontos de ranking
1,024 RP ▲ +24
ranking da semana
12 lua_dev 1,180 RP
13 tavs 1,092 RP
14 você ▲ 3 posições 1,024 RP
15 mkz_dev 1,003 RP
ranking
1000
+24 RP

04 · System Design

01 / 07

O playgroundabre

Dez problemas clássicos, sessões salvas e um placar. Aqui não se responde múltipla escolha: se desenha arquitetura.

darkstack.com.br/pt/system-design
● >_ SYSTEM_DESIGN // playground
SYSTEM DESIGN

Desenhe a arquitetura, rode a simulação de tráfego e descubra o gargalo antes da produção.

+ NOVA_SESSÃO
total sessions
1
avg score
problems
10
scored
0
session history1 total
⌕ Search by problem title…
Encurtador de URL
◷ 14 de ago. de 2026
EM PROGRESSO
leaderboard
Sem pontuações ainda.
Bata o SLA de um problema pra entrar.
← Dashboard
● >_ CHOOSE_A_SYSTEM_TO_DESIGN
PROBLEM LIBRARY

Escolha um problema clássico de system design e comece a projetar.

Minhas submissões
+ Propor problema
⌕ Search problems…
ALLEASYMEDIUMHARD
EASY#001
Encurtador de URL

Transforme URLs longas em links curtos que redirecionam em milissegundos.

cachingread-heavyhashing
EASY#002
Rate Limiter distribuído

Limite quantas requisições cada cliente pode fazer, com estado compartilhado.

rate-limitingcachingdistributed-state
EASY#003
Pastebin

Guarde e sirva blocos de texto por link, com expiração.

storagecachingttl
MEDIUM#004
Timeline do Twitter/X

Entregue a timeline de quem você segue — o clássico de fan-out.

fan-outwrite-heavysocial
MEDIUM#005
Chat estilo WhatsApp

Mensagens em tempo real, entrega garantida e histórico.

queuewebsocketrealtime
MEDIUM#006
Sistema de notificações

Dispare push, e-mail e SMS para milhões, sem derrubar nada.

queuefan-outasync
design session · ✓ saved
Encurtador de URL
SLA 100ms · Reads 99% Traffic ▷ SIMULATE
COMPONENTS25
CLIENT
Web Client
Mobile App
Scheduler (cron)
TRAFFIC & EDGE
CDN
Load Balancer
API Gateway
Rate Limiter
COMPUTE
App Server
Worker
Message Queue
STORAGE
Cache (Redis)
SQL (Postgres)
Object Storage
CanvasChaosHistoryMermaid
▭ Web Client
◍ CDN
1 rep +
6%5ms
▤ App Server
1 rep +
0%12ms
▥ SQL (Postgres)
1 rep +
1 shard +
4%20ms
AI JUDGES
💡 Me dá uma dica
✦ Score My Design
⇄ Compare with reference
// SIMULATION
⚠ aguardando simulação
score
latência
disponibilidade
Rode a simulação para ver onde a sua arquitetura cede.
score
0

05 · Comunidade

01 / 06

O pontode encontro

Feed, fórum e quem está online, na mesma página. Não é chat solto: é o registro do que a casa está resolvendo agora.

darkstack.com.br/pt/comunidade
● >_ COMUNIDADE
O ponto de encontro da DARKSTACK

Conecte-se com quem está construindo agora. Acompanhe o feed, participe do fórum e veja quem está online.

◈ Feed💬 Fórum
Compartilhe algo com a comunidade…
Visível para toda a comunidade. ➤ Publicar
TudoPostsFórumConquistas
Ffelipe sousaFÓRUM
Índice composto no Postgres: a ordem das colunas importa mesmo?

Trocando para (tenant_id, created_at) o índice passou a ser usado e a query caiu de 1.2s para 8ms.

♡ 12💬 3
AadminSTATUS

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.

♡ 9💬 2
Vvidastest01STATUS

Descobri hoje que EXPLAIN ANALYZE mostra o tempo real e EXPLAIN só a estimativa. Estava lendo o número errado esse tempo todo.

♡ 7💬 1
● >_ COMUNIDADE
O ponto de encontro da DARKSTACK
◈ Feed💬 Fórum
⌕ Buscar no fórum… (Enter)
+ Nova publicação
TodosGeralDúvidaTutorialProjetoCarreiraFeedbackOff-topic
DÚVIDAfelipe sousa
Índice composto no Postgres: a ordem das colunas importa mesmo?
♡ 12💬 3
TUTORIALadmin
Como eu debuguei um vazamento de memória em Node que só aparecia em produção
♡ 18💬 5
CARREIRAseedtest01
Entrevista de system design: o que me derrubou não foi a arquitetura
♡ 24💬 7
PROJETOvidastest01
Terminei o encurtador de URL e o gargalo não era o banco
♡ 15💬 4
← Fórum · Dúvida
Ffelipe sousa DÚVIDA
Índice composto no Postgres: a ordem das colunas importa mesmo?

Tenho uma query filtrando por tenant_id e ordenando por created_at. Criei (created_at, tenant_id) e o plano continua fazendo seq scan.

♡ 12💬 3 respostaspostgres · indices · performance
Aadmin

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.

Vvidastest01

Regra prática que uso: igualdade primeiro, faixa depois, ordenação por último.

Sseedtest01 ✓ RESPOSTA ACEITA

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.

xp
2197

O ecossistema

Cinco frentes, uma conta só.

01Placa de circuito em macro

System Design

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

  • Fila M/M/1 por nó
  • Réplicas, shards e cota
  • Caos: queda de zona, cache frio
  • Compare com a referência
02Rack de servidores

Code Runner

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

  • Execução em Docker
  • Fila por RabbitMQ
  • Desafios da comunidade
  • Taxa de acerto pública
03Laptop iluminado

DuoStack

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.

  • Aprendizado gamificado
  • XP, ofensiva e vidas
  • 8 tipos de exercício
  • Trilhas da comunidade
04Placas de vídeo sobre fundo preto

Battle

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.

  • Rinha dev ao vivo
  • 1v1 e 2v2
  • Placar, chat e plateia
  • Elo e ranking
05Interior de um disco rígido

Blog

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.

  • Conhecimento da comunidade
  • Da carreira ao low-level
  • Comentários e discussão
  • Publique o seu
06A Terra vista do espaço

Comece agora

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

Escolha seunível de domínio.

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

  • Fóruns & Comunidade
  • Ver vagas e projetos
  • 5 artigos/mês
  • 1 projeto/mês
  • 100 requisições/mês
escolher

Premium

R$11,99

/mês

Onde a evolução começa de verdade

  • 20% das vagas exclusivas
  • 2 projetos open source/mês
  • 30 Code Runner/mês
  • 5 projetos/mês
  • 500 requisições/mês
escolher
MAIS_POPULAR

Profissional

R$19,99

/mês

Para quem já entendeu o jogo

  • 40% das vagas + prioridade
  • 4 projetos open source/mês
  • 1 mentoria/mês (60min)
  • 2 code reviews/mês
  • 2.000 requisições/mês
escolher
MAIS_COMPLETO

Máximo

R$29,90

/mês

Onde bons se tornam referências

  • 70% vagas + candidatura VIP
  • ∞ Projetos open source ilimitados
  • 3 mentorias/mês (180min)
  • 5 code reviews/mês
  • ∞ Requisições ilimitadas
escolher
// todos os planos incluem 7 dias de garantia ou seu dinheiro de volta
RecursoGratuitoGrátisPremiumR$ 11,99ProfissionalR$ 19,99MáximoR$ 29,90
Fóruns & Comunidade✓ Premium✓ VIP
Blog e ArtigosVer apenas + limitado5/mês10/mêsIlimitado
Biblioteca Acervos5/mês20/mês50/mêsIlimitado
DuoStacka cada 4h recupera 1 vidaa cada 2h recupera 1 vida
Code Runner5/mês30/mês50/mês∞ Ilimitado
Projeto1/mês5/mês10/mêsIlimitado
Projetos open sourceVer apenas2/mês4/mês✓ Ilimitado
Problemas Big TechLimitado✓ Completo
Code ReviewsCommunityCommunity2/mês5/mês
Mentorias 1-on-11/mês (60min)3/mês (180min)
Certificados✓ Premium
Vagas ExclusivasVer apenas20%40%70%
Candidatura Prioritária✓ VIP
Requisições/mês1005002.000∞ Ilimitado
SuporteCommunityEmailPrioritárioVIP (2h)

>_ pronto_para_começar

Comece peloprimeiro problema.

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.

  • Fóruns & Comunidade
  • Biblioteca de acervos
  • Vagas e mentoria
  • Projetos open source