Предположительная ситуация: в вашем офисе поставили 3 автомата, которые делают разнообразные напитки. Первый автомат изготавливает кофе, второй делает чай, а третий способен давать один из перечисленных напитков, но не предоставляет право выбора. Чтобы воспользоваться любым аппаратом требуется кинуть 1 монету. На автоматах присутствуют специальные наклейки, обозначающие тип выдаваемого напитка. Одна проблема – по техническим причинам завод перепутал все обозначения. Каждый автомат имеет неправильную наклейку. Вопрос, сколько потребуется монет, чтобы правильно определить тип автоматов?

Ответ: Задача только на первый взгляд сложная, от этой мысли следует абстрагироваться, решение лежит на поверхности.

  1. Подходим к аппарату с пометкой «кофе-чай» и бросаем таксу в виде монетки. Помним, что все наклейки неправильные, соответственно здесь либо чай, либо кофе.
  2. Предположим, что аппарат выдал чай, соответственно модель с надписью кофе не может выдавать кофе (все наклейки неправильные) и чай, так как ранее уже был найден аппарат с ним.
  3. При помощи исключения возможных вариантов несложно определить, где выдаётся кофе.

Итог: 1 монеты достаточно.

#2 – Фальшивые монеты

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

Перед нами 12 монет, среди них 11 штук оригинальные, а одна из них фальшивая. Поддельная копия монеты имеет отличительный вес. Суть задания необходимо определить фальшивую монету за минимальное количество взвешиваний. В ходе процедуры применяются чашечные весы.

Ответ: Элементарная задача, но все равно не редко появляется путаница, половина отвечает 1 или 2. Для определения поддельной копии следует провести 3 взвешивания, так как у нас не получится узнать какая конкретно монета является поддельной за меньшее количество попыток. Соответственно, большая часть монет должна быть с одинаковым весом, так как они настоящие, а третья монета, из последнего взвешивания, будет поддельной.

Итог: потребуется 3 взвешивания.

#3 – Вода в бочке

Перед вами пустая и герметичная бочка. Задача заключается в том, чтобы наполнить ёмкость водой, а сложность – тара должна быть заполнена ровно на 50% . Важное условие! Использовать длинные предметы вроде палки и подобного запрещено.

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

  1. Берём шланг и наливаем в бочку побольше воды, не обязательно заполнять полностью, но важно получить уверенность, что воды больше 50%.
  2. Бочку следует постепенно наклонять до получения угла 45° по отношению к ровной поверхности. Все излишки воды просто вытекут, а необходимый объём останется.

Ребята, мы вкладываем душу в AdMe.ru. Cпасибо за то,
что открываете эту красоту. Спасибо за вдохновение и мурашки.
Присоединяйтесь к нам в Facebook и ВКонтакте

Известные корпорации — Google, Intel или Apple — славятся тем, что на собеседовании задают соискателям каверзные задачки. Сайт AIN.UA собрал 10 интересных примеров таких задач. Некоторые из них предложили сами компании, а некоторые выложили пользователи, уже проходившие собеседования. Для их решения требуются знание математики на школьном уровне или просто смекалка.

AdMe.ru предлагает проверить, как бы вы справились с таким собеседованием.

Что спрашивают в Apple

Задача 1.

Задача на логику. Шелдон Купер (тот самый гениальный физик из популярного сериала) дошел в игровом квесте в погоне за сокровищами до последнего рубежа. Перед ним — две двери, одна ведет к сокровищу, вторая — к смертельно опасному лабиринту. У каждой двери стоит стражник, каждый из них знает, какая дверь ведет к сокровищу. Один из стражников никогда не врет, другой — врет всегда. Шелдон не знает, кто из них врун, а кто нет. Прежде чем выбрать дверь, задать можно только один вопрос и только одному стражнику.

Вопрос: Что спросить Шелдону у стражника, чтобы попасть к сокровищу?

Можно спросить любого, при этом задать вопрос так: «Какая дверь, по мнению другого стражника, правильная?». Если он спросит у правдивого, то получит данные о том, какая дверь ведет к лабиринту, ведь врущий стражник всегда врет. Если же он спросит у врущего стражника, опять же, узнает, какая дверь ведет к лабиринту, ведь тот соврет о двери, на которую укажет правдивый стражник.

Задача 2.

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

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

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

Вопрос: Что нужно отвечать, чтобы выжило как можно больше людей?

Первый отвечающий считает количество зеленых шляп перед собой: если это нечетное число, он называет «зеленый», если четное — «розовый». Следующий, видя количество и цвет шляп перед собой, может таким образом вычислить, какого цвета шляпа у него на голове (к примеру, если зеленых все еще нечетное количество, то очевидно, что на нем — розовая), и так далее. Таким образом гарантированно выживают 9 из 10, а у первого отвечавшего шанс 1 к 1.

Что спрашивают в Adobe

Задача 3.

У вас 50 мотоциклов с заполненным топливом баком, которого хватает на 100 км езды.

Вопрос: Используя эти 50 мотоциклов, как далеко вы сможете заехать (учитывая, что изначально они находятся в условно одной точке пространства)?

