Tem experiência com Docker?
Frontend
Fala sobre o componente select personalizado.
Tarefa de RxJS: há um Observable ao qual se inscrevem três vezes no template. Como fazer uma única inscrição em vez de três, sem usar diretamente o pipe async? Em que os Subject e BehaviorSubject diferem de um Observable normal (fluxo quente vs frio)?
Como resolver o problema com trackBy se houver valores duplicados no array e não houver um identificador único?
Tarefa de JavaScript: escrever uma função que aceite dois arrays e retorne um array com os elementos presentes apenas em um dos arrays (diferença simétrica). Avaliar a complexidade do algoritmo.
Tem experiência em escrever bibliotecas de UI próprias ou bibliotecas de componentes?
Tarefa de CSS: três blocos div empilhados um sobre o outro, cada um com margem superior de 10px e margem inferior de 30px. Qual será a distância entre os blocos? O que mudará se substituir o div por span?
O componente pai usa a estratégia OnPush, o componente filho — Default. O que acontece com o componente filho quando há alterações? Em que direção a verificação de deteção de alterações é feita — de cima para baixo ou de baixo para cima?
Fala-me sobre os componentes personalizados que escreveste com base na biblioteca NgZorro (NzZor). Por exemplo, um datepicker com restrições comerciais nos fins de semana.
Como é que o renderizado se comportará ao alterar um elemento da lista? Para que serve o trackBy?
Tarefa de TypeScript: há uma classe Animal com métodos move e bark, e uma função process que aceita um animal do tipo Animal e chama o método bark. Vai haver um erro no TypeScript? Como restringir corretamente o tipo? Como escrever um type guard?
Por que o seu projeto não está a passar para uma versão mais recente do Angular?
Qual é a diferença entre as estratégias de deteção de mudanças OnPush e Default? Por que usar OnPush?
Fala sobre a tua experiência nos últimos 3-4 anos. Que tarefas resolveste?
Tarefa de JavaScript: determinar o tipo (typeof) para várias expressões — new Array(), objeto, Map, número, Infinity, resultado da concatenação de strings e números.
Tarefa de RxJS: determinar a saída ao usar combineLatest com dois fluxos com atrasos diferentes. O que o forkJoin irá mostrar?
Mencionaste várias aplicações frontend independentes — são micro frontends? Já trabalhaste com Module Federation?
Foi implementado suporte de teclado no datepicker personalizado?
Tem experiência com WebSocket? Com GraphQL?
Por que estás deixando o teu atual emprego e o que procuras no novo?