Entrevistas de Angular cobrem dependency injection, RxJS, change detection, e TypeScript — o framework é opinativo, então as perguntas testam se você entende sua maquinaria. Aqui estão as mais comuns com respostas modelo. Junior: teoria básica, definições e casos práticos simples.
1
O que é dependency injection no Angular e por que existe?
Resposta
Você declara o que uma classe precisa no seu constructor e o Angular provê isso, em vez de a classe construir suas próprias dependências. Existe para que o mesmo componente possa receber um serviço real na app e um falso em um teste sem mudar seu código. providedIn: 'root' torna um serviço um singleton para toda a app.
2
Qual é a diferença entre um componente, uma diretiva e um pipe?
Resposta
Um componente é uma diretiva com um template — ele renderiza algo. Uma diretiva muda o comportamento ou aparência de um elemento existente sem template próprio. Um pipe transforma um valor para exibição. Se você está adicionando markup é um componente, se está decorando markup é uma diretiva.
3
O que é um Observable e em que difere de uma Promise?
Resposta
Uma Promise resolve uma vez. Um Observable é um stream que pode emitir muitas vezes, pode ser cancelado ao se desinscrever, e não faz nada até ser assinado. Essa preguiça é a parte que as pessoas esquecem: uma chamada HTTP que você nunca assina nunca é disparada, por isso um método de serviço que retorna um Observable ainda não fez um request.
4
Quando você tem que se desinscrever, e quando não tem?
Resposta
Você tem que quando o stream não completa por si só — valueChanges, um evento de router, um interval — senão a assinatura sobrevive ao componente e o mantém em memória. Você não tem que para HttpClient, que completa depois de uma emissão. O pipe async se desinscreve por você, por isso é a forma preferida.
5
Qual é a diferença entre um formulário template-driven e um reactive?
Resposta
Template-driven coloca o modelo no template com ngModel e serve bem para um formulário pequeno. Reactive constrói a árvore de controles na classe, o que torna validação, campos dinâmicos e testes diretos porque o formulário é um objeto que você pode inspecionar. Qualquer coisa com campos condicionais ou regras cross-field quer reactive.
6
O que um módulo faz, e o que mudou com os standalone components?
Resposta
Um NgModule agrupava declarations, imports e providers. Os standalone components declaram seus próprios imports e eliminam a camada de módulo para a maioria dos casos — você importa o que um componente usa junto ao componente. Código novo deveria ser standalone; NgModules permanecem porque bases de código grandes existem.