Hattest du schon einmal die Erfahrung, ohne Analysten zu arbeiten, wenn du die Aufgabe selbst verstehen musstest?
Frontend
Was ist WeakMap?
Wie verstehst du, was ein Render in React ist? Warum kann es passieren?
import React, { useState, useEffect, useRef, useContext, useReducer, useMemo } from 'react'; export default Effects = () => { const [count, setCount] = useState(0); useLayoutEffect(() => console.log("jeder Render 1")); console.log("jeder Render 2"); useEffect(() => console.log("jeder Render 3")); return ( <> <button onClick={() => setCount((prevProps) => ++prevProps)}> Erhöhen </button> </> ) }
Welche Einstellungen gibt es bei Cookies (httpOnly, secure, expires, domain, path)?
const { foo: bar, bar: foo } = { foo: 1, bar: 2 } console.log(bar) // console.log(foo) //
const obj = [{ value: 1, elems: [ { value: 2, elems: [ { value: 3 }, { value: 6 }, ... ] }, { value: 4, elems: [ { value: 5, elems: [ { value: 6 }, ... ]} ] } ] }] ------------- setTimeout(() => { console.log(1); }, 0); const p = new Promise(resolve => { console.log(2); resolve(); }); p.then(() => { console.log(3) }).then(() => { console.log(4); }); console.log(5);
const createCounter = () => {
Erzähle mir vom Event Loop: Wie funktioniert er, was sind Mikroaufgaben und Makroaufgaben?
Wie vergleicht React Props? Wie funktioniert der Oberflächensvergleich?
import { useState, useRef, useEffect } from "react"; const useDebugRender = ({props}) => { const prevProp = useRef(props) useEffect(() => { }, []) } const ParentComponent = () => { const [random, setRandom] = useState(0); // Wird als Prop an die Kindkomponente übergeben const [text, setText] = useState(""); // Wird als Prop an die Kindkomponente übergeben 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); // Diese Funktion wird als Prop an die Kindkomponente übergeben return ( <> <Count: {count} /> <input type="text" onChange={onTextChange} /> <button onClick={createRandom}>Zufall generieren</button> <div> <ChildComponent random={random} text={text} incrementCount={incrementCount} /> </div> </> ); }; export default ParentComponent;
Warum debounce und nicht throttle für die Suche?
Wofür ist useRef? Was sind seine Anwendungsbereiche?
Wenn die Elterkomponente ein neues Array als Props übergibt, siehst du die neuen Daten auf dem Bildschirm oder die alten? Warum?
Typisiere die Funktion getParam so, dass TypeScript automatisch die Eigenschaften im Objekt hervorhebt. Stelle sicher, dass die Typisierung das Übergeben von Arrays verhindert.
const { foo: bar, bar: foo } = { foo: 1, bar: 2 }; //foo //bar setTimeout(() => { console.log("timeOut"); }, 0); console.log(1); new Promise((resolve) => { console.log("Promise"); setTimeout(() => { console.log("timeOut2"); resolve(); }, 0); }) .then(() => { console.log("then1"); }) .then(() => { console.log("then2"); }); console.log(4); setTimeout(() => { console.log("timeOut3"); }, 0);
const submit = useCallback((el) => () => { log(el); }, []); arr.map(el => <button onClick={submit(el)} />) arr.map(el => <SomeComp key={} onClick={() => submit(el)} />) const param = useMemo(() => ({c: a + b}), [a,b]) return <Child value={param} /> Child = React.memo(() => {})
const Effects = () => { const [count, setCount] = useState(0); useLayoutEffect(() => console.log("jeder Render 1")); console.log("jeder Render 2"); useEffect(() => console.log("jeder Render 3")); return ( <> {count} <button onClick={() => setCount((prevProps) => ++prevProps)}> Erhöhen </button> </> ); }; export default Effects; // 1 Render: // Nach Klick: const Effects = () => { const [count, setCount] = useState(0); const [number, setNumber] = useState(0); useEffect(() => { console.log(count); return () => { console.log(count); }; }); return ( <> {count} <button onClick={() => setCount((prevProps) => ++prevProps)}> Erhöhen </button> </> ); }; export default Effects; // 1. Render: // 2 1 3 // Nach Klick: // 2 1 3 // return null: // 2 1 3 // // 1: 1, 0 // +: 1, 2 // ++: 2, 2
Was ist der Unterschied zwischen await p1, await p2 und Promise.all([p1, p2])?
let obj = { a: 1 }; let array = [obj]; obj = null; console.log(obj); // console.log(array); //