Frontend
import { useState, useRef, useEffect } from "react"; const useDebugRender = ({props}) => { const prevProp = useRef(props) useEffect(() => { }, []) } const ParentComponent = () => { const [random, setRandom] = useState(0); // Se transmite como Prop al componente hijo const [text, setText] = useState(""); // Se transmite como Prop al componente hijo 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); // Esta función se transmite como Prop al componente hijo return ( <> <Count: {count} /> <input type="text" onChange={onTextChange} /> <button onClick={createRandom}>Generar aleatorio</button> <div> <ChildComponent random={random} text={text} incrementCount={incrementCount} /> </div> </> ); }; export default ParentComponent;
Koje obrasce dizajna poznajete i koristili ste u svom radu?
Kako atributi defer i async utiču na učitavanje i izvršavanje skripti, i kako još možemo izbeći blokiranje parsiranja HTML od strane skripti?
Kako funkcionišu generatori u JavaScript-u u poređenju sa običnim funkcijama?
Да ли сте икада радили са Blob-ом? Како креирати линк за преузимање динамички генерисане датотеке?
Да ли имате искуство са ModernJS?
Можеш ли да објасниш разлику између оператора switchMap и mergeMap?
/** * Funkcija `asyncAuth(callback)` prihvata callback, u koji * može biti prosleđena greška (kao prvi argument) i podaci * sa backend-a (kao drugi argument). * asyncAuth((error, data) => {}); * * Potrebno je implementirati funkciju `auth()`, * koja poziva `asyncAuth()`, ali vraća Promise. * * @returns {Promise} */ export function auth() { // asyncAuth((error, data) => {}); } /** * Funkcija `tryAuth()` koristi `auth()` i, u slučaju greške, * pravi N dodatnih pokušaja. * Ako svi pokušaji ne uspeju, baca poslednju grešku. * * @returns {Promise} */ export function tryAuth(n) { }
// Dobijate niz sastavljen od latiničnih slova, razmaka i interpunkcijskih znakova. // Niz se naziva pangram ako sadrži bar jednom svako od 26 latiničnih slova. // Odredite da li je niz pangram. const LETTERS = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']; function isPangram(text) { // vaš kod ovde } console.log(isPangram('A pangram or holoalphabetic sentence is a sentence using every letter of a given alphabet at least once.')); // -> false console.log(isPangram('Waltz, bad nymph, for quick jigs vex.')); // -> true
Pregled Nuxt mixina 2 - slušač promene veličine ```javascript export default { data() { return { width: 0 } }, mounted() { window.addEventListener('resize', this.onResize) this.onResize() }, methods: { onResize() { this.width = window.innerWidth } } } ```
Koje probleme vidite sa globalnim objektom window.handlers i konfliktima rukovalaca događaja?
Koje metode postoje za rad sa kontekstom (this)? Koja je potpis funkcije call? Čime se call razlikuje od apply?
Да ли имате искуства са коришћењем Set и Map? У којим случајевима су их одабрали?
Čime se tag section razlikuje od tag-a article? Koje zahteve postavlja specifikacija za ove tagove?
Zadatak zatvaranja: šta će prikazati kod sa var u petlji i kako to popraviti?
Да ли сте радили у канцеларији или у хибридном формату?
Zašto menjate svoj trenutni posao?
Kako CORS i CSP utiču jedno na drugo?
const customMap = (array, transform) => { // nešto poput array.map(transform); }; const stringResults = customMap([1, 2, 3], item => item.toString()); const lengths = customMap(["zdravo", "svet"], item => item.length);
Koji još interesantni scenariji korišćenja Redis-a poznajete ili ste primenjivali?