30 questions across 3 levels — covering compilation, type theory, and industry best practices. Each answer explains why, what TypeScript compiles to, and what the pros do.
Based on the TypeScript Handbook & common interview questions · Keyboard: 1–4 to answer · Enter/→ to advance · Tab to switch tabs
Este quiz percorre as partes de TypeScript que quem entrevista realmente investiga: como o compilador infere tipos quando você não os anota, como generics deixam uma função continuar type-safe em muitos formatos de entrada e como o sistema de tipos calcula tipos novos a partir dos existentes com tipos condicionais, tipos mapeados e a palavra-chave infer. Também cobre narrowing — como o TypeScript usa fluxo de controle, typeof, instanceof, unions discriminadas e type guards definidos pelo usuário para reduzir uma union a um único tipo dentro de um ramo.
Um recurso distintivo é que toda resposta inclui o JavaScript compilado. Tipos, interfaces e imports somente de tipo são apagados no build e não produzem código de runtime, enquanto enums, propriedades de parâmetro de classe e decorators de fato emitem algo. Ver a saída emitida ao lado do código-fonte deixa óbvio quais construções são puramente um contrato de tempo de compilação e quais têm custo em runtime — uma distinção que aparece o tempo todo em entrevistas sobre tamanho de bundle e desempenho.
Os utility types — Partial, Required, Readonly, Pick, Omit, Record, ReturnType, Parameters, Awaited e os demais — são tratados como coisas que você deve conseguir reimplementar, não apenas chamar. Várias questões pedem que você preveja o resultado de um tipo mapeado escrito à mão que espelha um dos embutidos, um exercício comum de quadro branco.
O Iniciante cobre o sistema de tipos do dia a dia: tipos primitivos e literais, arrays e tuplas, tipos union e intersection, interfaces versus type aliases, propriedades opcionais e readonly, tipos de função e a diferença entre any, unknown e never. São as questões com que uma ligação de triagem tem mais chance de começar.
O Intermediário avança para generics com constraints, keyof e tipos de acesso indexado, typeof usado como consulta de tipo, tipos mapeados e condicionais básicos e narrowing por fluxo de controle. O Avançado empurra para tipos condicionais recursivos, a palavra-chave infer, tipos de literal de template, tipos de tupla variádicos, o operador satisfies, parâmetros de tipo const, NoInfer e module augmentation — o material que distingue uma resposta sênior de TypeScript.
São 30 questões no total — 10 Iniciante, 10 Intermediário e 10 Avançado. Cada nível é embaralhado a cada tentativa, então você recebe uma ordem nova toda vez.
Ele cobre inferência de tipos, any versus unknown, interfaces versus type aliases, propriedades opcionais, generics e constraints, keyof e tipos de acesso indexado, tipos mapeados, tipos condicionais, a palavra-chave infer, unions discriminadas, tipos de literal de template, tuplas variádicas, satisfies, NoInfer, parâmetros de tipo const e module augmentation.
Ambas. O nível Iniciante combina com uma primeira vaga de front-end ou full-stack, o Intermediário com uma pessoa de nível pleno e o Avançado reflete o que se espera que alguém sênior ou staff explique com segurança. Percorrer os três em ordem é a abordagem mais útil.
Sim. Toda questão tem uma aba JS Compilado mostrando exatamente o que o TypeScript emite depois de apagar as anotações de tipo. Isso deixa claro quais construções têm custo em runtime e quais são puramente de tempo de compilação.
É uma boa verificação de conhecimento, mas combine com prática de mão na massa: construa algo pequeno com o modo strict ligado, leia os erros do compilador com atenção e pratique dizer cada resposta em voz alta. Entrevistas testam a explicação tanto quanto o reconhecimento.
Não. O quiz é totalmente gratuito, sem conta, login ou download. Tudo roda no seu navegador e nenhuma resposta ou pontuação é enviada para lugar nenhum.