Вернуться в видеотекуСобеседование на Java-разработчика: кодинг-тест, разработка REST API, алгоритмическая задача
Мок-интервью Java-разработчика с одновременным решением live-coding задачи: создание Spring REST API новостной ленты без базы данных. В ролике разбирают Java Core, Spring, структуру приложения, ошибки и итоговый фидбек кандидату.
- Направление
- Backend
- Формат
- Мок-собеседование
- Длительность
- 1 ч 38 мин
Коротко о видео
Это запись мок-интервью Java-разработчика в формате live coding: кандидат Василий проектирует и реализует in-memory REST API для новостной ленты на Spring. До практики он рассказывает о своём опыте с Java, Quarkus, MongoDB, Docker и GitLab CI/CD, затем отвечает на вопросы об ООП, коллекциях, Optional, Spring и обработке ошибок. В финале интервьюер разбирает решение и рекламирует менторскую программу ШОРТКАТ; это не реальное собеседование с конкретной компанией.
Затронутые темы
Что взять на заметку
- Для подобной задачи полезно сразу превратить ТЗ в контракт: сохранить пост пользователя, получить всю ленту и посты одного пользователя.
- Кандидат выбрал хранение вида username → список постов; при добавлении обсуждался ConcurrentHashMap и computeIfAbsent для создания списка нового пользователя.
- На собеседовании ООП проверяли не только определениями, но и через private-поля модели и доступ к ним через getter/setter как пример инкапсуляции.
- Отдельно разобрали, что результат Stream.toList() неизменяем; если вызывающему коду нужен изменяемый список, следует собирать его через Collectors.toCollection(ArrayList::new).
- Для REST-слоя обсуждались ResponseEntity, централизованный перехват ошибок через @ControllerAdvice, проверка null и пустых строк, а также различие Optional.of и Optional.ofNullable.
- Интервьюер отметил, что в production-контроллере лучше не возвращать entity напрямую: нужны DTO и слой маппинга; для собственной in-memory реализации репозитория потребовалась регистрация Spring bean через аннотацию компонента.