Mock-Собеседование на позицию Java Junior Developer. Часть 2
Запись мок-собеседования Java Junior, посвящённая SQL и Spring. Интервьюер задаёт теоретические вопросы, даёт SQL-задачу и в конце разбирает ответы кандидата.
Программист живет нормально
Открыть на YouTube- Опубликовано на YouTube:
- Просмотры на YouTube: 2 тыс.
- Лайки на YouTube: 59
Таймлайн
Коротко о видео
Вторая часть мок-собеседования на позицию Java Junior Developer: интервьюер проверяет SQL и Spring кандидата Феликса. В SQL обсуждают JOIN, различия WHERE и HAVING, задачу на поиск повторяющихся имён, индексы, цену вставок в индексированные таблицы, а также partitioning и EXPLAIN. В Spring кандидат отвечает о scope бинов, prototype, стереотипных аннотациях, Controller/RestController, @Bean и способах конфигурации; в конце получает обратную связь и задаёт вопрос о многопоточности.
Затронутые темы
Что взять на заметку
- Повторить семантику JOIN на примере таблиц сотрудников и зарплат, особенно LEFT JOIN для сохранения сотрудников без записи о зарплате.
- Уметь объяснить, что WHERE фильтрует строки до группировки, а HAVING — результаты после GROUP BY.
- Для поиска повторов подготовить запрос с GROUP BY по имени и HAVING COUNT(*) >= 2; в SELECT нужно вывести само имя, а не только количество.
- Разобраться в компромиссе индексов: они ускоряют чтение, занимают место и замедляют INSERT/UPDATE из-за поддержки индексной структуры.
- Изучить назначение EXPLAIN и partitioning: кандидат прямо сказал, что не пользовался EXPLAIN и не знает partitioning.
- Закрыть Spring-темы: scope singleton/prototype и scope по умолчанию, практический сценарий prototype, отличие @Component/@Service/@Repository/@Controller, @RestController и @Bean.
- Подготовиться объяснять многопоточность веб-приложения: параллельные запросы к контроллеру обрабатываются отдельными потоками, хотя явные synchronized и переменные синхронизации разработчик может не использовать.