На прошлых собесах я нервно писал код и молчал, из-за чего трещина между «я знаю» и «показал» росла. В этот раз решил поступать иначе: сказать вслух, что понимаю задачу, какие границы вижу, где может упасть. Мотор успокоился, а решение находилось свободнее.
Нейтрально: интервьюер оценивает и то, как ты думаешь. Проговаривание шагов и краёв показывает это лучше, чем финальный «чистый» код.
def first_repeat(s: str):
seen = set()
for ch in s: # проговариваю: возвращаю первый повтор
if ch in seen:
return ch
seen.add(ch)
return None
Прошло теплее: даже на ошибке я показал ход мысли, а не застрял. Стало понятнее, почему опытные советуют «думать вслух». Это дисциплина, а не талант.