Frontend
Implemente um hook personalizado do React useSubState, que aceita o estado completo, a função setState e o nome da chave (campo do objeto), e retorna uma tupla com o valor dessa chave e a função para modificá-lo — semelhante ao useState, mas para um campo específico de um grande objeto de estado.
De que maneiras otimizaria os componentes React que atrasam a renderização?
Tem um teste de mil conexões através de WebSocket — como o realizou, como foi o teste de carga?
Olhe para o layout do cartão do produto (perfume). O que está errado aqui?
O que acontecerá se, em vez de uma classe, usar um objeto comum com os mesmos métodos (sem modo estrito)?
Por que escolheram GraphQL no projeto?
Por que escolheste especificamente o desenvolvimento web e Angular, em vez de, por exemplo, desenvolvimento móvel?
Tem experiência na transição do Vue 2 para o Vue 3? Conte-nos como foi, com que dificuldades se deparou?
#Formulário de inscrição React 1. Explique como funciona o StateProvider, partilhe seus pensamentos com o entrevistador. 2. Dê uma olhada em /src/api/mock, explique como funciona. 3. Verifique a cor do SubmitButton e corrija-a. 4. Implemente a validação do formulário no componente Signup. (\*) Tenha em mente a tarefa número 9. Regras: - Os campos Username, Email, Password e Repeat Password devem ter pelo menos 6 caracteres; - Password deve corresponder a Repeat Password; - A validação deve ser feita ao clicar no botão "SignUp"; - Campos com valores inválidos devem ser marcados (props error e helperText); 6. A resposta da API pode ter um erro que deve ser exibido ao usuário próximo ao campo correspondente. 7. Certifique-se de que o componente UserName renderize o novo nome de usuário após uma submissão bem-sucedida. 8. Implemente o novo componente SignupSuccess. Ele deve ser mostrado no lugar do formulário de inscrição. 9. Implemente a validação do servidor para os campos apropriados. --- Código de mock.ts: ```typescript const fakeResponse = (userName) => ({ code: 200, user: { id: 42, userName, }, }); let a = 0; const api = { '/signup': function (userName: string, email: string, password: string) { a++; return new Promise((resolve, reject) => { setTimeout(() => { if (a % 2 === 0) { return resolve(fakeResponse(userName)); } else { return reject( new Error( `O nome de usuário "${userName}" já está em uso. Por favor, tente outro.` ) ); } }, 500); }); }, }; export default api; ```
O que é WeakMap?
Fale sobre sua experiência de trabalho e tarefas atuais na plataforma de apostas.
O backend permaneceu comum para usuários antigos e novos (gratuitos)? Como você separou esses fluxos no nível do backend?
Existem áreas em que gostaria de melhorar?
TypeScript: qual é a diferença entre os tipos `any`, `unknown` e `never`?
No seu currículo, está escrito Java e PostgreSQL — conte-nos sobre essa experiência.
Tens experiência com Next.js?
Conte sobre uma tarefa difícil que resolveu no editor.
Onde na prática, do lado do utilizador, pode encontrar uma Promise infinita? (dica: relacionada com videoconferências, pedido de acesso à câmara e microfone através de navigator.mediaDevices.getUserMedia)
O que causa a re-renderização de componentes no React?
Qual a sua opinião sobre o armazenamento de estado com bibliotecas como React Query ou SWR?