Como passar na entrevista de TypeScript: principais perguntas

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course
```html

Como passar em uma entrevista de TypeScript: principais perguntas com exemplos



TypeScript solidificou seu lugar como padrão para desenvolvimento enterprise em JavaScript. Se você está se preparando para uma entrevista, é importante não apenas conhecer a sintaxe, mas também entender como tipos, genéricos e utilitários funcionam. Neste artigo, analisamos as principais perguntas frequentemente feitas em entrevistas técnicas, com respostas detalhadas e exemplos de código.



O material será útil tanto para desenvolvedores junior quanto para aqueles que desejam refrescar os conhecimentos antes de uma reunião importante.



1. O que é TypeScript e para que serve?



TypeScript é um superconjunto estritamente tipado de JavaScript que compila para JS comum. O objetivo principal é adicionar tipagem estática, o que permite:

  • Capturar erros em tempo de compilação, não em runtime.
  • Melhorar a legibilidade e a manutenibilidade do código.
  • Obter autocompletar e refatoração na IDE.


Exemplo:

// JavaScriptfunction add(a, b) {  return a + b; // a e b podem ser qualquer coisa}

// TypeScriptfunction add(a: number, b: number): number { return a + b; // erro de compilação se passar uma string}


Na entrevista, é importante enfatizar que o TypeScript não substitui o JavaScript, mas o complementa, tornando o código mais seguro.



2. Tipos básicos e seu uso



TypeScript oferece um amplo conjunto de tipos básicos. Perguntas sobre este tópico testam seu entendimento do sistema de tipos.



Liste os tipos principais:

  • number, string, boolean
  • null, undefined
  • any — desativa a verificação de tipos (tente evitar)
  • void — para funções que não retornam nada
  • never — para funções que nunca terminam (por exemplo, lançam uma exceção)


Exemplo com union-types:

type Status = 'active' | 'inactive' | 'pending';let userStatus: Status = 'active'; // apenas um dos três valores


Frequentemente perguntam sobre a diferença entre interface e type. Resposta: interface pode ser estendida (extends), enquanto type não. Para objetos, prefira interface; para primitivos e union, use type.



3. Genéricos (Generics) — a base da flexibilidade



Genéricos permitem criar componentes que funcionam com diferentes tipos sem perder a tipagem. Esta é uma das perguntas mais comuns.



Exemplo de um genérico simples:

function identity<T>(arg: T): T {  return arg;}const result = identity<string>('hello'); // tipo stringconst numberResult = identity(42); // tipo number (inferência de tipo)


Pergunta: Como restringir um genérico?

Use a palavra-chave extends:

function getLength<T extends { length: number }>(arg: T): number {  return arg.length;}getLength('hello'); // 5getLength([1,2,3]); // 3// getLength(123); // erro: number não tem length


Também perguntarão sobre genéricos em interfaces:

interface ApiResponse<T> {  data: T;  status: number;  error?: string;}const userResponse: ApiResponse<{ id: number; name: string }> = {  data: { id: 1, name: 'Alice' },  status: 200};


4. Tipos Utilitários (Utility Types)



Os utilitários embutidos do TypeScript simplificam manipulações com tipos. Conhecê-los é sinal de um desenvolvedor experiente.



Top 5 utilitários que você deve conhecer:

  • Partial<T> — torna todos os campos opcionais.
  • Required<T> — torna todos os campos obrigatórios.
  • Pick<T, K> — seleciona apenas as chaves especificadas.
```

Blogs

Book Recommendations