Техническое собеседование на Node.js/TypeScript с вопросами по SQL, PostgreSQL, Docker, JavaScript, NestJS и архитектуре, а также двумя алгоритмическими задачами. Завершается презентацией проектов и условий работы в СберСервисе.
Полная запись технического интервью на Node.js/TypeScript: кандидат рассказывает о фриланс-проектах, Telegram-ботах, интернет-магазинах и панели для игровых серверов, затем отвечает на вопросы по базам данных, JavaScript, NestJS и архитектуре. В практической части обсуждаются решение проверки палиндрома и поиск непрерывных числовых последовательностей в массиве. В финале представители СберСервиса рассказывают о проектах, технологическом стеке, тестировании, формате задач и гибком графике для студентов.
Подготовьте SQL-базу: виды JOIN, агрегатные функции, транзакции и уровни изоляции, индексы, первичные и составные ключи, self join, а также различия между DELETE и TRUNCATE.
Нужно уметь объяснить эксплуатационные аспекты PostgreSQL: репликацию, распределение нагрузки, назначение инфраструктурных компонентов и хранение данных БД в Docker volumes.
Для базы в контейнере важно разделять контейнеры приложения и БД; размещение приложения, балансировщика и БД в одном контейнере интервьюер называет антипаттерном.
Повторите JavaScript на уровне понятий: нестрогое и строгое сравнение, Promise и асинхронность, this в обычных и стрелочных функциях, apply/bind, Array.prototype.map и reduce.
На лайвкодинге ожидаются не только идеи, но и обработка условий задачи: у палиндрома нужно игнорировать регистр и пунктуацию, а для массива вернуть все непрерывные последовательности чисел с шагом +1, включая граничные случаи.
Подготовьте объяснение DI в NestJS и разделения бизнес-логики с фреймворком через абстракции или обёртки, чтобы смена инфраструктурного фреймворка не затрагивала прикладной код.
По словам представителей СберСервиса, в задачах ожидаются тесты; новичкам могут давать небольшие багфиксы и функции, а затем более составные изменения в нескольких сервисах.