Вернуться в видеотеку

Мок-интервью Java: многопоточность и SQL

Независимое мок-собеседование по Java: кандидатка в livecoding-формате решает задачу о чередовании двух потоков через wait/notify и SQL-задачу о клиентах без заказов; ведущий разбирает ошибки и альтернативы решений.

Источник: Павел Сорокин

Открыть на YouTube

Таймлайн

Коротко о видео

В учебном мок-собеседовании ведущий проводит с кандидаткой livecoding-секцию по Java. В задаче о двух потоках они разбирают, почему простая последовательность wait/notify застревает, затем вводят общее состояние очередности и общий монитор, проверяют результат и обсуждают ложные пробуждения и прерывания. Во второй части кандидатка решает SQL-задачу о клиентах без заказов через LEFT JOIN и IS NULL, а ведущий предлагает уметь объяснить альтернативы с подзапросами и EXISTS. Между техническими блоками есть рекламные вставки.

Затронутые темы

Что взять на заметку

  • Состояние очередности и монитор должны быть общими для обоих потоков; синхронизироваться и вызывать wait/notify следует на одном объекте.
  • Ожидание условия через wait должно проверяться в цикле while с учётом ложных пробуждений; при InterruptedException нужно корректно завершить работу или восстановить флаг прерывания.
  • Для поиска клиентов без заказов подходит LEFT JOIN с проверкой IS NULL; на собеседовании полезно объяснить также варианты с подзапросом и NOT EXISTS.

Рекомендуем посмотреть

1:21:11
BackendMiddle

Мок-собеседование на Middle Java-разработчика

Мок-собеседование по Java для уровня Middle: кандидатка отвечает на вопросы о Java Core, многопоточности, Spring, SQL и микросервисах, а ведущий уточняет и разбирает ответы. В кейсах обсуждаются производительность запросов, ограничение нагрузки, идемпотентность и Kafka.