Frontend
Dans quel délai sont-ils prêts à commencer le travail?
Pourquoi ne peut-on pas modifier l'état directement dans React ? Par exemple, state.count = 5.
// Créer un type qui contient les mêmes champs que Delivery, // mais tous les champs sont optionnels (peuvent avoir la valeur undefined) et ne peuvent pas changer leurs valeurs.
Parlez-nous de l'utilisation de NX dans le projet et pourquoi il a été choisi
Parlez-nous de la différence fondamentale entre Angular en tant que framework et React en tant que bibliothèque.
Quelle approche React utilise-t-il : impérative ou déclarative ? Quelle est la différence ?
Comment fonctionne la déstructuration des valeurs réactives dans Vue et comment préserver la réactivité lors de la déstructuration?
Parlez-moi de votre expérience professionnelle : dans quelles équipes avez-vous travaillé, quels postes avez-vous occupés, quels cas étaient liés à la conception d'architectures et à la prise de décisions techniques?
Parlez de votre expérience en revue de code. Sur quoi vous concentriez-vous ? Quelles erreurs fréquentes avez-vous rencontrées ?
Comment résoudre la tâche withTimeout de manière alternative via Promise.race ? Qu'est-ce que Promise.race, en quoi diffère-t-il de Promise.all ?
Qu'est-ce que les attaques XSS?
À quoi servent les portails en React?
Connaissance des bases de données et travail avec les API
Qu'est-ce que la reconciliation dans React?
Parlez de Promise : états, méthodes statiques (all, allSettled, any, race).
Obtenir des données sur les livres et leurs auteurs. Afficher les données sous forme de liste paginée de 10 livres par page au format : <titre du livre> - <auteur> api : [lien] spécification : [lien] si swagger ne s'ouvre pas, dans la racine 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('[lien]') .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>Chargement...</p>} <ul> {currentBooks.map((book, index) => ( <li key={index}>{book.title} - {book.author}</li> ))} </ul> <div> <button disabled={page === 1} onClick={() => setPage(page - 1)}> Précédent </button> <button disabled={page === totalPage} onClick={() => setPage(page + 1)}> Suivant </button> </div> </div> ); } Corrigez les erreurs et implémentez l'affichage d'une liste paginée de livres avec leurs auteurs.
Qu'est-ce qui vous intéresse le plus : améliorer des projets existants, développer de nouvelles fonctionnalités, interagir avec le backend ou travailler sur l'optimisation ?
Explique comment fonctionne la boucle d'événements : qu'est-ce que les micro-tâches, macro-tâches et leur priorisation.
Il y a un composant React avec un input. Nous cliquons sur le bouton «Afficher l'input» et l'input apparaît, mais il ne reçoit pas le focus. Il faut corriger cela. Propose autant de solutions que possible.
Comment la réplication de la base de données (maître-esclave) fonctionnera-t-elle ? Comment le répartiteur de charge dirigera-t-il les requêtes vers différents serveurs avec différentes bases de données ?