Պատմեք ամենագեղեցիկ առաջադրանքի կամ ամենագեղեցիկ սխալի մասին ձեր վերջին երկու աշխատանքի մեկում։
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)?
Ի՞նչ տարբերություն կա script տեգի մեջ async և defer հատկանիշների միջև: Ինչպե՞ս են դրանք ազդում JavaScript-ի բեռնման և կատարման վրա:
Ինչպես էր կազմակերպված CI/CD-ը: Օգտագործեիք արդյոք GitLab pipeline կամ ինչ-որ այլ բան?
Դու աշխատե՞լ ես էջերի բեռնման օպտիմալացման և Web Vitals մետրիկների (LCP, FMP, FCP) վրա։
Ինչպես կազմակերպվեց փորձարկումը: Որ գործիքները օգտագործվեցին (Jest, Playwright)?
Ինչ հաճախ եք մասնակցում արտադրությանը և ինչ էր ձեր դերը այդ գործընթացում?
Կան ավտոմատ դրամապանակներ նշված նոմինալներով: Օգտագործողը ընտրում է այն գումարը, որը ցանկանում է ստանալ: Ավտոմատ դրամապանակը պետք է վերադարձնի օգտագործողի մուտքագրված գումարը նվազագույն քանակությամբ բանկնոտներով: Գրեք ավտոմատ դրամապանակի ֆունկցիան: function atm(notes, sum) { } // atm([1, 5, 50, 100], 362) => [100,100,100,50, 5, 5, 1, 1]