Sobes.tech

Frontend

O let e o const (hoisting) são elevados? O que acontece ao acessá-los antes da declaração?

Middle+
135

O que é um Set? O que podemos passar ao chamar new Set como argumento?

Middle+
135

Por que usar debounce e não throttle para pesquisa?

Middle+
135

O que é um encerramento?

Middle+
134

Escreva uma função getUserProfile que recebe um userId como argumento e busca o perfil do usuário no endpoint da API "[link] A função deve registrar o perfil do usuário se a busca for bem-sucedida, e registrar uma mensagem de erro se a busca falhar.

Middle+
134

Que métodos estáticos do Promise conheces? Fala-me sobre eles.

Middle+
134

import React, { useState, useEffect, useLayoutEffect } 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 ( <button onClick={() => setCount((prevProps) => ++prevProps)}> Incrementar </button> ); } // montagem -> cada renderização 2, cada renderização 1, cada renderização 3 // atualização -> cada renderização 2, cada renderização 1, cada renderização 3 // desmontagem 4

Middle+
133

Escreva o que acontecerá na primeira renderização — em que sequência os console.log serão exibidos. O que acontecerá após o clique?

Middle+
131

Escreva uma implementação abstrata do componente Child com memoização usando React.memo. Qual é o segundo argumento que o React.memo aceita?

Middle+
130

O que é um WeakSet?

Middle+
130

Qual é a diferença entre Map e WeakMap?

Middle+
126

import React, { useState, useEffect, useRef, useContext, useReducer, useMemo } from 'react'; const someFunc = (arr) => { return [...arr].sort((a, b) => a - b); }; const LazyInit = (props) => { const [arr, setArr] = useState(() => someFunc(props.arr)); const onClick = () => { setArr((prev) => prev.concat(prev.length + 1)) } return ( <> <button onClick={onClick}> Incrementar </button> <ul> {arr.map((n, index) => <li key={index}>{n}</li>)} </ul> </> ) } export default () => <LazyInit arr={[1, 2, 3]} />; --- A conversa à direita discute: - Uso do TypeScript com genéricos: "<T extends object, K extends keyof T>" - Verificação se os dados são uma string com um guarda de tipo: "isString(data: unknown): data is string { ... }" - Uso do useState com uma função para evitar re-execução a cada render: ``` const [state, setState] = useState(getComplexData); // ou const [state, setState] = useState(() => getComplexData()); ``` - A função passada ao useState será executada apenas uma vez na montagem do componente. - Aviso sobre mutação direta do estado na linha 11 com prev.concat. --- A tarefa técnica é analisar e possivelmente corrigir ou otimizar o código do componente React, com foco especial em: - Inicialização preguiçosa adequada do estado com useState. - Evitar mutação direta do estado. - Compreender os genéricos do TypeScript e os guardas de tipo. - Garantir que o componente atualize o estado corretamente ao clicar no botão.

Middle+
126

Existem três fontes de dados que retornam a mesma informação. Como obter a resposta da mais rápida?

Middle+
123

Fala-me sobre o hook useState no React.

Middle+
117

Como são criadas funções em JavaScript? Quais são as formas de criar funções e como elas diferem?

Middle+
113

Por que não se pode trabalhar com um construtor new em funções de seta?

Middle+
112

Que tipos utilitários do TypeScript utilizas no teu trabalho? Fala sobre Record, Pick, Omit, Partial, Required, Parameters, Exclude, Extract.

Middle+
99
/5