Sobes.tech

Frontend

Պատմեք ամենագեղեցիկ առաջադրանքի կամ ամենագեղեցիկ սխալի մասին ձեր վերջին երկու աշխատանքի մեկում։

Middle+
173

/** * Ստուգում է, արդյոք փակագծերը հավասարակշռված են տողում կամ ոչ: * Փակագծերը, որոնք կարող են հանդիպել տողում: * [[{ և }]] * @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; }

Middle+
171

Ի՞նչ է տեղի ունենում, երբ օգտվողը մուտքագրում է URL-ը բրաուզերում և սեղմում է Enter, մինչև էջի պատկերը ցուցադրվի էկրանին։

Middle+
164

Ինչու եք օգտագործել հարմարեցված լուծում գրաֆիկների համար՝ փոխարեն պատրաստի գրադարանների (օրինակ՝ Grafana)?

Middle+
149

Ի՞նչ տարբերություն կա script տեգի մեջ async և defer հատկանիշների միջև: Ինչպե՞ս են դրանք ազդում JavaScript-ի բեռնման և կատարման վրա:

Middle+
145

Ինչպես էր կազմակերպված CI/CD-ը: Օգտագործեիք արդյոք GitLab pipeline կամ ինչ-որ այլ բան?

Middle+
145

Դու աշխատե՞լ ես էջերի բեռնման օպտիմալացման և Web Vitals մետրիկների (LCP, FMP, FCP) վրա։

Middle+
145

Ինչպես կազմակերպվեց փորձարկումը: Որ գործիքները օգտագործվեցին (Jest, Playwright)?

Middle+
143

Ինչ հաճախ եք մասնակցում արտադրությանը և ինչ էր ձեր դերը այդ գործընթացում?

Middle+
137

Կան ավտոմատ դրամապանակներ նշված նոմինալներով: Օգտագործողը ընտրում է այն գումարը, որը ցանկանում է ստանալ: Ավտոմատ դրամապանակը պետք է վերադարձնի օգտագործողի մուտքագրված գումարը նվազագույն քանակությամբ բանկնոտներով: Գրեք ավտոմատ դրամապանակի ֆունկցիան: function atm(notes, sum) { } // atm([1, 5, 50, 100], 362) => [100,100,100,50, 5, 5, 1, 1]

Middle+
107