Вернуться в каталог собеседований

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

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

Павел Сорокин
  • Опубликовано на YouTube:
  • Просмотры на YouTube: 6,1 тыс.
  • Лайки на YouTube: 157
Открыть на YouTube

Таймлайн

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

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

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

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

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

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