Вернуться в видеотекуСобеседование на JUNIOR RUBY-разработчика / RoR-разработчик
Публичное учебное интервью на позицию Junior Ruby/RoR-разработчика. Кандидат отвечает на вопросы по Rails, базам данных, алгоритмам, тестам, Git и рабочим практикам, а интервьюер уточняет и разбирает ответы.
- Направление
- Backend
- Формат
- Мок-собеседование
- Компания
InSales- Грейд
- Junior
- Длительность
- 1 ч 15 мин
Коротко о видео
Учебное публичное собеседование Junior Ruby-разработчика Александра Илларионова с Senior RoR-разработчиком Василием Федосеевым. Вопросы охватывают Ruby on Rails, полный путь веб-запроса, фоновые задачи, транзакции и блокировки PostgreSQL, индексы, структуры данных, тестирование, Git и объектную модель Ruby. В финале обсуждаются рабочая мотивация, code review, выбор ОС, вопросы к работодателю и состояние найма в российских ИТ-компаниях.
Затронутые темы
Что взять на заметку
- Для подготовки к Ruby/Rails-интервью нужно уметь связно объяснить путь запроса: браузер и TCP/IP, HTTP/TLS, reverse proxy, Rack, routing, контроллер и рендеринг.
- Отправку писем и другие долгие внешние операции не стоит выполнять синхронно в контроллере: задачу нужно надёжно сохранять и обрабатывать отдельным воркером.
- При нескольких воркерах нужно продумать атомарное захватывание задач, блокировки строк, гонки и deadlock; две транзакции, удерживающие разные записи и ожидающие друг друга, образуют взаимную блокировку.
- Индексы ускоряют чтение, включая диапазонные запросы для древовидных индексов, но увеличивают стоимость вставок, обновлений и удалений; индексировать каждое поле без разбора нагрузки не следует.
- Не стоит прятать бизнес-операции вроде регистрации и постановки письма в универсальные model callbacks: безопаснее выделять сервисный слой и учитывать момент коммита транзакции.
- Тесты следует проектировать от ожидаемого поведения; 100% line coverage не является самоцелью, особенно если инструмент считает декларативный код покрытым без реального запроса.