Java мок-интервью: коллекции, JVM и observability
Кандидат отвечает на вопросы о BigDecimal, коллекциях, конкурентности, Hibernate, Kafka и диагностике сервисов.
- Опубликовано на YouTube:
- Просмотры на YouTube: 2,4 тыс.
- Лайки на YouTube: 47
Таймлайн
Коротко о видео
В Java мок-интервью кандидат с небольшим опытом отвечает на вопросы о BigDecimal, неизменяемых списках, record и Optional. Затем интервьюер проверяет HashMap, TreeSet, ConcurrentHashMap, Stream API и обработку исключений. Большой блок посвящён многопоточности: volatile, CAS, AtomicInteger, ReentrantLock и virtual threads. Далее участники разбирают утечки памяти, heap dump, GC-паузы и метрики через Actuator и Prometheus. В разговоре о данных звучат N+1 в Hibernate, EXPLAIN ANALYZE и B-tree, а в инфраструктурной части — circuit breaker, retry, Docker, Testcontainers, Kafka lag и distributed tracing. Кандидат ищет стажировку, но в финале интервьюер оценивает его как middle minus и рекомендует фундаментально проработать темы.
Затронутые темы
Что взять на заметку
- BigDecimal.equals() учитывает scale, поэтому для числового сравнения используют compareTo().
- volatile гарантирует видимость, но не делает операцию инкремента атомарной.
- N+1 в Hibernate ищут по фактическим запросам и устраняют JOIN FETCH, EntityGraph или изменением запроса.
- Consumer lag показывает отставание потребителя и помогает принять решение о масштабировании или оптимизации обработки.
- EXPLAIN ANALYZE нужен для проверки реального плана и причин, по которым PostgreSQL не выбрал индекс.