Расскажите про опыт кросс ревью и интересные моменты из него
Что проверяют
Как вы читаете чужой код и как разговариваете о нём. Кросс-ревью, когда код смотрит человек из другой команды, дополнительно проверяет, умеете ли вы разбираться в незнакомом контексте и отделять принципиальное от вкусовщины. Просьба про «интересные моменты» это просьба про конкретику, вспомните реальную находку.
Как отвечать
Скажите, как процесс устроен, но большую часть времени потратьте на содержание.
- Что смотрите в первую очередь: публичный контракт и именование, обработка ошибок, границы транзакций, потокобезопасность, тесты на новый код.
- Типовые находки на C#:
async voidвне обработчика события,.Resultи.Wait()с риском взаимной блокировки, потерянныйCancellationToken, забытое освобождениеIDisposable, повторное перечисление отложенного запроса LINQ, зависимость со временем жизни Scoped внутри синглтона, сравнение строк без явных правил сравнения. - Как формулируете: отделяйте блокирующее замечание от предложения, предлагайте вариант, а не только диагноз, спрашивайте, если не поняли замысел.
- Про стиль договоритесь машиной: анализаторы и общий
.editorconfigснимают споры о форматировании. - Интересный момент: назовите ошибку, которую нашли, и объясните, почему её не поймали тесты. Это лучшая часть ответа.
Где спотыкаются
Описывают процесс и чек-листы, но не могут вспомнить ни одной настоящей находки. Такой ответ читается как участие в ритуале, а не как работа с чужим кодом.
Заканчивают цифрой вроде «багов стало на треть меньше». Эффект ревью почти никогда так не измеряют, и цифра выглядит взятой из воздуха. Расскажите лучше, что изменилось в работе команды: выровняли подход к обработке ошибок, договорились про слой доступа к данным.
Плохо принимают замечания к себе: спорят в комментариях, оправдываются, правят «чтобы отстали». Здоровая реакция другая: уточнить, согласиться или объяснить решение, а если чинить дорого, завести отдельную задачу.