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+
169

Какво се случва след като потребителят въведе URL в браузъра и натисне Enter – до изобразяването на страницата на екрана?

Middle+
164

Защо използвахте персонализирано решение за графики вместо готови библиотеки (например, Grafana)?

Middle+
147

Работили ли сте по оптимизацията на зареждането на страниците и по метриките Web Vitals (LCP, FMP, FCP)?

Middle+
145

Каква е разликата между атрибутите async и defer в таговете script? Как те влияят на зареждането и изпълнението на JavaScript?

Middle+
143

Как беше организиран CI/CD? Използвахте ли GitLab pipeline или нещо отделно?

Middle+
143

Как беше организирано вашето тестване? Какви инструменти бяха използвани (Jest, Playwright)?

Middle+
141

Колко често участвахте в производството и каква беше вашата роля в този процес?

Middle+
133

Има банкомат с банкноти с определени номинали. Потребителят избира сумата пари, която иска да получи. Банкоматът трябва да даде въведената от потребителя сума с минимален брой банкноти. Напишете функцията на банкомата. function atm(notes, sum) { } // atm([1, 5, 50, 100], 362) => [100,100,100,50, 5, 5, 1, 1]

Middle+
103