O que faz o operador in em TypeScript?
Frontend
Fale sobre useCallback — cenário de uso, para que serve?
Fale sobre o trabalho com formulários no React: componentes controlados e não controlados, vantagens e desvantagens de cada abordagem.
Tarefa: percorrer uma árvore de objetos (cada objeto tem campos value e elements) e calcular a soma de todos os valores. Como você implementaria isso?
const LiveSearch = () => { const [inputValue, setInputValue] = useState('') const onInputChange = (e) => { setInputValue(e.target.value) search(e.target.value) } return ( <div> <input value={inputValue} onChange={onInputChange} type="text" /> </div> ) } <span> A procurar por: <LiveSearch /> </span>
// Dados do servidor sobre o preço do produto foram recebidos na forma de: // 12345678 (o preço pode ser qualquer valor, mas na faixa de 1 até [phone]) // É necessário escrever uma função que converta o preço para uma string formatada do seguinte modo: // 12'345'678
const X = { a: 1, b: 2, c: 3, d: 4 } function getProperty(obj, key) { // Tarefa: tipar a função return obj[key] } getProperty(X, 'a') // sem erro getProperty(X, ' ') // erro: a chave não é válida para o objeto X getProperty({ name: 'Sergey' }, 'name') // sem erro
Fale sobre as fases do ciclo de vida dos componentes React
Já trabalhou com Blob? Como criar um link para download de um arquivo gerado dinamicamente?
function sum(a, b) { return a + b; } function memo() {}
O que é React.memo? Quando se aplica useCallback?
O que é uma função de limpeza (cleanup) no useEffect? Quando ela é executada? Escreva-a no useEffect.
Como implementar uma travessia de árvore sem recursão? Que estrutura de dados ajuda?
let x = 5; (function () { console.log(x); let x = 0; })()
Fale sobre o Virtual DOM e o mecanismo de reconciliation no React. Como o React otimiza a comparação de árvores?
import React, { useState, useEffect, useRef, useContext, useReducer, useMemo } from 'react'; export default () => { const [count, setCount] = useState(0); useLayoutEffect(() => console.log("cada renderização 1")); console.log("cada renderização 2"); useEffect(() => { console.log("cada renderização 3"); return () => { console.log(4); }; }, [count]); return ( <button onClick={() => setCount((prevProps) => ++prevProps)}> Incrementar </button> ); }
const { foo: [bar], bar: [{ baz: foo }] } = { foo: [1], bar: [{ baz: 3 }] } console.log(bar) console.log(foo) //
Como exibir um banner uma única vez para um usuário autenticado em todos os seus dispositivos?
Recebeste um código para revisão — o que aqui não é ótimo?
O que acontece se o tipo de componente mudar? Uma chave igual ajudará a manter o estado?