Тестовое задание для программиста

Я достаточно долгое время был программистом (и прикладным математиком) и в своей карьере дошёл до Full Stack Senior Web Developer (специализировался на PHP и реляционных СУБД), далее был Тимлидом, а потом ушёл из технической области в управление самим бизнесом, но даже сегодня, бывает, занимаюсь технической частью того или иного проекта, а иногда даже и курирую техническую часть проекта, являсь CTO.

Так вот, для собеседования программистов я всегда использовал в том или ином виде тестовое задание, которое приведу ниже. Оно состоит всего из 3 предложений; само задание небольшое и ёмкое, оно примерно на ~95% позволяет оценить программиста и его уровень.

Тестовое задание можно дать и на собеседовании и сразу увидеть какой-то псевдокод и размышления, а можно поручить даже рекрутёру давать это тестовое задание потенциальному кандидату (задание маленькое и никого не напугает), чтобы на собеседовании уже можно было говорить предметно, глядя на код. Но чаще я предпочитаю его давать после первичного собеседования и уже на вторичном собеседовании вести беседу на его основе.

Само тестовое задание

Смоделировать в виде программного кода на C-подобном языке следующую ситуацию: Коала кушает съедобный листик эвкалипта. 

Код (смоделированная ситуация) должен исполняться в некоей функции main(). 

При реализации использовать все 3 (4) принципа ООП, код должен быть чистым, минималистичным, лаконичным.

Условия выполнения задания

Время на выполнение тестового задания: 24 часа с момента получения. Решение предоставить в виде PDF-файла на 1 страницу с кодом, с разукрашенным синтаксисом. Код в идеале должен быть на языке PHP, но хватит и псевдокода с лёгким ощущением языка C.