Frontend
Já teve que fazer mentoria a outros desenvolvedores?
Quais são as suas expectativas salariais?
Fala sobre Suspense e divisão de código (code splitting) no React.
import { useState, useRef, useEffect } from "react"; const useDebugRender = ({props}) => { const prevProp = useRef(props) useEffect(() => { }, []) } const ParentComponent = () => { const [random, setRandom] = useState(0); // Passa-se ao componente filho como Prop const [text, setText] = useState(""); // Passa-se ao componente filho como Prop const createRandom = () => setRandom(Math.floor(Math.random() * 100)); const onTextChange = (e) => setText(e.target.value); const [count, setCount] = useState(0); const incrementCount = () => setCount((prev) => prev + 1); // Esta função é passada como Prop ao componente filho return ( <> <Count: {count} /> <input type="text" onChange={onTextChange} /> <button onClick={createRandom}>Gerar Aleatório</button> <div> <ChildComponent random={random} text={text} incrementCount={incrementCount} /> </div> </> ); }; export default ParentComponent;
Se falar de técnicas puras de otimização dentro do React, quais conhece? (useMemo, useCallback, React.memo)
O que são CORS, XSS, CSRF? Como eles funcionam?
Quão boa prática é armazenar simultaneamente no store global do Redux informações sobre o perfil do usuário e o carrinho? Como isso afeta a arquitetura?
Fale sobre o escopo em JavaScript: let, const, var — em que eles diferem e o que é elevação (hoisting)?
Em que foram implementados os módulos e micro-frontends?
Como determinar o país do utilizador através dos cabeçalhos HTTP?
O que significa a palavra-chave satisfies em TypeScript e para que serve?
Fale sobre sua experiência de trabalho em equipe: com quem teve que trabalhar, como as tarefas eram distribuídas?
Conte-nos sobre sua experiência na Paraveb: como foi organizado o método de desenvolvimento, havia uma equipe e um estilo de código unificado?
Podes explicar a diferença entre os operadores switchMap e mergeMap?
O que podemos supor sobre a interação com diferentes tipos de respostas: pode clicar na imagem, também no texto, mas o que fazer com o vídeo?
Como mover ou ampliar um elemento na página de forma mais barata e mais cara para o navegador? Por que para animações, é preferível usar transform em vez de alterar a largura e a altura?
// É necessário implementar o método groupBy, que estende os métodos padrão dos arrays. // O método deve retornar uma versão agrupada do array – um objeto, // no qual cada chave é o resultado da execução da função fn(arr[i]), // e cada valor é um array contendo todos os elementos do array original com essa chave.
Fala-me sobre os tipos de armazenamento: localStorage, sessionStorage, cookie. Em que é que eles se diferenciam e por que é que os tokens são armazenados em cookies?
Como é que o CORS e o CSP influenciam um ao outro?
Fale sobre WebSocket: como funciona, que dados podem ser transmitidos, criptografia?