Не знаю, как именно реализована ваша система, но если без СУБД, то первое, что приходит в голову - хранить в памяти серверного процесса дату и время получения "объекта" сервером. Естественно, таймер будет теряться при перезапуске сервера.
Во-первых, собеседование - процесс двусторонний, задавайте вопросы и делайте выводы. Во-вторых, испытательный срок - процесс двусторонний, можно уйти, если компания не оправдала ожиданий.
Вы путаете причину и следствие. Фронты очень востребованы рынком, поэтому и вакансий много, и зарплаты высокие, а порог входа при этом очень низкий. Из-за сочетания этих факторов соискателей огромное количество, но 99.9% из них - профаны. Для их отсеивания как раз и выставляется требование к подтверждённому опыту. То есть работодатель в среднем случае не ждёт от фронта особых знаний, но хочет ещё до собеседования иметь уверенность, что эти знания точно есть.
Во-первых, класс, содержащий абстрактный метод, сам является абстрактным и не должен инстанцироваться. Выбрасывая NotImplementedError вы такого эффекта не добьётесь и можете получить исключение в рантайме, создав по ошибке экземпляр абстрактного класса. Во-вторых, декларативный подход позволяет писать более чистый код, явно передающий намерения.