Задумываешься о переходе в Fullstack? Вот полный список вопросов с недавнего собеседования в Evrone, чтобы про…
Задумываешься о переходе в Fullstack? Вот полный список вопросов с недавнего собеседования в Evrone, чтобы проверить готовность.
На сколько вопросов ответили бы?
1. Расскажи, пожалуйста, про
реляционные базы
данных в целом.
2. Сталкивался ли ты с проблемами, когда нужно было сделать денормализацию или наоборот? (
Habr
,
Clickhouse
) У тебя третья нормальная форма, у тебя тяжелая нагрузка на СУБД. Тебе может помочь денормализация или нет? Как именно?
3. Ты раскатываешь новую фичу на тестовый стенд и от этого ложится тестовый стенд. Что будешь делать?
4. Что случилось с базой? Накатились миграции. База в изменённом состоянии — как понять что произошло и как реанимировать? (
Habr
)
5. Откатили миграцию, всё ожило. Фичу надо выкатить — что будешь делать дальше, если просто накатить снова, всё повторится?
6. Ты выяснил через
EXPLAIN ANALYZE
, что у тебя неоптимальные запросы. Какие наиболее частые причины неоптимальности запросов?
7. Чем
JSON и JSONB
отличаются в PostgreSQL?
8. JSONB имеет бинарный формат. Что это позволяет сделать конкретно по столбцу?
9. Агрегирующие функции (
SUM, COUNT
и т.д.) — где их можно использовать в SQL-запросе? В чём разница между
WHERE и HAVING
при использовании агрегирующих функций?
10. Деплоишь код, с базой всё в порядке, процессор не загружен, но запросы через REST API выполняются последовательно, как будто один за одним. Что может быть не так с конфигурацией подключения к БД?
11. Node.js однопоточная или нет? Сколько потоков может занять исполняемый файл Node.js и почему? Что такое
libuv
и как он связан с event loop?
12. Как ты понимаешь асинхронность в Node.js? Что такое microtask queue и macrotask queue?
13. Можно ли зависнуть Node.js со стороны JavaScript/V8, не используя бесконечный цикл while(true)? Как сделать так, чтобы очередь промисов никогда не опустела?
14. TypeScript: что такое
Omit и Pick
? В чём разница между union и intersection типами? Что произойдёт если передать intersection тип в Omit?
15. В чём разница между
interface и type
в TypeScript? Зачем нужны интерфейсы если есть типы и наоборот?
16. Для чего нужен
абстрактный класс
? Что произойдёт если разработчик напишет ts-ignore и не реализует методы абстрактного класса?
17. Микросервисы: как реализовывать распределённые транзакции через несколько микросервисов с возможностью отката? Что такое
Saga
и
Outbox
паттерны?
Мы сохранили точный порядок вопросов и формулировки, в которых они задавались.
Если нужно подготовиться к собеседованиям на фронт/фулстек, и быть готовым защитить теорию на сложных и незнакомых темах на собеседовании, пиши
@codepunks_bro
.
Мы не только подготовимся к теории и задачам, но и сопровождаем на каждом собеседовании вплоть до зафиксированного результата (оффер, прохождение сб).
Keep moving
✊
Откликнуться в Telegram →
⚠️ Никогда не платите «за оформление» или «гарантию трудоустройства» — это признак мошенников. Работа ТРУ не несёт ответственности за содержание вакансии.