Подскажите задачки по java, или Прощание с межкомнатными дверями

Помимо продаж лицензий на уже работающие продукты, любая компания ведет перспективные разработки, а значит, нуждается в программистах. С появлением пермского филиала тут же возникла идея нанимать этих программистов не только в Индии (шутка), но и в Перми (совершенно серьезно). Поскольку компания все же мировой лидер, а не "сайты за три копейки", требования к квалификации соответствующие, а проверять их при приеме на работу придется известно кому (мне). Одним из способов проверки в компании является выполнение тестового задания, которое квалифицированный специалист выполнит за 1-2 часа, а менее квалифицированный попросту не справится.
Так вот, мне нужны такие задачки. Может, кому-то из вас их уже давали на собеседованиях, может, о них рассказывали знакомые. Задачки нужны не слишком простые, не "олимпиадные" (см. пример в P.S.), не слишком сложные, - а обычные, рабочие, как раз на 1-2 часа специалисту (на выдачу работающего кода). Решения задач приводить не обязательно, главное для меня - экспертная оценка, что это требует как раз 1-2 часа работы.
Кто может - поделитесь!
P.S. Пример "олимпиадной" задачки. Есть плоская табличка, содержащая сведения об иерархии:
obj_code | parent_code | еще чертова уйма полей про этот obj
Нужно написать SQL-запрос, который сформирует по ней табличку с развернутой иерархией, с числом уровней, равным фактическому числу уровней в иерархии:
parent_lev1_code | parent_lev2_code | parent_lev3_code | ... | obj_code |
Решения я не знаю, да и знать не желаю, поскольку не sql-программеров ищу. Но задачка именно "олимпиадная",если решение знаешь, оно просто выскакивает из памяти. А если нет - то 2 часов скорее всего не хватит.
P.P.S. Цитата к месту, как раз про персонал, с которым, как оказывается, все очень непросто:
Те сотрудники фирмы которые постоянно недовольны, ноют и критикуют руководство на самом деле именно те кто собственно работает. Остальных вобщем-то можно уволить без ощутимого риска для бизнеса.