Frontend
O que é o operador as em TypeScript e quais são as suas vantagens e desvantagens?
Fale sobre as etapas críticas do renderizador do navegador
Já trabalhou com abordagens arquitetónicas como FSD (Feature-Sliced Design)?
Como resolves o problema de otimização do carregamento de imagens para diferentes resoluções de tela?
Tarefa de concatenação de strings em JavaScript: o que será exibido na tela e por quê? (exemplo com o operador + e strings/numerais)
Como otimizar re-renderizações no React? Fale sobre React.memo, useCallback, useMemo.
Como resolver a tarefa withTimeout de forma alternativa usando Promise.race? O que é Promise.race, em que difere do Promise.all?
Quais atributos existem na tag form?
Por que acha que deve sair do seu atual emprego?
Em que cidade estás? Estás disposto a mudar-te? O que achas do Hybrid?
O que são ataques XSS?
Conhecimento de bases de dados e trabalho com API
Fala sobre sua experiência com Node.js, usando como exemplo algum projeto em que você trabalhou, o que exatamente você desenvolveu nele.
Por que foi introduída a API de Composição no Vue 3? Quais são as vantagens em relação à API Options?
Já teve que configurar o ESLint e o Prettier de forma a que não entrassem em conflito?
Fale sobre Promise: estados, métodos estáticos (all, allSettled, any, race).
Obter dados sobre livros e seus autores. Mostrar os dados numa lista paginada de 10 livros por página no formato: <título do livro> - <autor> api: [link] especificação: [link] se o swagger não abrir, na raiz sber-c55-books-mock-1.0.1-oas3.1-resolved.yaml const PAGE_SIZE = 10; export default function App() { const [books, setBooks] = useState([]) const [page, setPage] = useState(1); const [loading, setLoading] = useState(false) useEffect(() => { setLoading(true); fetch('[link]') .then((res) => res.json()) .then((data) => { setBooks(data); setLoading(false); }) .catch(() => setLoading(false)); }, [page]); const totalPage = Math.ceil(books.length / PAGE_SIZE); const start = (page - 1) * PAGE_SIZE; const currentBooks = books.slice(start, start + PAGE_SIZE); return ( <div className="App"> {loading && <p>Carregando...</p>} <ul> {currentBooks.map((book, index) => ( <li key={index}>{book.title} - {book.author}</li> ))} </ul> <div> <button disabled={page === 1} onClick={() => setPage(page - 1)}> Anterior </button> <button disabled={page === totalPage} onClick={() => setPage(page + 1)}> Próximo </button> </div> </div> ); } Corrija erros e implemente a exibição de uma lista paginada de livros com autores.
Como se pode resolver o problema com o estado comum isOpen para vários nós? Existe uma opção ainda mais elegante?
Que projetos teve que projetar — do zero ou grandes blocos arquitetônicos?
Como é que a replicação da base de dados (master-slave) vai funcionar? Como é que o load balancer vai direcionar as solicitações para diferentes servidores com bases de dados diferentes?