Sobes.tech

Frontend

Situationsaufgabe: Das synchrone Hochladen großer XML-Dateien führte zu CPU-bound-Überlastung, Timeouts und Verbindungsabbrüchen. Wie ändern Sie die Interaktion zwischen Frontend und Backend, damit der Server den Datenfluss bewältigt und der Benutzer den Fortschritt sieht?

102

Situationsaufgabe: Sie müssen eine Seite zum Hochladen von XML-Dateien von Grund auf neu erstellen, der Server verarbeitet sie mit CPU-bound-Aufgaben über einen längeren Zeitraum und gibt ein Protokoll zurück. Was sind Ihre ersten Schritte vor dem Schreiben des Codes?

80

Es gibt eine ähnliche Komponente für die Arbeit mit Daten, die 90% der Bedürfnisse abdeckt, aber sich in Props unterscheidet und fest codierte Stile enthält. Wie würden Sie vorgehen?

78

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
/2