Povedaj mi o najzaujímavejšej úlohe alebo najzaujímavejšej chybe na jednom z tvojich posledných dvoch pracovísk.
Frontend
/** * Kontroluje, či sú zátvorky v reťazci vyvážené alebo nie. * Zátvorky, ktoré sa môžu vyskytnúť v reťazci: * [[{ a }]] * @param {string} str * @return {boolean} */ function parentheses(str) { const open = ['(', '[', '{']; const close = [')', ']', '}']; const stack = []; for (let i = 0; i < str.length; i++) { const letter = str[i]; if (open.includes(letter)) { stack.push(letter); } else if (close.includes(letter)) { const index = close.indexOf(letter); const lastOpenIndex = stack.length - 1; if (open[index] !== stack[lastOpenIndex]) { return false; } else { stack.splice(lastOpenIndex, 1); } } } return stack.length === 0; }
Čo sa deje po tom, ako používateľ zadá URL do prehliadača a stlačí Enter – až po vykreslenie stránky na obrazovke?
Prečo ste použili vlastné riešenie pre grafy namiesto hotových knižníc (napríklad Grafana)?
V čom spočívajú rozdiely medzi atribútmi async a defer v tagu script? Ako ovplyvňujú načítanie a vykonávanie JavaScriptu?
Ako bol organizovaný CI/CD? Používali ste GitLab pipeline alebo niečo iné?
Pracovali ste na optimalizácii načítania stránok a metrík Web Vitals (LCP, FMP, FCP)?
Ako bola organizovaná vaša testovanie? Aké nástroje boli použité (Jest, Playwright)?
Ako často ste sa zúčastnili výroby a aká bola vaša úloha v tomto procese?
Existuje bankomat s bankovkami daných nominálnych hodnôt. Používateľ si vyberá sumu peňazí, ktorú chce dostať. Bankomat by mal vydávať zadanú sumu minimálnym počtom bankoviek. Napíšte funkciu bankomatu. function atm(notes, sum) { } // atm([1, 5, 50, 100], 362) => [100,100,100,50, 5, 5, 1, 1]