Frontend
Fale sobre uma estrutura complexa com mais de 50 campos: como você construiu a arquitetura, a dinâmica e o trabalho com dados aninhados?
Como criar uma rota protegida (Protected Route) numa aplicação React?
O que é a propriedade position em CSS? Quais valores ela possui (static, relative, absolute, fixed, sticky) e como funcionam?
Que critérios de qualidade de código podes mencionar? Explica com mais detalhes o que entendes por código de qualidade.
Qual é a diferença entre Promise e async/await? Como executar duas requisições assíncronas em paralelo? Quais métodos Promise conhece (all, allSettled, race, any)?
Como contornar o CORS sem alterar o servidor ou o cliente original?
/** * São dadas três secções de código. É necessário escrever o resultado de cada console.log. */ var n = 1; function F(n) { n = 3; } F(n); console.log(n); var obj = { a: 1 }; function F1(o) { o.a = 5; } F1(obj); console.log(obj); var obj = { a: 1 }; function F2(o) { o = { hello: 1 }; } F2(obj); console.log(obj);
/* * Função que emula solicitar dados do backend. * O backend tem limitação de RPS, e irá falhar, * se o número de pedidos paralelos for maior que MAX_PARALLEL_REQUESTS. */ function requestData(id: number): Promise<string> { parallelRequests++; if (parallelRequests > MAX_PARALLEL_REQUESTS) { throw new Error("Muitos pedidos paralelos"); } return new Promise((res) => { setTimeout(() => { parallelRequests--; return res(`${id * 2}`); }, Math.floor(Math.random() * 2000)) }); } function prepareData( ids: number[], maxParallelRequests: number, ): Promise<string[]> { /* * TODO: implementar a solicitação de todos os dados, * usando no máximo maxParallelRequests * conexões paralelas. */ }
Otimizámos os componentes — dê um exemplo do que era antes da otimização e o que foi depois.
O que são genéricos em TypeScript?
Como foi implementada a pesquisa na tabela usando RxJS — como exatamente a solicitação era enviada ao servidor?
Qual é a diferença entre Map e Set em JavaScript?
/** * É necessário escrever uma função assíncrona, * que "durma" a quantidade de milissegundos especificada, * e depois termine com sucesso * / function sleep(duration) { } // Exemplo const startTime = Date.now(); console.log("começando a dormir..."); sleep(2000).then(() => { console.log("Acordei após 2 segundos!"); console.log("Tempo passado: ", Date.now() - startTime); }); sleep(1000).then(() => { console.log("Acordei após 1 segundo!"); console.log("Tempo passado: ", Date.now() - startTime); });
Fale-nos sobre a sua experiência anterior de trabalho e as tecnologias utilizadas.
Qual foi o tamanho da equipa? Quantos desenvolvedores front-end e outros especialistas?
Já utilizou Vue e Vuetify?
O que faz o operador in em TypeScript?
À sua frente há uma função com duas constantes e console.log. O que será exibido no console? O que mudará se remover o break na sétima linha? Qual é a complexidade algorítmica deste código?
Qual é a diferença entre props e state?
Se declarar uma função e depois uma variável — ela será acessível dentro da função? Fale sobre o hoisting de variáveis e a zona morta temporária.