Java мок-интервью: схема БД, Kafka и транзакции
Кандидат проектирует БД интернет-магазина и отвечает о PostgreSQL, Kafka, Java-конкурентности и Hibernate.
ШОРТКАТ — менторская программа
Открыть на YouTube- Опубликовано на YouTube:
- Просмотры на YouTube: 1,1 тыс.
- Лайки на YouTube: 10
Таймлайн
Коротко о видео
В live-интервью кандидат после рассказа о переходе из C и PHP проектирует базу данных интернет-магазина. Они вместе определяют таблицы users, products, prices, orders, orders_products и transactions, историю цен, внешние ключи и типы полей. После схемы интервьюер проверяет индексы, CREATE INDEX CONCURRENTLY, MVCC, VACUUM, WAL, уровни изоляции и SELECT FOR UPDATE. Далее кандидат отвечает о гарантиях Kafka, партициях и идемпотентности, volatile, CAS и virtual threads. Завершает техническую часть Hibernate: JDBC/JPA, @Transactional, N+1 и способы его устранения, а также Saga и readiness probe после деплоя.
Затронутые темы
Что взять на заметку
- Историю цены следует хранить отдельно от карточки товара с периодом действия записи.
- Функция над колонкой в WHERE может помешать использованию обычного индекса.
- At-least-once обработка Kafka требует дедупликации или идемпотентного обработчика.
- volatile обеспечивает видимость, тогда как CAS и синхронизация решают атомарные изменения.
- N+1 устраняют после наблюдения запросов через JOIN FETCH, EntityGraph или корректный запрос.