Sobes.tech

Frontend

Opowiedz o najciekawszym zadaniu lub najciekawszym błędzie w jednym z twoich ostatnich dwóch miejsc pracy.

Middle+
165

/** * Sprawdza, czy nawiasy są zrównoważone w ciągu znaków, czy nie. * Nawiasy, które mogą wystąpić w ciągu: * [[{ i }]] * @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+
160

Co się dzieje po tym, jak użytkownik wpisze URL w przeglądarce i naciśnie Enter, aż do wyrenderowania strony na ekranie?

Middle+
151

Dlaczego użyliście własnego rozwiązania do wykresów zamiast gotowych bibliotek (np. Grafana)?

Middle+
138

Jak był zorganizowany CI/CD? Używaliście pipeline GitLab czy czegoś oddzielnego?

Middle+
133

Czym różnią się atrybuty async i defer w tagu script? Jak wpływają na ładowanie i wykonywanie JavaScript?

Middle+
132

Czy pracowałeś nad optymalizacją ładowania stron i metryk Web Vitals (LCP, FMP, FCP)?

Middle+
130

Jak często uczestniczyłeś w produkcji i jaka była Twoja rola w tym procesie?

Middle+
125

Jak zorganizowano testowanie? Jakie narzędzia były używane (Jest, Playwright)?

Middle+
123

W bankomacie są banknoty o określonych nominałach. Użytkownik wybiera kwotę pieniędzy, którą chce otrzymać. Bankomat powinien wydać wprowadzoną przez użytkownika sumę minimalną liczbą banknotów. Napisz funkcję bankomatu. function atm(notes, sum) { } // atm([1, 5, 50, 100], 362) => [100,100,100,50, 5, 5, 1, 1]

Middle+
95