Читаем Как сдвинуть гору Фудзи? Подходы ведущих мировых компаний к поиску талантов полностью

Это вопрос с подвохом, в котором скрыт «вызов». Ответ на основной вопрос достаточно прост. У вас может возникнуть искушение ответить, что у Майка 21 доллар, а у Тодда — 1 доллар, но тогда получается сумма в 22 доллара. Правильный ответ должен быть таким: у Майка 20,50 доллара, а у Тодда — 0,50 доллара. Если это для вас не очевидно — вы можете использовать алгебру, составить и решить уравнение. Вы также можете доказать, что это — единственный правильный ответ, но интервьюер настаивает, что в ответе нельзя использовать дроби.

Интервьюер не прав (или использует «техническую тонкость»: мол, целое количество центов — это не дроби). Ожидается, что вы будете отстаивать свою точку зрения и доказывать, что правильный ответ именно $20,50/$0,50. Такова жизнь в больших организациях.

Сколько в среднем раз вам нужно открыть наугад телефонный справочник Манхэттена, чтобы найти нужный вам номер телефона?

«Открыть наугад» подразумевает, что вы случайно открываете двухстраничный разворот книги (вы не должны пытаться использовать знания о том, какой букве алфавита соответствует нужный вам номер телефона). Подразумевается также, что, если нужный вам номер есть где бы то ни было на двух случайно открытых вами страницах, вы его обязательно найдете.

Есть и простой ответ, и более изощренный.

Вот простой ответ. Допустим, в телефонном справочнике Манхэттена одна тысяча страниц (это достаточно точная оценка: в издании этого справочника 2001 года было 1138 страниц. Вы можете игнорировать тот факт, что в начале и конце телефонной книги есть страницы, на которых нет номеров телефонов). Это значит, что в телефонной книге 500 разворотов. Таким образом, вероятность, что книга откроется в нужном вам месте в первый и в любой последующий раз, — один из пятисот.

Этот быстрый ответ вполне приемлем, учитывая, что самый уязвимый пункт в ваших рассуждениях — это догадка о количестве страниц в телефонном справочнике.

А теперь ответ, удовлетворяющий людей из «математического лагеря». В реалистической ситуации вам, наверное, захотелось бы узнать, сколько раз вам нужно случайным образом раскрыть телефонную книгу, чтобы быть уверенным с заданной вероятностью, что хотя бы один раз она раскроется на нужной вам странице. Допустим, вы хотите быть уверенными, что в 90 процентах случаев отыщете нужный вам номер. Сколько раз для этого нужно раскрыть телефонный справочник?

Поскольку это случайная процедура, абсолютных гарантий нет. Вам может повезти, и тогда вы найдете нужный номер на первой же странице, и, наоборот, вы можете миллион раз перелистывать книгу и ни разу не открыть ее на нужной странице. Если вы хотите быть на 100 процентов уверенными, то ответ прост: сколько бы раз вы ни открывали случайным образом телефонную книгу, вы никогда не можете быть уверены на 100 процентов, что она хотя бы раз откроется на нужной странице.

В общем, вам придется снова и снова раскрывать справочник, пока он открывается на ненужных вам страницах. Поэтому мы можем анализировать вероятность того, что телефонная книга будет раз за разом раскрываться на ненужных страницах.

Допустим, вам известно, что в справочнике точно 1000 страниц и 500 разворотов. Вероятность того, что вы раскроете книгу на неправильной странице в каждой из попыток — 499 из 500, так как из 500 возможных разворотов книги только один подходящий. Тогда вероятность того, что в n последовательных попытках телефонная книга каждый раз будет раскрываться на неверных страницах — (499/500)n.

Очевидно, что вероятность того, что вы откроете книгу на нужной странице за n последовательных попыток или раньше, будет равна выражению: 1—(499/500)n.

Эта формула позволяет вам вычислить, сколько раз вам нужно случайным образом раскрыть телефонную книгу, чтобы она с заданной вероятностью раскрылась на нужной вам странице. Если вы сделаете расчеты, например в Excel, то увидите, что для 50-процентной уверенности вам нужно раскрыть телефонный справочник 347 раз (или меньше, если вам повезет). Это число попытки и можно назвать «средним».

С другой стороны, этот ответ можно считать оптимистическим. Если вы сделаете 347 попыток — шансы на успех будут только 50 на 50.

Первоначальная оценка, которая была получена при помощи простого метода, — 500 попыток дают вероятность успеха 63 процента. Для того чтобы достигнуть 90-процентной вероятности успеха, вам нужно случайным образом раскрыть книгу 1150 раз.

Как можно разрезать прямоугольный торт на два равных куска, если кто-то уже вырезал из него прямоугольный кусок?..

Есть два правильных ответа, и лучше, если вы дадите их оба. Более простой ответ находят реже, чем сложный.

Можно очень легко разрезать прямоугольник пополам — вам нужно только позаботиться о том, чтобы разрез прошел через его центр, причем под любым углом.

Перейти на страницу:

Похожие книги

97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.

Гэри Розенцвейг

Программирование, программы, базы данных / Программирование / Книги по IT
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT