Соңғы екі жұмыс орныңыздың бірінде ең қызықты тапсырма немесе ең қызықты сәтсіздік туралы айтыңыз.
Frontend
/** * Жолда ашық және жабық жақшалардың тең балансында екенін тексереді. * Жолда кездесуі мүмкін жақшалар: * [[{ және }]] * @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; }
Пайдаланушы URL-ды браузерге енгізіп, Enter пернесін басқаннан кейін — беттің экранда көрсетілуіне дейін не болады?
Неліктен графиктер үшін дайын кітапханалар (мысалы, Grafana) орнына жеке шешімді қолдандыңыз?
CI/CD қалай ұйымдастырылды? GitLab pipeline немесе басқа бір нәрсе қолданылды ма?
Бет жүктеуін және Web Vitals көрсеткіштерін (LCP, FMP, FCP) оңтайландыру бойынша жұмыс істедіңіз бе?
Script тегіндегі async және defer атрибуттарының айырмашылығы неде? Олар JavaScript-тің жүктелуі мен орындалуына қалай әсер етеді?
Алдыңғы жобаларыңызда тестілеу қалай ұйымдастырылды? Қандай құралдар қолданылды (Jest, Playwright)?
Өнімділікке қаншалықты жиі шықтыңыз және бұл процесте сіздің рөліңіз қандай болды?
Белгілі номиналдағы банкноттар бар банкомат бар. Пайдаланушы алғысы келген ақша сомасын таңдайды. Банкомат енгізілген соманы ең аз банкнот санымен беруі керек. Банкомат функциясын жазыңыз. function atm(notes, sum) { } // atm([1, 5, 50, 100], 362) => [100,100,100,50, 5, 5, 1, 1]