Calibração inicial
Self-Assessment
SELF-ASSESSMENT, Calibração Inicial
Questionário pra você decidir, com honestidade brutal, onde realmente está. Não pra pular módulos sem provar, você ainda passa portões. Mas pra calibrar cadência (módulos que você domina passam rápido; módulos novos demandam tempo) e identificar gaps cegos.
Regras:
- Responda sozinho, sem consultar nada. Resposta com Google = falha pra fim de calibração.
- Resposta certa em 30 segundos = você sabe. Trava ou consulta = não sabe.
- Não cole gabarito. Ninguém te assiste; você é a única vítima de auto-engano.
- Se acertou ≥ 70% das perguntas de um módulo, ainda faça o portão conceitual. Geralmente você descobre buracos. Mas pode pular Teoria Hard inicial e ir direto pro desafio.
- Se acertou < 70%, faça o módulo inteiro normal.
Total: 66 perguntas, ~3 horas com tempo de pensar. Faça em 1-2 sessões. Anote respostas em assessment-result.md no seu repo de estudos pessoal (não neste).
Estágio 1: Fundamentos
01-01 Computation Model
- Qual a diferença entre RAM e disco em ordem de magnitude de latência?
- O que é uma syscall e por que custa mais que call de função normal?
01-02 Operating Systems
- Diferença entre processo e thread.
- O que é virtual memory e como page faults funcionam?
01-03 Networking
- Diferença entre TCP e UDP em uma frase.
- O que SNI faz no TLS handshake?
01-04 Data Structures
- Em B-Tree, por que fan-out é alto vs binary tree?
- Quando hash table degrada pra O(n)?
01-05 Algorithms
- Quicksort tem O(n log n) average. Qual é pior caso e como escolha de pivot mitiga?
- Diferença entre BFS e DFS.
01-06 Programming Paradigms
- O que é pure function?
- Diferencie OO clássico, functional, e logic programming em uma frase cada.
01-07 JavaScript Deep
- Qual a ordem de fases do event loop do Node?
- Por que
[1,2,3] + [4,5,6]retorna'1,2,34,5,6'em JS?
01-08 TypeScript Type System
- Diferencie
unknowneany. - O que faz
inferem conditional types?
01-09 Git Internals
- Quais 4 tipos de objects Git tem?
- O que
git rebase --interactivefaz internamente?
01-10 Unix CLI & Bash
- Diferença entre
>,>>,2>,&>em redirection. - O que
set -euo pipefailfaz e por que usar?
01-11 Concurrency Theory
- Defina race condition formalmente.
- Por que x86 TSO é mais forte que ARM relaxed memory model?
01-12 Cryptography Fundamentals
- Diferença entre hash, MAC e signature.
- Por que nonce reuse em AES-GCM destrói segurança?
01-13 Compilers & Interpreters
- Liste fases canônicas de pipeline de compilador.
- Por que SSA simplifica otimizações?
01-14 CPU Microarchitecture
- Estime latência (ciclos) de L1 vs L3 vs DRAM.
- O que é false sharing e como detectar?
01-15 Math Foundations
- Aplique Bayes: P(spam) = 0.3, P(palavra X | spam) = 0.6, P(palavra X) = 0.4. Calcule P(spam | palavra X).
- O que SVD faz em uma frase?
Estágio 2: Plataforma
02-01 HTML/CSS/Tailwind
- Diferença entre
inline-blockeflexem modelo de layout. - O que CSS Cascade Layers (
@layer) resolvem?
02-02 Accessibility
- Liste 3 atributos ARIA e quando usar cada.
- Qual contrast ratio mínimo WCAG AA pra texto normal?
02-03 DOM & Web APIs
- Diferença entre
querySelectoregetElementByIdem performance. - O que
requestIdleCallbackfaz?
02-04 React Deep
- O que é Fiber e qual problema resolve?
- Quando
useMemoé prejudicial?
02-05 Next.js
- Diferencie 4 caching layers do App Router.
- Quando usar Server Action vs Route Handler?
02-06 React Native
- O que é o bridge clássico de RN e por que New Architecture (Fabric) o substitui?
02-07 Node.js Internals
- O que é libuv threadpool e quando bloqueia?
02-08 Backend Frameworks
- Diferencie Express middleware vs Fastify hooks em modelo mental.
02-09 Postgres Deep
- Como Postgres permite leituras sem bloqueio durante writes concorrentes?
- Por que
ALTER TABLE ADD COLUMN NOT NULL DEFAULTclássico travava produção?
02-10 ORMs
- Diferencie Prisma e Drizzle em filosofia.
02-11 Redis
- Por que Redis é single-threaded e isso é vantagem ou desvantagem?
02-12 MongoDB
- Quando MongoDB é escolha melhor que Postgres?
02-13 Auth (OAuth2/JWT)
- O que PKCE adiciona ao OAuth2 e por que é obrigatório em mobile?
02-14 Real-time
- Diferencie WebSocket, SSE, WebRTC em casos de uso.
02-15 Search Engines
- O que
k1ebcontrolam em BM25?
02-16 Graph Databases
- Quando graph DB vence Postgres com WITH RECURSIVE?
02-17 Native Mobile
- Por que UIKit e SwiftUI coexistem em código moderno?
02-18 Payments & Billing
- Por que webhook deve verificar signature E ser idempotente?
02-19 i18n / l10n
- Diferencie code point e grapheme cluster com exemplo.
Estágio 3: Produção
03-01 Testing
- Diferencie unit, integration, E2E, property-based.
03-02-03-03 Docker / K8s
- O que cgroups e namespaces fazem em containers?
- O que
kubectl applyfaz internamente?
03-04 CI/CD
- Diferencie blue-green e canary deploy.
03-07 Observability
- Liste os 4 sinais dourados (Google SRE).
03-08 Security
- Diferencie SQLi e XSS em vetor.
03-10 Backend Performance
- Como você mede gargalo em Node sob carga real?
03-13 Time-Series & Analytical DBs
- Por que ClickHouse comprime mais que Postgres?
03-15 Incident Response
- Defina SLI, SLO, SLA, error budget.
03-17 Accessibility Testing
- Por que tooling automatizado a11y só pega ~30-40% de issues?
Estágio 4: Sistemas
04-01 Distributed Systems
- Enuncie CAP e por que ele é insuficiente sem PACELC.
Avaliação
Conte: acertos / total por estágio.
| Faixa | Interpretação |
|---|---|
| ≥ 90% | Você likely domina o estágio. Faça portões pra confirmar; pode rodar módulos rápido. |
| 70-89% | Você conhece, mas com buracos. Faça módulos com Teoria Hard skim + Desafio + Portões. |
| 40-69% | Você tem base parcial. Estude Teoria Hard + faça Desafio + Portões. Padrão. |
| < 40% | Você é iniciante real no estágio. Estude com Feynman + Active Recall + tudo. Sem pressa. |
Cuidado: viés de auto-avaliação inflaciona. Se ficou em dúvida em pergunta, conte como erro. Honestidade aqui paga depois.
Cross-cutting flags
Se travou em maioria das perguntas em alguma área, sinal forte de gap a tratar antes de avançar:
- Travou em 01-02-01-03-01-11-01-14: fundamentos de OS/networking/concorrência/CPU. Foque Fundamentos antes de qualquer estágio acima.
- Travou em 01-04-01-05-01-15: CS theory + math. Mesma coisa.
- Travou em 02-04-02-05-02-07: stack JS/TS profundo. Foque Plataforma frontend+Node.
- Travou em 02-09 + 03-10 + 03-13: Postgres + perf + analytics. Foque trilha de dados.
- Travou em 04-01-04-04-04-14: distributed. Senior precisa.
- Travou em 04-12-04-15-04-16-ST*: carreira/influência/business. Não tente Staff antes.
Resultado
Em assessment-result.md (seu repo pessoal):
- Score por estágio.
- Lista de módulos que você passou ≥ 90% (rápido).
- Lista de módulos com ≥ 70% (skim + portões).
- Lista de módulos < 70% (módulo completo).
- Lista de gaps cegos identificados.
- Decisão sobre por onde começar (probabilidade alta: 01-01, mas se você é meio-Senior real, pode começar mais alto).
Refazer assessment a cada 6 meses recomendado. Sua percepção muda, autoavaliação evolui.
Comece quando estiver pronto. Não consulte nada. Honestidade aqui é o primeiro portão.