Como funciona um closure em JavaScript? Explique com um exemplo da variável index e da função run na sua solução.
Frontend
Explicite como o Promise.all espera que todas as solicitações sejam concluídas na sua solução com recursão? Por que a implementação atual pode retornar um resultado incompleto?
Conte-me mais sobre o projeto no Цифриум: de quais módulos eram responsáveis, como foi estruturada a funcionalidade — onde estavam localizados os endpoints, modelos, lógica de negócio, assinaturas?
Usou FSD (Feature-Sliced Design) em um projeto? Como escreveu samples e assinaturas de eventos no Effector ao usar FSD?
Como você entende a escolha da arquitetura? Como você destaca os prós e contras entre diferentes abordagens?
/** * Implementa a função que executará um callback com os dados * e retornará um array de respostas Response[]. * A solução deve executar todas as requisições em paralelo * mas não mais do que [limit] requisições podem ser executadas simultaneamente. * O objetivo é minimizar o tempo total de execução. */ type Props<RequestData, Response> = { callback: (args: RequestData) => Promise<Response>; data: Array<RequestData>; limit: number; }; export async function runWithLimit<RequestData, Response>({ callback, data, limit, }: Props<RequestData, Response>): Promise<Response[]> { // INÍCIO DA SOLUÇÃO AQUI if (limit < 1 || data.length === 0) { return Promise.resolve([]); } if (limit >= data.length) { return Promise.all(data.map(callback)); } const result: Response[] = new Array(data.length); let index = 0; const run = async () => { if (index >= data.length) return; const elem = data[index]; try { result[index] = await callback(elem); } catch (err) { result[index] = (err) as Response; // a fazer: tratar erro } index++; run(); }; const startPack = Array.from({ length: limit }, run); await Promise.all(startPack); return result; }
Como funciona o Array.from? O que aceita como argumentos?
Otimização de compilação: em que consistia? Que outras abordagens conhece para otimizar o tamanho do bundle?
O que é code splitting e como funciona?
Fale sobre si e a sua experiência de trabalho