Если бы ты сам писал юнит-тесты на свой код, какие бы написал? Какие corner cases проверил бы?

Начните с контракта функции: нормальный сценарий, границы, неверные данные и ошибки зависимостей. Конкретные corner cases определяются типами и инвариантами, а не универсальным списком.

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

Что ответить на собеседовании

Начните с контракта функции: нормальный сценарий, границы, неверные данные и ошибки зависимостей. Конкретные corner cases определяются типами и инвариантами, а не универсальным списком.

Подробный разбор

Ответ с пояснениями

Начните с контракта функции: нормальный сценарий, границы, неверные данные и ошибки зависимостей. Конкретные corner cases определяются типами и инвариантами, а не универсальным списком.

Для коллекций проверьте пустой ввод, один элемент, повторы и максимальные размеры; для чисел — ноль, знак и переполнение; для времени — границы интервалов и отмену. Проверьте отсутствие нежелательной мутации входа.

Для конкурентного кода нужны завершение, гонки, повторные вызовы и идемпотентность. В unit-тестах внешние сервисы подменяют; таймауты лучше проверять управляемыми часами, а не долгими sleep. Без исходного кода это план выбора проверок, не готовое покрытие.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее