Frontend
Каква е разликата между рендериране и рисуване? Как се нарича процесът на сравняване на виртуалното и реалното DOM дърво?
const { foo: [bar], bar: [{ baz: foo }] } = { foo: [1], bar: [{ baz: 3 }] } console.log(bar) // 1 console.log(foo) // 3
Какво е псевдо масивът arguments? Как се различава от обикновен масив?
Кои модели за разработка използвате (DRY, SOLID, GRASP, дизайн модели)?
Обработвал ли си ситуацията, когато indexOf връща -1 при използване в removeItem?
Какво е по-добре да използвате за превключвател с две състояния (вкл/изкл): toggle или checkbox?
Ако TLS криптира трафика, но злосторник прихване пакета и го изпрати отново на сървъра (атака с повторно изпращане), защо това няма да работи? Какво се случва при установяване на TLS връзка стъпка по стъпка?
Какви са основните принципи на ООП? Разкажи за принципите SOLID с думи на собственото си.
Какви подходи или библиотеки използвахте за оптимизиране на размера на пакета?
Какъв формат на работа предпочитате — хибриден или дистанционен?
Какво е useContext и защо не трябва да се използва вместо Redux/Zustand?
Кой изобщо трябва да вземе решение за отлагане на издаването?
Разкажи за FSD (Feature-Sliced Design) — какви бяха договореностите в екипа
Не се ли стартира функцията toggleInput преди това?
Разкажете повече за проекта в Цифриум: за кои модули отговаряха, как беше организирана функцията — къде бяха разположени endpoints, модели, бизнес логика, абонаменти?
Използвате ли AI агенти, като Cursor? Как се регулира/разрешава използването на AI инструменти в проекта?
Имали ли сте опит в писането на собствени UI библиотеки или компоненти библиотеки?
[име] попита: разкажете за своя опит и професионален опит.
Има два крайни точки: получаване на списък с потребители и получаване на потребител по ID. Как организираш типизирането на отговорите и работата с тези API?
/** * Масив от точки с цели координати (x, y) е даден. * Да се определи дали съществува вертикална права, * която дели точките на два симетрични спрямо тази права множества. * Забележка: За удобство точката може да бъде представена не като масив [x, y], а като обект {x, y}. */ isVertSym([[0, 0], [0, 0], [1, 1], [2, 2], [3, 1], [4, 0], [4, 0]]) // true isVertSym([[0, 0], [0, 0], [1, 1], [2, 2], [3, 1], [4, 0]]) // false isVertSym([]) // true isVertSym([[0, 0]]) // true isVertSym([[0, 0], [10, 0]]) // true isVertSym([[0, 0], [11, 1]]) // false isVertSym([[0, 0], [1, 0], [3, 0]]) // false function isVertSym(list) { // код тук }