Почему смена направления движения стрелок должна происходить в полночь и полдень, а не в 00:00?
Что проверяют
Заметите ли вы, что в самой формулировке противоречие: полночь и есть 00:00. Проверяют не знание часов, а реакцию на противоречивое требование: пойдёте ли уточнять или начнёте придумывать обоснование под чужую формулировку.
Как отвечать
Сначала развести термины вслух. Полночь и полдень это моменты времени, а 00:00 и 12:00 это их запись в двадцатичетырёхчасовом формате. Момент и его запись не противопоставляются, значит требование сформулировано некорректно, и первое действие тестировщика это вопрос аналитику: что понимается под сменой направления и в какой системе времени считаем.
Дальше показать, откуда берётся путаница, потому что за таким вопросом обычно стоит реальный дефект.
- Двенадцатичасовой формат. Полночь это 12:00 AM, полдень это 12:00 PM, нуля там нет, и на этом ошибаются и люди, и настройки форматирования.
- Граница суток. Один и тот же момент записывается и как начало новых суток, и как конец предыдущих, поэтому интервал «по полуночи» читается двумя способами, и разница в целые сутки данных.
- Часовой пояс и перевод часов. В некоторых зонах в день перехода полуночи в календаре просто нет, и задача, назначенная ровно на неё, не запускается.
И закончить тем, что проверять: граничные значения вокруг обеих точек (последняя секунда до, ровно, первая после), сутки перевода часов, получасовые и отрицательные смещения пояса, високосный день, отображение в обоих форматах.
Где спотыкаются
Принимают формулировку на веру и сочиняют красивое объяснение несуществующему правилу. На собеседовании это главный провал: тестировщик, который не спорит с требованием, пропустит дефект в требовании.
Проверяют середину интервала. Ошибка сидит ровно на границе, поэтому нужны значения до, ровно и после, а не «где-то ночью» и «где-то днём».
Третье: тестируют только в своём часовом поясе и своей локали. Смена пояса, формат с AM и PM, перевод часов ломают ровно эту логику, а на машине разработчика этого не видно никогда.