Papaskinkite apie įdomiausią užduotį arba įdomiausią klaidą viename iš jūsų paskutinių dviejų darboviečių.
Frontend
/** * Patikrina, ar skliausteliai yra subalansuoti eilutėje ar ne. * Skliausteliai, kurie gali pasitaikyti eilutėje: * [[{ ir }]] * @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; }
Kas vyksta po to, kai vartotojas įveda URL į naršyklę ir paspaudžia Enter, iki puslapis yra atvaizduojamas ekrane?
Kodėl naudojote individualų sprendimą grafikams vietoj paruoštų bibliotekų (pvz., Grafana)?
Kaip buvo organizuotas CI/CD? Naudojote GitLab pipeline ar kažką atskirai?
Ar dirbote puslapio įkėlimo optimizavimu ir Web Vitals metrikomis (LCP, FMP, FCP)?
Kuo skiriasi async ir defer atributai script žymėje? Kaip jie veikia JavaScript įkėlimą ir vykdymą?
Kaip dažnai dalyvavote gamyboje ir koks buvo jūsų vaidmuo šiame procese?
Kaip buvo organizuotas testavimas? Kokius įrankius naudota (Jest, Playwright)?
Yra automatinis bankomatas su tam tikrų nominalų banknotais. Vartotojas pasirenka norimą gauti sumą. Automatinis bankomatas turi grąžinti vartotojo įvestą sumą su mažiausiu banknotų skaičiumi. Parašykite bankomato funkciją. function atm(notes, sum) { } // atm([1, 5, 50, 100], 362) => [100,100,100,50, 5, 5, 1, 1]