Самый простой ответ: завести их все одновременно и проехать 100 км. Но есть и другое решение. Сначала переместите все мотоциклы на 50 км. Затем перелейте топливо из половины мотоциклов в другую половину. У вас таким образом — 25 мотоциклов с полным баком. Проедьте еще 50 км и повторите процедуру. Так можно забраться на 350 км (не учитывая того топлива, которое останется от «лишнего» мотоцикла при разделе 25 надвое).

Что спрашивают в Microsoft

Задача 4.

У вас бесконечный запас воды и два ведра — на 5 литров и 3 литра.

Вопрос: Как вы отмерите 4 литра?

Наполните водой пятилитровое ведро и вылейте часть воды в трехлитровое. У вас сейчас 3 литра в маленьком ведре и 2 — в большом. Опустошите маленькое ведро и перелейте туда оставшиеся 2 литра из большого. Снова наполните большое ведро и перелейте из него воду в малое. Там уже есть 2 литра воды, так что долить придется литр, а в большом останется 4 литра.

Задача 5.

У вас два отрезка веревки. Каждый таков, что если поджечь его с одного конца, он будет гореть ровно 60 минут.

Вопрос: Имея только коробку спичек, как отмерить с помощью двух отрезков такой веревки 45 минут (рвать веревки нельзя)?

Один из отрезков поджигается с двух концов, одновременно с этим поджигается второй отрезок, но с одного конца. Когда первый отрезок догорит полностью, пройдет 30 минут, от первого также останется 30-минутный отрезок. Поджигая его с двух концов, получим 15 минут.

Что спрашивают в Google

Задача 6.

У вас имеется 8 шариков одинакового вида и размера.

Вопрос: Как найти более тяжелый шарик, используя весы и всего два взвешивания?

Отберите 6 шариков, разделите их на группы по 3 шарика и положите на весы. Группа с более тяжелым шариком перетянет чашу. Выберите любые 2 шарика из этой тройки и взвесьте. Если тяжелый шарик среди них, вы это узнаете; если они весят одинаково — тяжелый тот, что остался. Если же более тяжелого шарика в группах по 3 шарика не оказалось, он — среди 2 оставшихся.

Что спрашивают в Qualcomm

Задача 7.

Эту задачку описал пользователь, которого собеседовали на позицию senior systems engineer. Он отметил в описании задачи, что у него был свой ответ, по поводу которого он долго спорил с человеком, проводившим собеседование.

Предположим, у нас происходит 10 пакетных передач данных по беспроводной сети. Канал не очень качественный, так что есть вероятность 1/10, что пакет данных не будет передан. Трансмиттер всегда знает, удачно или неудачно был передан пакет данных. Когда передача неудачная, трансмиттер будет передавать пакет до тех пор, пока не преуспеет.

Вопрос: Какую пропускную способность канала получаем?

По версии пользователя, ответ должен был быть: 9 пакетов в секунду. Но человек, проводивший интервью, с ним не согласился, правда, ответа не назвал, но повторял, что «из-за ретрансмиссии пропускная способность должна быть уменьшена больше, чем на 1/10».

Что спрашивают в «Яндексе»

Задача 8.

Эту задачу предлагали решить для вступления в Школу анализа данных в феврале 2014 года.

Игра состоит из одинаковых и независимых конов, в каждом из которых выигрыш происходит с вероятностью p. Когда игрок выигрывает, он получает 1 доллар, а когда проигрывает — платит 1 доллар. Как только его капитал достигает величины N долларов, он объявляется победителем и удаляется из казино.

Вопрос: Найдите вероятность того, что игрок рано или поздно проиграет все деньги, в зависимости от его стартового капитала K.

Задача 9.

Эту задачу предлагали решить разработчикам на собеседовании, и она больше связана непосредственно с программированием, чем предыдущие примеры.

Имеется морфологический словарь объемом примерно 100000 входов, в котором глаголы совершенного и несовершенного вида помещены в отдельные статьи (то есть «делать» и «сделать» считаются разными словарными входами). Вам требуется найти в словаре такие видовые пары и «склеить» статьи в одну.

Вопрос: Опишите общий сценарий решения такой задачи и примерный алгоритм поиска видовых пар.

Ответов на задачи «Яндекса» у нас, к сожалению, нет.

И бонус

Задача 10.

Эту задачу приписывают Альберту Эйнштейну — якобы с ее помощью он подбирал себе ассистентов. Другая почти легендарная история приписывает авторство Льюису Кэрроллу. Отметим, что она очень просто решается на бумаге, но, если хотите хардкора — попробуйте решить в уме.

На улице стоят пять домов.
Англичанин живет в красном доме.
У испанца есть собака.
В зеленом доме пьют кофе.
Украинец пьет чай.
Зеленый дом стоит сразу справа от белого дома.
Тот, кто курит Old Gold, разводит улиток.
В желтом доме курят Kool.
В центральном доме пьют молоко.
Норвежец живет в первом доме.
Сосед того, кто курит Chesterfield, держит лису.
В доме по соседству с тем, в котором держат лошадь, курят Kool.
Тот, кто курит Lucky Strike, пьет апельсиновый сок.
Японец курит Parliament.
Норвежец живет рядом с синим домом.
Каждый из домов покрашен в отдельный цвет, в каждом доме живет представитель отдельной национальности, у каждого — свой питомец, своя любимая марка сигарет и напиток.

