Sobes.tech

Frontend

Tâche situationnelle : le téléchargement synchrone de gros fichiers XML a entraîné une surcharge CPU-bound, des délais d'attente et des déconnexions. Comment modifier l'interaction entre frontend et backend pour que le serveur gère le flux et que l'utilisateur voit la progression ?

96

Tâche situationnelle : vous devez créer une page pour télécharger des fichiers XML à partir de zéro, le serveur les traite avec des tâches CPU-bound pendant longtemps et renvoie un protocole. Quelles sont vos premières démarches avant d'écrire du code ?

80

import { useEffect, useState } from "react"; export const TaskList = ({ api, filter }) => { const [tasks, setTasks] = useState([]); const [newTitle, setNewTitle] = useState(""); useEffect(() => { api.getTasks(filter).then((res) => setTasks(res)); const interval = setInterval(() => { api.getTasks(filter).then((res) => setTasks(res)); }, 3000); }, [filter, api]); const addTask = () => { tasks.push({ id: Date.now(), title: newTitle, status: "active" }); setTasks(tasks); setNewTitle(""); }; return ( <div style={{ padding: 10 }}> <input value={newTitle} onChange={(e) => setNewTitle(e.target.value)} /> <button onClick={addTask}>Add Task</button> <div>Active: {tasks.filter((t) => t.status === "active").length}</div> <ul> {tasks.map((task) => ( <li key={task.title} style={{ color: task.status === "done" ? "gray" : "black" }} > {task.title} </li> ))} </ul> </div> ); };

74

Il existe un composant similaire pour travailler avec les dates qui couvre 90% des besoins mais diffère dans les props et contient des styles codés en dur. Comment procéderiez-vous?

70

Si des conflits avec le code d'un autre développeur sont trouvés lors de la création d'une merge request, que ferez-vous et comment minimiserez-vous ces conflits à l'avenir?

70
/2