Статьи

Головоломка Googlish

Вероятно, уже дошло до того, что все устали слышать о процессе собеседования с Google, но недавно услышали один хороший вопрос, который кому-то дали решить — один из вопросов типа «Можете ли вы думать как программист?». Это идет так …

У тебя два яйца. Это специальные яйца — они могут понести гораздо больше наказания, чем обычные куриные яйца Но вопрос в том, сколько наказания они могут принять?

Используя 100-этажное здание и только два яйца, как вы узнаете, с какого верхнего этажа здания вы можете бросить яйца до того, как они сломаются?

Это может быть 1-й этаж, но это может быть и 99-й этаж — вы не знаете, но чтобы проверить, нужно попробовать сбросить яйца с разных этажей и посмотреть, что произойдет.

Технически нет «правильного» ответа как такового, хотя ожидался подход, который требует наименьшего количества тестов, независимо от того, где находится результат, — эффективный алгоритм поиска, который обеспечивает стабильную производительность независимо от результата. Если вы боретесь за вдохновение, попробуйте здесь — это не поможет напрямую, но может подсказать некоторые побочные мысли.

В некоторой степени такие вопросы в наши дни немного несправедливы, если бы не Google задавал вопросы. Выбирая случайное число, я бы предположил, что 95% современных программ больше не имеют ничего общего с решением подобных проблем — все это скрыто за API (или в БД), предлагающими «достаточно хорошую» производительность в 99 +% случаев. Большинство работодателей будут не в восторге, если вы ответите «Закончено ли это еще?» «Нет, но мой последний алгоритм поиска не работает».

Во всяком случае — что-то не слишком тяжелое, чтобы обдумывать, ожидая свистка .