Подготовка к собеседованию и решение задач на доске — Примеры
Пример 1 — Рассказывайте вслух, а не молчите
Интервьюер просит вернуть k значений, которые чаще всего встречаются в списке. Вы прочитали условие, посмотрели на доску и четыре минуты молчите. Перепишите начало как рассуждение вслух.
Интервьюер: верните k значений, которые чаще всего встречаются в списке.
Вы: (перечитывает условие, смотрит на доску, молчит)
Решение
Вы: Проверю, что понял: нужны k самых частых значений, без сортировки,
порядок любой? Может ли k быть больше числа различных значений,
и при равной частоте порядок — по значению или по появлению?
Интервьюер: k всегда помещается, а порядок при равной частоте — любой.
Вы: Тогда маленький пример: [1, 1, 2, 3, 3, 3] при k = 2 даёт 3, потом 1.
Очевидный вариант считает все вхождения для каждого значения,
то есть повторяет работу. Один проход в словарь «значение ->
частота», затем выбор k наибольших частот делает то же самое за
один проход плюс выбор. Напишу вариант со словарём и прогоню его
на этом примере.
Оценивают именно рассуждения: пересказ и уточнение, называние верной точки отсчёта до улучшения и проверку своей работы на маленьком примере. В молчаливом варианте ничего этого не видно, поэтому он читается как ступор, даже когда ответ верен. Обычная ошибка — ждать, пока решение станет бесспорным, прежде чем заговорить: интервьюер не может оценить вывод, пришедший без метода.