Frontend
Při testování váš tým testerů a vývojářů pokrývá kód jednotkovými testy? Vývojáři také píší integrační a end-to-end testy?
Úloha FizzBuzz: implementujte program, který pro čísla od 1 do N vypíše 'Fizz', pokud je číslo dělitelné třemi, 'Buzz', pokud je dělitelné pěti, a 'FizzBuzz', pokud je dělitelné patnácti, jinak vypíše samotné číslo.
Úkol 2: Vzhledem k několika deklaracím rozhraní Todo níže, vysvětlete, co se stane, když jsou přítomny ve stejném rozsahu. Diskutujte o tom, jak s nimi TypeScript zachází, a doplňte objekt `myTodo`, aby splňoval požadavky sloučeného rozhraní Todo. ```typescript interface Todo { title: string; dueDate: Date; } interface Todo { description: string; completed: boolean; } interface Todo { priority: 'high' | 'medium' | 'low'; completed: string; } const myTodo: Todo = {}; ```
Jak vidíš svůj další rozvoj a růst?
Máte v projektu testy — jednotkové, e2e?
Co je to React Context, kdy ho používat a kdy je lepší správce stavu?
Použili jste React Toolkit — včetně RTK Query? Znáte Tanstack Query?
Jaké metody existují pro přidání prvku do pole?
Pokud klient aktualizuje stránku, ukládali jste data nebo je resetovali? Použili jste Local Storage?
Jaké jsou potenciální bezpečnostní obavy při používání JSONP a jak je řeší CORS?
Uživatel klikl tlačítko, přišel velký objem dat ze serveru a obrazovka zamrzla. Čím to mohlo být způsobeno a jak problém vyřešit?
Pověz o vzniku a zániku událostí.
Můžeš popsat nějaký konkrétní případ optimalizace, kterou jsi nedávno udělala a který ti utkvěl v paměti?
Praktický úkol: napište TypeGuard pro určení typu zvířete (Pes nebo Kočka)
Čím se zabýval od roku 2013 do 2020, když přišel na vývoj?
Jaký je rozdíl mezi div a span z hlediska rozvržení?
Proč jste nepoužili localForage nebo jiný obal nad IndexedDB?
Pracoval jste s Vue Routerem? Povíte mi o navigačních hookách Vue Routeru.
Existuje pole s 200 ID. Pro každý je třeba zavolat /api/users/:id. Napiš funkci, která provádí požadavky, ale ne více než N najednou, a vrací výsledky v pořadí vstupního pole.
import React, { useState, useEffect, useRef, useContext, useReducer, useMemo, me const someFunc = (arr) => { return [...arr].sort((a, b) => a - b); }; const LazyInit = (props) => { const [arr, setArr] = useState(someFunc(props.arr)); const onClick = () => { setArr((prev) => prev.concat(prev.length + 1)) } return ( <> <button onClick={onClick}> Zvýšit </button> <ul> {arr.map((n, index) => <li key={index}>{n}</li>)} </ul> </> ) } export default () => <LazyInit arr={[1, 2, 3]} />;