Standalone components x NgModules
Pergunta
O que são standalone components no Angular e que problema dos NgModules eles resolvem?
Resposta esperada
Historicamente, todo componente/diretiva/pipe do Angular precisava ser declarado em algum NgModule, e pra usar um componente de outro módulo você importava o módulo inteiro — o que criava um grafo de módulos difícil de rastrear ('por que esse componente não está disponível aqui?', 'o que esse SharedModule arrasta junto?'). Standalone components declaram suas próprias dependências no próprio `@Component({ imports: [...] })` — sem NgModule. Ganhos: árvore de dependências explícita e local (você vê no arquivo do componente o que ele usa), tree-shaking melhor, lazy loading direto de um componente, e menos boilerplate pra começar um projeto. É o padrão recomendado hoje; NgModules ainda funcionam e dá pra misturar.
Por que perguntam isso
Pergunta pleno de Angular. Sinal bom: nomear a dor concreta do NgModule (SharedModule que arrasta tudo, grafo opaco).