type Foo = { a: string; b: number; c: null; d: boolean; } // Chaves de Foo type FooKeys = keyof Foo // Como declarar um novo tipo baseado em FooKeys, mas sem os valores b e d? type FooKeysWithoutBD
Frontend
Do que depende a re-renderização de um componente no React?
Como fazer com que a construção try/catch funcione com Promise? Como tornar uma Promise síncrona usando async/await?
Como declarar um novo tipo baseado em Foo, mas sem os campos a e c, sem usar Omit?
Qual será a ordem de exibição do console.log e por quê? Explique a ordem de execução do código síncrono e assíncrono (Event Loop, tarefas macro e micro).
Como fazer com que uma função com Generic aceite apenas uma string ou uma instância da classe Bar, e em outros casos gere um erro TypeScript?
Qual foi a abordagem para escrever CSS? Estás familiarizada com a abordagem CSS-in-JS?
function delayFunc(fn, delay) { return function c(...args) { return new Promise((resolve) => { setTimeout(() => { fn(...args) }, delay * 1000) }) } } function sum(a, b) { console.log(a + b) } const delayedSum = delayFunc(sum, 5); await delayedSum(3, 2); //após 5 segundos irá mostrar 5 await delayedSum(5, 3); //após 5 segundos do anterior irá mostrar 8
É possível implementar o mesmo usando setTimeout em vez de setInterval?
Por que passar uma função (c => c + 1) para setCount em vez de simplesmente setCount(tick + 1)?
Fala sobre a tarefa mais difícil de toda a tua experiência.
<div class="list"> <div class="item">1</div> <div class="item">2</div> ... <div class="item">N-1</div> <div class="item">N</div> </div>
O que é um array de dependências no useEffect? O que acontece se passar um array vazio ou se não passar nenhum?
Existe uma função foo que aceita argumentos do tipo any e os retorna? Como fazer para que o tipo do resultado não seja any, mas corresponda ao tipo do argumento passado? Use Genéricos.
Existe um componente App e um componente Rand de uma biblioteca externa, que exibe um número aleatório. Deve-se fazer com que a cada 3 segundos o número aleatório mude, e exibir um contador de mudanças. Tudo apenas no componente App.
Para que serve a função de limpeza (return) no useEffect? O que acontecerá sem ela ao usar setInterval?
// É necessário extrair a lógica de re-renderização para um hook externo separado, // que permita trabalhar com o temporizador de fora (por exemplo, parar após 10 segundos). // Deve-se criar um novo componente RandOnce baseado no componente Rand, // que ao ser usado no App // não atualizará o número aleatório a cada 3 segundos, mas exibirá um número aleatório apenas uma vez.
Qual é a diferença entre a palavra-chave type e a interface em TypeScript? Fala sobre herança em tipos e interfaces.
Avaliaste a tarefa, a assumiste e percebes que avaliastes incorretamente e não vais conseguir terminar a tempo. O que fazes nesse momento?
// Precisa criar um novo componente RandOnce baseado no componente Rand, // que ao ser usado no App // não atualizará o número aleatório a cada 3 segundos, mas exibirá um número aleatório apenas uma vez. // const Rand = () => <span>{Math.random()}</span>