Вопрос: Кто пьет воду? Кто держит зебру?

Признаюсь честно – вести блог уже давно особо неинтересно. Ошибки, которые совершил еще в самом начале, когда его сделал (это и открытый счетчик LI, из-за которого все мои популярные статьи мигом пузатовцы и прочие растянули по всему рунету, это и неправильный дизайн блога, который я не менял долгое время, причем, он был безумно устаревшим и малопривлекательным). Да и времени попросту не было. И ряд всего прочего.

В итоге в блоге теперь я решил писать различные полезности, пусть и адресной направленности. Трафика много такие статьи не будут приносить, но кому-то они могут быть полезны.

На этот раз я напишу о логических задачах на собеседование для вакансии программиста. Причем, любого. Кое-что будет лично из моей практики, кое-что я абсорбировал из просторов интернета. Надеюсь вам это пригодится в дальнейшем.

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

Причем, к слову сказать, подобную ерунду лично я вижу где-то года с 2010. К моему недоумению, ими заморачивают даже тех, кто будет банально простыми исполнителями.

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

  1. В стакан положили бактерии. Каждую секунду бактерии увеличиваются в 2 раза. Известно, что стакан заполняется полностью за минуту. За какое время стакан наполнится наполовину?
  2. Представьте себе, что земной шар обмотали веревкой по экватору. Потом веревку увеличили на 1 метр и расположили так, что любая точка экватора равноудалена от веревки. Сможет ли между веревками пролезть мышь?
  3. На склад привезли 100 кг огурцов. Содержание воды в огурцах 99%. Через месяц огурцы подсохли, и содержание воды в них уменьшилось до 98%. Сколько килограммов огурцов на складе?
  4. Жили 1000 репликонов, каждый репликон иммет уникальный возраст. У репликонов было золото и они решили его поделить. Условие дележки: если половина или более репликонов согласна поделить, то золото делят между всеми поровну, если меньше половины согласно на раздел то самого младшего репликона исключают из претендентов на золото и процес повторяется. Вопрос на сколько репликонов поделят золото.
  5. Даны два фитиля. Известно, что полностью они сгорают за час каждая, но горят неравномерно. Нужно отмерить с помощью этих фитилей 45 минут.
  6. Виктор, выходя с работы и заходя в метро, всегда находился в раздумьях, куда ему ехать – домой или к девушке. Домой ехать в одну сторону, к девушке – в противоположную. Поезда и туда, и обратно ходят каждые пять минут. И вот Виктор принял решение по приходу просто садится в первый приехавший поезд. Через месяц выяснилось, что к девушке он попадал в четыре раза чаще, чем домой. Почему?
  7. Есть два ведра – одно 5 литров, второе 3. Есть неиссякаемый источник воды в виде реки. Нужно с помощью ведер отмерить ровно четыре литра. Ведра имеют конусообразную форму.
  8. Есть три мешка, в одном из них красные шарики, в другом только белые, в третьем – они перемешаны. На мешках этикетку наклеены неправильно. Как достав всего один шар из одного мешка, определить какие шарики в каких мешках? Смотреть внутрь мешка нельзя.
  9. Вы находитесь в комнате с тремя выключателями. Из этой комнаты есть дверь в соседнюю, там находятся три лампочки, которые включаются этими выключателями. Дверь между комнатами закрыта и вы не видите какой выключатель включает каждую лампочку. Как определить, какой выключатель включит свою лампочку, если в комнату с лампами можно зайти всего один раз.

Не говорю, что подобные задачки являются стандартом де-факто в фирмах. К сожалению, во многом виноваты именно гламурные кисы из HR, которые часто код просто не поймут, если его написать, а некоторые задачи либо сами уже знают, либо очень часто имеют математическое образование и этим кичатся.

Вообще, трудоустройство в нашей стране сродни лотерее. Кому как повезет. Не редки случаи попадания на, мягко говоря, неадекватного интервьювера и потом лечить мозг неделю после него. Чем очное образование частенько и выигрывает в этом плане, так как среди преподов технического профиля работают, видимо, одни резиденты Камеди Клаба. Пример даже из моего студенчество с загадкой о количестве лампочек в аудитории и на ответ, сколько их висит, препод с чувством превосходства достает еще две лампы из своего портфеля и мой ответ неправильный. Кто-то может спросить, сколько количество бензозаправок в городе. Не злитесь, не психуйте. Просто вставайте и уходите с такого собеседования.

Как правило, даже там, где якобы «солидная» фирма и спрашивают подобную ерунду, условия труда будут мало отличаться от крепостного права. И не ведитесь на фразы «мы ищем программиста, а не кодера». Реальность такова, что сейчас вы все и будете кодерами, поддерживая давно уже созданный продукт. А нищебродские российские стартапы смело оставляйте «молодому дружному коллективу с интересными задачами» и отсутствием оклада, находящимся в убитом офисе, который они радостно кличут «лофтом».