Este guia cobre 66 topicos organizados em 14 áreas. Cada seção tem teoria, código com syntax highlighting, diagramas SVG interativos e perguntas clássicas de entrevista. Use a navegação lateral ou siga a ordem sugerida abaixo.

Caminho de Estudo Sugerido

Siga esta ordem para construir conhecimento progressivamente:

1C# Fundamentals
2Async & Performance
3Architecture & Design
4ASP.NET & EF Core
5Padrões Distribuídos
6Cloud & SRE

Perguntas clássicas de entrevista

Amostra rápida abaixo — veja todas as 362 perguntas agrupadas por tópico em /interview-questions.

❓ Por que Strangler Fig em vez de reescrever tudo do zero?
Big bang rewrite concentra todo o risco em um único go-live sem rollback — Joel Spolsky chamou o full rewrite de "o pior erro estratégico que uma empresa de software pode cometer". Strangler Fig entrega valor incrementalmente, permite rollback a qualquer momento e mantém o sistema em produção durante toda a migração.
❓ Como o hash garante que o mesmo usuário sempre vai pro mesmo sistema?
SHA256 é determinístico — o mesmo input sempre produz o mesmo output. userId → SHA256 → primeiros 4 bytes → uint → % 100. O uint (sem sinal) garante 0–99 direto; com int seria preciso Math.Abs, que tem resto negativo e o edge case de int.MinValue. O resultado é sempre o mesmo para o mesmo GUID.
❓ Por que usar jitter no exponential backoff?
Sem jitter, todos os clientes que falharam ao mesmo tempo esperam o mesmo delay (thundering herd). Jitter randomiza, distribuindo a carga no tempo.
❓ IEnumerable vs IQueryable — quando usar cada um?
IQueryable traduz expressões LINQ para SQL — o filtro roda no banco. IEnumerable carrega tudo em memória e filtra no C#. Use IQueryable para filtros que devem rodar no banco, AsEnumerable() para operações que só existem em C#.