Задания на собеседовании

Содержание

Интересные задачи, которые задают на собеседовании

Задания на собеседовании
Задания на собеседовании

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

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

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

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

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

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

[attention type=yellow][attention type=yellow][attention type=yellow]
Во время собеседования вам могут задавать задачи разных видов. Многие из них не имеют какого-либо конкретного решения, что предполагает оценку степени креативности соискателя.
[/attention][/attention][/attention]

Но имеются всё же и такие задачи, у которых решение есть. И такими задачами являются задачи логического характера.

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

Всего мы рассмотрим пять задач.

Комната с лампочками

Условие: Имеется закрытая комната, в которой есть три лампочки. С внешней стороны комнаты имеется три выключателя. Вам нужно узнать, какой выключатель включает каждую из лампочек. Но в комнату вы можете зайти только единожды.

Ответ

Решение: С точки зрения менеджера, вы можете привлечь к решению своих сотрудников, однако необходимо решить задачу самостоятельно. Как нужно рассуждать: наша комната закрыта и снаружи лампочки не видны.

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

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

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

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

Получаем новое состояние: лампа либо «тёплая», либо «холодная».

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

Хотите научиться решать такие задачи? Сегодня курс «Когнитивистика» со скидкой 20%! Промокод — SOBES.

Условие: Имеется две сковородки и три котлеты. Чтобы обжарить одну котлету с одной стороны, требуется минута. Одна сковородка вмещает лишь одну котлету. Какой минимум времени необходим, чтобы обжарить все котлеты полностью?

Ответ

Решение: Итак, размышляем обычно: чтобы пожарить две котлеты с двух сторон сразу, нам понадобятся две минуты. После этого мы уберём две котлеты и начнём жарить третью. Получается, что нужно ещё две минуты. Так, понимаем, что всего нам нужно на обжарку котлет четыре минуты. Но это неверно, т.к. есть способ уложиться в три минуты.

Переходим к креативному мышлению: есть две сковороды, на которых мы можем жарить одновременно. Начиная с обжарки двух котлет, мы сразу же займём обе сковороды, и после обжарки двух котлет одна сковорода останется незадействованной. Чтобы сократить время жарки, нужно её задействовать. Но как?

Мы можем разделить весь процесс жарки на обжаривание котлет с двух сторон, и получим шесть этапов. Если мы возьмём эти шесть этапов, занимающих, в общей сложности, шесть минут, и вспомним, что у нас имеется две сковороды, то можно сделать логический вывод, что на весь процесс жарки нам может хватить трёх минут – нужно только понять алгоритм, который совсем несложен.

Последовательность действий должна быть такой: кладём жарить две котлеты, но одну после первой минуты убираем со сковороды, и кладём сырую. Через минуту одна из первых двух котлет дожарится и на её место нужно будет положить первую – недожаренную. На третьей минуте дожарятся обе оставшиеся котлеты.

Хотите научиться решать такие задачи? Сегодня курс «Когнитивистика» со скидкой 20%! Промокод — SOBES.

Условие: На постоялый двор нанёс визит странник. У него нет с собой денег, но есть золотая цепочка, состоящая из шести звеньев.

[attention type=red][attention type=red][attention type=red]
Хозяин двора согласен взять оплату жилья в виде одного звена цепочки на каждый день, но при условии, чтобы распиленным оказалось только одно звено. Причём, оплата должна поступать именно ежедневно, т.к.
[/attention][/attention][/attention]

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

Ответ

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

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

Далее нужно понять суть: и хозяин и странник могут обмениваться, а хозяин также может давать сдачу. Отсюда следует простое решение.Распиливаем конкретно третье звено, чтобы получить разменную «монету» в 1, 2 и 3 звена.

На первые сутки странник платит одним звеном, на вторые – платит двумя, но забирает одно первое, на третьи – платит тремя, но забирает два вторых и т.д. до конца срока пребывания. В тоге мы имеем только одно распиленное звено, пять дней проживания и довольного хозяина.

Хотите научиться решать такие задачи? Сегодня курс «Когнитивистика» со скидкой 20%! Промокод — SOBES.

Условие: Есть две верёвки и коробок со спичками. О каждой верёвке мы знаем, что если их поджечь, то они полностью сгорят за один час. Нам нужно отмерить пятнадцать минут. Но как нам это сделать, если мы знаем, что верёвки будут прогорать неравномерно?

Ответ

Решение: Разрезать верёвку на четыре равные части и просто поджечь не получится, т.к. время, за которое сгорает верёвка, не равно её длине – одна часть верёвки может гореть быстрее, другая – медленнее и т.д.

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

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

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

[attention type=green][attention type=green][attention type=green]
Так у нас остаётся кусок второй верёвки, который сгорит за полчаса. Если мы подожжём его с двух концов, то получим 15 минут.
[/attention][/attention][/attention]

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

Ответ

Решение: Думая обычно, мы придём в тупик, т.к. очевидно, что для разделения торта на восемь кусков необходимо сделать четыре разреза.

Теперь думаем креативно. Решение задачи может быть вполне простым. И вообще этих решений есть два.

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

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

В первую очередь, разрезаем торт крест-накрест двумя разрезами, и получаем четыре куска.

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

Второй вариант заключается в том, что мы разрезаем торт не как обычно, а в горизонтальной плоскости, т.е. поперёк. Немного странными получатся в итоге куски, но вариант всё-таки хорош, согласитесь?

Хотите научиться решать такие задачи? Сегодня курс «Когнитивистика» со скидкой 20%! Промокод — SOBES.

Надеемся, эта информация вам пригодится, и вы сможете удивить своих потенциальных работодателей на собеседовании.

[attention type=yellow][attention type=yellow][attention type=yellow]
Ну, и чтобы не расслабляться, вот вам напоследок ещё одна интересная задачка, но уже без решения: посреди пшеничного поля был найден мёртвый мужчина, который крепко сжимает в руках спичку. Объясните причину его смерти.
[/attention][/attention][/attention]

А также смотрите другие интересные примеры задач:

  • По ТРИЗ
  • Как положить жирафа в холодильник
  • Задача Рачинского
  • Задачи Ферми

Источник: https://4brain.ru/blog/%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%B5%D1%81%D0%BD%D1%8B%D0%B5-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8-%D0%BD%D0%B0-%D1%81%D0%BE%D0%B1%D0%B5%D1%81%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8/

Задачи на логику на собеседовании (с ответами)

Задания на собеседовании

Задачи на логику – распространенный инструмент HR-менеджеров для оценки соискателей.

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

Ну, например, такая задача-вопрос:

Есть ли на Земле место, где оба конца стрелки компаса указывают на север?

Оказывается, такое место есть. Это Южный полюс. Поскольку вокруг него – только север, куда ни повернись, то оба конца стрелки компаса в этой точке смотрят на север.

Для решения нужно немножко знаний из школьного курса географии и догадливость. И хладнокровие: если сразу позволить себя сбить с толку вопросом, то способность думать может впасть в кому.

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

На самом деле, найти ответ не обязательно.

Учтите, что задачи на логику на собеседование задаются не только для того, чтобы соискатель дал верный ответ. (Хотя, если вы это сделаете, это произведет впечатление).

Важно:

– не сдаться сходу, не признать, что вы не знаете ответа и не умеете решать задачи на логику,

– показать ход мысли. Порассуждайте вслух – как вы ищете решение, на какие моменты опираетесь? Эйчару важно понять, что вы умеете рассуждать логически.

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

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

Ответы вы найдете во второй части статьи, под задачами (чтобы не было соблазна подглядывать ;)).

Задачи:

1) 5 землекопов за 5 часов выкапывают 5 м канавы. Сколько нужно землекопов, чтобы вырыть 100 м канавы за 100 часов, если продуктивность работы такая же?

2) Воздушный шар движется в потоке воздуха, в южном направлении. В каком направлении будут развеваться флаги на его гондоле?

3) Почему у яйца один конец острый, а другой  – тупой?

4) В 12 часов ночи идет дождь. Можно ли ожидать, что через 72 часа выглянет солнце?

5) Как следует бросить мяч, чтобы он непременно к вам вернулся?

[attention type=red][attention type=red][attention type=red]
6) На пол положили карандаш и попросили нескольких людей по очереди через него перепрыгнуть. С задачей не справился никто. Почему?
[/attention][/attention][/attention]

7) Ире и Маше подарили по коробке, в каждой из которых 12 конфет. Ира съела несколько конфет. Маша съела столько конфет, сколько осталось в коробке у Иры. Сколько конфет осталось у Иры и Маши на двоих?

8) В деревне жил странный человек. Любимой забавой жителей и гостей деревни была следующая. Чудаку предлагали на выбор монету в 10 центов и бумажную купюру в 10 долларов. Человек всегда выбирал монету. Почему?

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

На улице стоят пять домов.

Англичанин живет в красном доме.

У испанца есть собака.

В зеленом доме пьют кофе.

Украинец пьет чай.

Зеленый дом стоит сразу справа от белого дома.

Тот, кто курит Old Gold, разводит улиток.

В желтом доме курят Kool.

В центральном доме пьют молоко.

Норвежец живет в первом доме.

Сосед того, кто курит Chesterfield, держит лису.

В доме по соседству с тем, в котором держат лошадь, курят Kool.

Тот, кто курит Lucky Strike, пьет апельсиновый сок.

Японец курит Parliament.

Норвежец живет рядом с синим домом.

[attention type=yellow][attention type=yellow][attention type=yellow]
Каждый из домов покрашен в отдельный цвет, в каждом доме живет представитель отдельной национальности, у каждого — свой питомец, своя любимая марка сигарет и напиток.
[/attention][/attention][/attention]

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

Ответы:

1) Те же 5 землекопов. За 1 час 5 землекопов выкапывают 1 м канавы. Значит, за 100 часов они выкопают 100 м.

2) Флаги не будут развиваться; они будут в таком же состоянии, как если бы шар находился на земле при полном безветрии. Дело в том, что относительно воздушной массы, в которой находится шар, он неподвижен, поэтому флаги будут находиться в состоянии покоя.

3) Такая форма позволяет яйцу не укатиться. Если бы яйцо было правильной, симметричной формы – например, круглым – оно могло бы катиться по прямой. Несимметричная форма заставляет яйцо двигаться по кругу. То есть если оно находится, например, на краю пропасти, то шансов укатиться и упасть у яйца меньше. Так природа заботится о сохранении яйца и его содержимого.

4) Нет, солнце не выглянет, потому что через 72 часа (трое суток) будет 12 часов ночи.

5) Нужно бросить его вверх.

6) Потому что карандаш положили вплотную к стене.

7) 12 конфет.

8) Он выбирал монету, потому что знал, что, как только он выберет купюру, люди потеряют к забаве интерес, и он перестанет получать монеты.

9) Японец держит зебру, норвежец пьет воду.

Источник: https://blog.trud.com/blog/2016/07/05/zadachi-na-logiku-na-sobesedovanii/

10 задач с собеседований в крупные компании

Задания на собеседовании

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

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

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

У каждой двери стоит стражник, каждый из них знает, какая дверь ведет к сокровищу. Один из стражников никогда не врет, другой — врет всегда. Шелдон не знает, кто из них врун, а кто нет.

Прежде чем выбрать дверь, задать можно только один вопрос и только одному стражнику.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В центральном доме пьют молоко.Норвежец живет в первом доме.Сосед того, кто курит Chesterfield, держит лису.В доме по соседству с тем, в котором держат лошадь, курят Kool.Тот, кто курит Lucky Strike, пьет апельсиновый сок.Японец курит Parliament.

Норвежец живет рядом с синим домом.

[attention type=yellow][attention type=yellow][attention type=yellow]
Каждый из домов покрашен в отдельный цвет, в каждом доме живет представитель отдельной национальности, у каждого — свой питомец, своя любимая марка сигарет и напиток.
[/attention][/attention][/attention]

Источник: https://www.adme.ru/zhizn-nauka/10-zadach-s-sobesedovanij-v-krupnye-kompanii-866660/

123 задачи с IT-собеседований с разбором решений

Задания на собеседовании

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

В нашей рубрике c заданиями уже больше 100 вопросов с подробным разбором решений. Мы решили собрать воедино все самые интересные и популярные задачи для программистов, которые могут встретиться вам на собеседовании.

Есть однонаправленный список из структур. В нём random указывает на какой-то еще элемент этого же списка. Требуется написать функцию, которая копирует этот список с сохранением структуры (т.е.

если в старом списке random первой ноды указывал на 4-ю, в новом списке должно быть то же самое – рандом первой ноды указывает на 4-ю ноду нового списка). O(n), константная дополнительная память + память под элементы нового списка.

Нельзя сразу выделить память под все данные одник куском т.е. список должен быть честным, разбросанным по частям, а не единым блоком, как массив.

Ответ Вариант реализации

Классическая задачка с собеседований в Google. На доске записаны числа, вам нужно ответить на вопрос: какое число идёт дальше?

Ответ

Допустим, вы летите из Москвы во Владивосток, а затем обратно, при полном безветрии. Затем вы совершаете точно такой же перелёт, но на этот раз на протяжении всего перелёта дует постоянный западный ветер: в одну сторону попутный, в обратную — лобовой.

Ответ

Что не так в этом отрывке кода на С++?

operator int() const { return *this; }

Ответ

Задача, которая была популярна в своё время на собеседованиях в Amazon. Мы русифицировали её, но смысл остался тот же. Вам нужно продолжить последовательность.

Ответ автора с обзором вариантов ответов подписчиков

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

Ответ

«Вас уменьшили до размеров 5-центовой монеты и бросили в блендер. Ваш вес уменьшился так, что плотность вашего тела осталась прежней. Лезвия начнут вращаться через 60 секунд. Ваши действия?»

Это классическая google-задачка, хороший разбор которой в рунете не так-то просто найти. Мы подготовили его для вас. Абсолютного правильного ответа нет, но есть те, которые явно лучше остальных.

Разбор вариантов ответа

Вопрос по С++. Что за ошибка «pure virtual function call»? В какой ситуации она может быть сгенерирована? Предоставьте минимальный код, приводящий к ней.

Ответ

В вашем распоряжении 10 тысяч серверов в дата-центре с возможностью удалённого управления и один день, чтобы получить миллион долларов. Что вы для этого сделаете?

Ответ

У вас есть аналоговые часы с секундной стрелкой. Сколько раз в день все три стрелки часов накладываются друг на друга?

Ответ

В чём разница между string и String в C#?

Ответ

[attention type=red][attention type=red][attention type=red]
Вы играете в футбол на пустынном острове и хотите подбросить монетку, чтобы решить, какой команде достанется мяч. Единственная монета, что у вас есть, является гнутой, и поэтому вносит явные искажения в результат при подбрасывании. Как вы тем не менее можете использовать такую монету, чтобы принять справедливое решение?
[/attention][/attention][/attention]

Ответ

Cколько мячей для гольфа войдет в школьный автобус?

Для справки: в Национальных стандартах транспотрных средств для школ в США на 1995 год указаны максимальные размеры школьного автобуса и равны 40 футам в длину и 8.5 футам в ширину. Стандартный диаметр мяча для гольфа — 1.69 дюйма с допуском 0.005 дюймов.

Ответ

Представьте себе вращающийся диск, например DVD. У вас есть в распоряжении черная (Ч) и белая (Б) краски. На краю диска установлен небольшой датчик, который определяет цвет под ним и выдает результат в виде сигнала. Как бы вы раскрасили диск, чтобы было возможно определить направление вращения по показаниям датчика?

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

Датчик фиксирует цвет точки в непосредственном месте установки в последовательные моменты времени. Показания представляются в виде «ЧЧЧББ…». Задача сводится к такой раскраске диска, где последовательность показаний отличается при вращении в прямую и в противоположную стороны.

Ответ

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

Ответ

Найдите ошибки в следующем коде.

unsigned int i; for (i = 100; i >= 0; –i) printf(“%d “, i);

Ответ

Объясните, что делает этот код.

((n & (n – 1)) == 0)

Ответ

Дано 100-этажное здание. Если яйцо сбросить с высоты N-го этажа (или с большей высоты), оно разобьется. Если его бросить с любого меньшего этажа, оно не разобьется. У вас есть два яйца. Найдите N за минимальное количество бросков.

Ответ

Продолжаем задачки по С/С++. Что означает ключевое слово volatile и в каких ситуация оно может быть применено? Если даже помните формальное значение, попробуйте привести пример ситуации, где volatile на самом деле будет полезно.

Ответ

[attention type=green][attention type=green][attention type=green]
У вас есть отсортированная матрица размера MxN. Предложите алгоритм поиска в ней произвольного элемента. Под отсортированной матрицей будем понимать такую матрицу, строки и столбцы которой отсортированы (см. пример).
[/attention][/attention][/attention]

Ответ

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

Ответ

На пустынном шоссе вероятность появления автомобиля за 30-минутный период составляет 0.95. Какова вероятность его появления за 10 минут?

Ответ

Напишите функцию суммирования двух целых чисел без использования «+» и других арифметических операторов.

Ответ

У вас есть парк из 50 грузовиков. Каждый из них полностью заправлен и может проехать 100 км. Как далеко с их помощью вы можете доставить определенный груз? Что будет, если в вашем распоряжении N грузовиков?

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

Пересесть из грузовика в гибридный легковой автомобиль Prius нельзя. Бросить грузовик без топлива, где бы это ни случилось, и без водителя – в порядке вещей.

И единственное, что здесь важно, – доставить как можно дальше ценный груз.

Ответ

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

Ответ

[attention type=yellow][attention type=yellow][attention type=yellow]
Напишите метод, который будет подсчитывать количество цифр «2», используемых в десятичной записи целых чисел от 0 до n (включительно). Картинка дана в качестве подсказки к одному из возможных решений.
[/attention][/attention][/attention]

Ответ

Где вы будете плыть быстрее — в воде или сиропе?

Это классическая задача с долгой историей, которую обсуждал в своё время еще Исаак Ньютон. Когда-то она использовалась и на IT-собеседованиях в Google (сейчас — нет). Тем не менее предлагаем вам порассуждать над решением.

Ответ

Напишите методы для умножения, вычитания и деления целых чисел, используя из арифметических операций только оператор суммирования. Язык реализации не важен, об оптимизации скорости работы и использования памяти также можете не особо беспокоиться. Главное, что можно использовать только сложение. В подобных задачах полезно вспомнить суть математических операций.

Ответ

Допустим, вы пишете конвейер, в котором 2 потока, используя общий буфер, обрабатывают данные. Поток-producer эти данные создает, а поток-consumer их обрабатывает (Producer–consumer problem). Следующий код представляет собой самую простую модель: с помощью std::thread мы порождаем поток-consumer, a создавать данные мы будем в главном потоке.

Опустим механизмы синхронизации двух потоков, и обратим внимание на функцию main(). Попробуйте догадаться, что с этим кодом не так, и как его исправить?

void produce() { // создаем задачу и кладем в очередь } void consume() { // читаем данные из очереди и обрабатываем } int main(int , char **) { std::thread thr(consume); // порождаем поток produce(); // создаем данные для обработки thr.join(); // ждем завершения работы функции consume() return 0; }

Ответ

Дано 20 баночек с таблетками. В 19 из них лежат таблетки весом 1 г, а в одной – весом 1.1 г. Даны весы, показывающие точный вес. Как за одно взвешивание найти банку с тяжелыми таблетками?

Ответ

Дана шахматная доска размером 8×8, из которой были вырезаны два противоположных по диагонали угла, и 31 кость домино; каждая кость домино может закрыть два квадратика на поле. Можно ли вымостить костями всю доску? Дайте обоснование своему ответу.

Ответ

Дан входной файл, содержащий четыре миллиарда целых 32-битных чисел. Предложите алгоритм, генерирующий число, отсутствующее в файле. Имеется 1 Гбайт памяти для этой задачи. Дополнительно: а что если у вас всего 10 Мбайт? Количество проходов по файлу должно быть минимальным.

Ответ

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

Ответ

Вы поставили стакан воды на диск проигрывателя виниловых пластинок и медленно увеличиваете скорость вращения. Что произойдет раньше: стакан сползет в сторону, стакан опрокинется, вода расплескается?

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

Ответ

[attention type=red][attention type=red][attention type=red]
Короткая задачка по С++ в виде вопроса для новичков. Почему деструктор полиморфного базового класса должен объявляться виртуальным? Полиморфным считаем класс, в котором есть хотя бы одна виртуальная функция.
[/attention][/attention][/attention]

Ответ

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

Ответ

Предложите алгоритм поиска в односвязном списке k-го элемента с конца. Список реализован вручную, есть только операция получения следующего элемента и указатель на первый элемент. Алгоритм, по возможности, должен быть оптимален по времени и памяти.

Ответ

Напишите функцию, определяющую количество битов, которые необходимо изменить, чтобы из целого числа А получить целое число B. Числа, допустим, 32-битные, язык любой.

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

Ответ

В книге N страниц, пронумерованных как обычно от 1 до N. Если сложить количество цифр, содержащихся в каждом номере страницы, будет 1095. Сколько страниц в книге?

Ответ

Задачка по С++, которая, тем не менее, будет полезна и для других языков. Сопоставьте хэш-таблицу и mар из стандартной библиотеки шаблонов (STL). Как организована хэш-таблица? Какая структура данных будет оптимальной для небольших объемов данных?

Ответ

Разработайте класс, обеспечивающий блокировку так, чтобы предотвратить возникновение мертвой блокировки.

Ответ

[attention type=green][attention type=green][attention type=green]
Напишите функцию на С++, выводящую в стандартный поток вывода K последних строк файла. При этом файл очень большой, допустим 50 ГБ, длина каждой строки не превышает 256 символов, а число K < 1000.
[/attention][/attention][/attention]

Ответ

Дан кусок сыра в форме куба и нож. Какое минимальное количество разрезов потребуется сделать, чтобы разделить этот кусок на 27 одинаковых кубиков? А на 64 кубика? После каждого разреза части можно компоновать как угодно.

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

Ответ

Реализуйте метод, определяющий, является ли одна строка перестановкой другой. Под перестановкой понимаем любое изменение порядка символов. Регистр учитывается, пробелы являются существенными.

Ответ

В тёмной комнате вам вручают колоду карт, в которой известное количество карт N лежат рубашкой вверх, а остальные — вниз. Вы не можете видеть карты, но можете их переворачивать. Как вы разделите колоду на две стопки, чтобы в каждой из них было одинаковое число карт, лежащих рубашкой вверх?

Эта головоломка в своё время была популярна в JP Morgan Chase. Понятное дело, оказавшись в темноте, вы просто достанете сотовый телефон и воспользуетесь экраном как фонариком. Однако эта задачка появилась до эпохи сотовых телефонов, и её можно решить, даже не видя карт.

Ответ

Реализуйте вручную стек со стандартными функциями push/pop и дополнительной функцией min, возвращающей минимальный элемент стека. Все эти функции должны работать за O(1). Решение оптимизируйте по использованию памяти.

Ответ

Источник: https://tproger.ru/articles/problems/

8 задач на логику, без которых не обходится собеседование в Google и Tesla

Задания на собеседовании
8 задач на логику, без которых не обходится собеседование в Google и Tesla

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

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

А ведь именно подобная «изюминка» встречается на собеседовании таких всемирно известных корпораций, как Apple, Google, и Microsoft.

1. Загадка о двух дверях

Загадка о проблеме выбора. / tyt.by

Эту задачку можно услышать в стенах цифрового гиганта Apple. Условие звучит так: «Шелдон Купер (персонаж популярного сериала) прошел игровой квест до последнего рубежа.

Теперь перед ним — две двери, одна из которых приведет к сокровищу, а вторая — в смертельно опасный лабиринт. У каждой двери стоит стражник, оба они знают, какая из них ведет к сокровищу. Вот только лишь один из них скажет правду. Шелдон не знает, кто из них врун, а кто нет.

Прежде чем сделать выбор, можно поставить всего один вопрос и только одному стражнику.

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

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

2. Инопланетяне и шапки

Противостояние инопланетному завоеванию. / fishki.netЕще одна загадка для соискателей вакансий в Apple. Звучит она так:

«Землю захватили инопланетяне. Они хотят уничтожить всю планету, но решили дать человечеству один шанс.

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

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

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

Ответ: Первый отвечающий считает количество черных шляп перед собой, если их нечетное число, он называет «черный», если четное — «белый».

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

3. Задание с мотоциклами

Полсотни мотоциклов и бесконечная дорога впереди. / motorpage.ru

Эта задачка является частым гостем собеседований в компании Adobe:

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

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

Ответ: Сначала необходимо перевезти все мотоциклы на пятьдесят километров. Затем, топливо из половины мотоциклов перевивается во вторую половину. В результате мы имеем 25 мотоциклов с полным баком. Повторяйте процедуру каждый пятьдесят километров. Таким образом, можно проехать 350 км.

4. Задача о двух ведрах

Когда нужна золотая середина, а под рукой ведра разного размера. / teletype.in

При отборе будущих сотрудников в корпорацию Microsoft используют следующую задачу:

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

Вопрос: Как с их помощью отмерить четыре литра?»

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

5. Загадка о двух горящих веревках

Как с помощью веревок посчитать время. / mixstuff.ru

Необычная задачка из стен офисов Microsoft:

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

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

Ответ: Одна из веревок поджигается с двух концов, одновременно с ней поджигается вторая, но уже с одного конца. Когда первый отрезок догорит, пройдет 30 минут, от первого также останется 30-минутный отрезок. Затем поджигаем оставшуюся веревку с двух концов, и она горит еще 15 минут.

6. Задача о восьми шариках

Один размер не значит один вес. / zagadky.com

Неудивительно, что в таком информационном гиганте как Google, который способен генерировать любую информацию, есть загадки для собеседований. Условие звучит так:

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

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

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

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

Если же более тяжелого шарика в группах по 3 шарика не оказалось, он — среди 2 оставшихся.

Почему из борта корабля периодически бьет фонтаном вода

7. Лайфхак для собеседования от Илона Маска

Загадка-фаворит Илона Маска. / mk.ru

Оказывается, у Илона Маска есть собственная любимая загадка на случай собеседования. Условия ее таковы:«Представьте, что вы стоите на поверхности Земли. Вы проходите одну милю на юг, одну на запад и одну на север и оказываетесь в той же точке, откуда начали движение.

Вопрос: Где вы находитесь?»

Ответ: Их два. Первый способны дать большинство инженеров — это Северный полюс. Если с Северного полюса пройти одну милю на юг, потом повернуть на запад и пройти еще одну милю, а затем сменить направление на северное, то через одну милю вы снова окажетесь на Северном полюсе, замкнув своим движением треугольник.

Интересные задачи, которые задают на собеседовании

Задания на собеседовании
Задания на собеседовании

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

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

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

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

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

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

[attention type=yellow][attention type=yellow][attention type=yellow]
Во время собеседования вам могут задавать задачи разных видов. Многие из них не имеют какого-либо конкретного решения, что предполагает оценку степени креативности соискателя.
[/attention][/attention][/attention]

Но имеются всё же и такие задачи, у которых решение есть. И такими задачами являются задачи логического характера.

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

Всего мы рассмотрим пять задач.

Комната с лампочками

Условие: Имеется закрытая комната, в которой есть три лампочки. С внешней стороны комнаты имеется три выключателя. Вам нужно узнать, какой выключатель включает каждую из лампочек. Но в комнату вы можете зайти только единожды.

Ответ

Решение: С точки зрения менеджера, вы можете привлечь к решению своих сотрудников, однако необходимо решить задачу самостоятельно. Как нужно рассуждать: наша комната закрыта и снаружи лампочки не видны.

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

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

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

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

Получаем новое состояние: лампа либо «тёплая», либо «холодная».

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

Хотите научиться решать такие задачи? Сегодня курс «Когнитивистика» со скидкой 20%! Промокод — SOBES.

Условие: Имеется две сковородки и три котлеты. Чтобы обжарить одну котлету с одной стороны, требуется минута. Одна сковородка вмещает лишь одну котлету. Какой минимум времени необходим, чтобы обжарить все котлеты полностью?

Ответ

Решение: Итак, размышляем обычно: чтобы пожарить две котлеты с двух сторон сразу, нам понадобятся две минуты. После этого мы уберём две котлеты и начнём жарить третью. Получается, что нужно ещё две минуты. Так, понимаем, что всего нам нужно на обжарку котлет четыре минуты. Но это неверно, т.к. есть способ уложиться в три минуты.

Переходим к креативному мышлению: есть две сковороды, на которых мы можем жарить одновременно. Начиная с обжарки двух котлет, мы сразу же займём обе сковороды, и после обжарки двух котлет одна сковорода останется незадействованной. Чтобы сократить время жарки, нужно её задействовать. Но как?

Мы можем разделить весь процесс жарки на обжаривание котлет с двух сторон, и получим шесть этапов. Если мы возьмём эти шесть этапов, занимающих, в общей сложности, шесть минут, и вспомним, что у нас имеется две сковороды, то можно сделать логический вывод, что на весь процесс жарки нам может хватить трёх минут – нужно только понять алгоритм, который совсем несложен.

Последовательность действий должна быть такой: кладём жарить две котлеты, но одну после первой минуты убираем со сковороды, и кладём сырую. Через минуту одна из первых двух котлет дожарится и на её место нужно будет положить первую – недожаренную. На третьей минуте дожарятся обе оставшиеся котлеты.

Хотите научиться решать такие задачи? Сегодня курс «Когнитивистика» со скидкой 20%! Промокод — SOBES.

Условие: На постоялый двор нанёс визит странник. У него нет с собой денег, но есть золотая цепочка, состоящая из шести звеньев.

[attention type=red][attention type=red][attention type=red]
Хозяин двора согласен взять оплату жилья в виде одного звена цепочки на каждый день, но при условии, чтобы распиленным оказалось только одно звено. Причём, оплата должна поступать именно ежедневно, т.к.
[/attention][/attention][/attention]

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

Ответ

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

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

Далее нужно понять суть: и хозяин и странник могут обмениваться, а хозяин также может давать сдачу. Отсюда следует простое решение.Распиливаем конкретно третье звено, чтобы получить разменную «монету» в 1, 2 и 3 звена.

На первые сутки странник платит одним звеном, на вторые – платит двумя, но забирает одно первое, на третьи – платит тремя, но забирает два вторых и т.д. до конца срока пребывания. В тоге мы имеем только одно распиленное звено, пять дней проживания и довольного хозяина.

Хотите научиться решать такие задачи? Сегодня курс «Когнитивистика» со скидкой 20%! Промокод — SOBES.

Условие: Есть две верёвки и коробок со спичками. О каждой верёвке мы знаем, что если их поджечь, то они полностью сгорят за один час. Нам нужно отмерить пятнадцать минут. Но как нам это сделать, если мы знаем, что верёвки будут прогорать неравномерно?

Ответ

Решение: Разрезать верёвку на четыре равные части и просто поджечь не получится, т.к. время, за которое сгорает верёвка, не равно её длине – одна часть верёвки может гореть быстрее, другая – медленнее и т.д.

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

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

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

[attention type=green][attention type=green][attention type=green]
Так у нас остаётся кусок второй верёвки, который сгорит за полчаса. Если мы подожжём его с двух концов, то получим 15 минут.
[/attention][/attention][/attention]

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

Ответ

Решение: Думая обычно, мы придём в тупик, т.к. очевидно, что для разделения торта на восемь кусков необходимо сделать четыре разреза.

Теперь думаем креативно. Решение задачи может быть вполне простым. И вообще этих решений есть два.

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

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

В первую очередь, разрезаем торт крест-накрест двумя разрезами, и получаем четыре куска.

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

Второй вариант заключается в том, что мы разрезаем торт не как обычно, а в горизонтальной плоскости, т.е. поперёк. Немного странными получатся в итоге куски, но вариант всё-таки хорош, согласитесь?

Хотите научиться решать такие задачи? Сегодня курс «Когнитивистика» со скидкой 20%! Промокод — SOBES.

Надеемся, эта информация вам пригодится, и вы сможете удивить своих потенциальных работодателей на собеседовании.

[attention type=yellow][attention type=yellow][attention type=yellow]
Ну, и чтобы не расслабляться, вот вам напоследок ещё одна интересная задачка, но уже без решения: посреди пшеничного поля был найден мёртвый мужчина, который крепко сжимает в руках спичку. Объясните причину его смерти.
[/attention][/attention][/attention]

А также смотрите другие интересные примеры задач:

  • По ТРИЗ
  • Как положить жирафа в холодильник
  • Задача Рачинского
  • Задачи Ферми

Источник: https://4brain.ru/blog/%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%B5%D1%81%D0%BD%D1%8B%D0%B5-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8-%D0%BD%D0%B0-%D1%81%D0%BE%D0%B1%D0%B5%D1%81%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8/

Задачи на логику на собеседовании (с ответами)

Задания на собеседовании

Задачи на логику – распространенный инструмент HR-менеджеров для оценки соискателей.

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

Ну, например, такая задача-вопрос:

Есть ли на Земле место, где оба конца стрелки компаса указывают на север?

Оказывается, такое место есть. Это Южный полюс. Поскольку вокруг него – только север, куда ни повернись, то оба конца стрелки компаса в этой точке смотрят на север.

Для решения нужно немножко знаний из школьного курса географии и догадливость. И хладнокровие: если сразу позволить себя сбить с толку вопросом, то способность думать может впасть в кому.

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

На самом деле, найти ответ не обязательно.

Учтите, что задачи на логику на собеседование задаются не только для того, чтобы соискатель дал верный ответ. (Хотя, если вы это сделаете, это произведет впечатление).

Важно:

– не сдаться сходу, не признать, что вы не знаете ответа и не умеете решать задачи на логику,

– показать ход мысли. Порассуждайте вслух – как вы ищете решение, на какие моменты опираетесь? Эйчару важно понять, что вы умеете рассуждать логически.

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

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

Ответы вы найдете во второй части статьи, под задачами (чтобы не было соблазна подглядывать ;)).

Задачи:

1) 5 землекопов за 5 часов выкапывают 5 м канавы. Сколько нужно землекопов, чтобы вырыть 100 м канавы за 100 часов, если продуктивность работы такая же?

2) Воздушный шар движется в потоке воздуха, в южном направлении. В каком направлении будут развеваться флаги на его гондоле?

3) Почему у яйца один конец острый, а другой  – тупой?

4) В 12 часов ночи идет дождь. Можно ли ожидать, что через 72 часа выглянет солнце?

5) Как следует бросить мяч, чтобы он непременно к вам вернулся?

[attention type=red][attention type=red][attention type=red]
6) На пол положили карандаш и попросили нескольких людей по очереди через него перепрыгнуть. С задачей не справился никто. Почему?
[/attention][/attention][/attention]

7) Ире и Маше подарили по коробке, в каждой из которых 12 конфет. Ира съела несколько конфет. Маша съела столько конфет, сколько осталось в коробке у Иры. Сколько конфет осталось у Иры и Маши на двоих?

8) В деревне жил странный человек. Любимой забавой жителей и гостей деревни была следующая. Чудаку предлагали на выбор монету в 10 центов и бумажную купюру в 10 долларов. Человек всегда выбирал монету. Почему?

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

На улице стоят пять домов.

Англичанин живет в красном доме.

У испанца есть собака.

В зеленом доме пьют кофе.

Украинец пьет чай.

Зеленый дом стоит сразу справа от белого дома.

Тот, кто курит Old Gold, разводит улиток.

В желтом доме курят Kool.

В центральном доме пьют молоко.

Норвежец живет в первом доме.

Сосед того, кто курит Chesterfield, держит лису.

В доме по соседству с тем, в котором держат лошадь, курят Kool.

Тот, кто курит Lucky Strike, пьет апельсиновый сок.

Японец курит Parliament.

Норвежец живет рядом с синим домом.

[attention type=yellow][attention type=yellow][attention type=yellow]
Каждый из домов покрашен в отдельный цвет, в каждом доме живет представитель отдельной национальности, у каждого — свой питомец, своя любимая марка сигарет и напиток.
[/attention][/attention][/attention]

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

Ответы:

1) Те же 5 землекопов. За 1 час 5 землекопов выкапывают 1 м канавы. Значит, за 100 часов они выкопают 100 м.

2) Флаги не будут развиваться; они будут в таком же состоянии, как если бы шар находился на земле при полном безветрии. Дело в том, что относительно воздушной массы, в которой находится шар, он неподвижен, поэтому флаги будут находиться в состоянии покоя.

3) Такая форма позволяет яйцу не укатиться. Если бы яйцо было правильной, симметричной формы – например, круглым – оно могло бы катиться по прямой. Несимметричная форма заставляет яйцо двигаться по кругу. То есть если оно находится, например, на краю пропасти, то шансов укатиться и упасть у яйца меньше. Так природа заботится о сохранении яйца и его содержимого.

4) Нет, солнце не выглянет, потому что через 72 часа (трое суток) будет 12 часов ночи.

5) Нужно бросить его вверх.

6) Потому что карандаш положили вплотную к стене.

7) 12 конфет.

8) Он выбирал монету, потому что знал, что, как только он выберет купюру, люди потеряют к забаве интерес, и он перестанет получать монеты.

9) Японец держит зебру, норвежец пьет воду.

Источник: https://blog.trud.com/blog/2016/07/05/zadachi-na-logiku-na-sobesedovanii/

10 задач с собеседований в крупные компании

Задания на собеседовании

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

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

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

У каждой двери стоит стражник, каждый из них знает, какая дверь ведет к сокровищу. Один из стражников никогда не врет, другой — врет всегда. Шелдон не знает, кто из них врун, а кто нет.

Прежде чем выбрать дверь, задать можно только один вопрос и только одному стражнику.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В центральном доме пьют молоко.Норвежец живет в первом доме.Сосед того, кто курит Chesterfield, держит лису.В доме по соседству с тем, в котором держат лошадь, курят Kool.Тот, кто курит Lucky Strike, пьет апельсиновый сок.Японец курит Parliament.

Норвежец живет рядом с синим домом.

[attention type=yellow][attention type=yellow][attention type=yellow]
Каждый из домов покрашен в отдельный цвет, в каждом доме живет представитель отдельной национальности, у каждого — свой питомец, своя любимая марка сигарет и напиток.
[/attention][/attention][/attention]

Источник: https://www.adme.ru/zhizn-nauka/10-zadach-s-sobesedovanij-v-krupnye-kompanii-866660/

123 задачи с IT-собеседований с разбором решений

Задания на собеседовании

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

В нашей рубрике c заданиями уже больше 100 вопросов с подробным разбором решений. Мы решили собрать воедино все самые интересные и популярные задачи для программистов, которые могут встретиться вам на собеседовании.

Есть однонаправленный список из структур. В нём random указывает на какой-то еще элемент этого же списка. Требуется написать функцию, которая копирует этот список с сохранением структуры (т.е.

если в старом списке random первой ноды указывал на 4-ю, в новом списке должно быть то же самое – рандом первой ноды указывает на 4-ю ноду нового списка). O(n), константная дополнительная память + память под элементы нового списка.

Нельзя сразу выделить память под все данные одник куском т.е. список должен быть честным, разбросанным по частям, а не единым блоком, как массив.

Ответ Вариант реализации

Классическая задачка с собеседований в Google. На доске записаны числа, вам нужно ответить на вопрос: какое число идёт дальше?

Ответ

Допустим, вы летите из Москвы во Владивосток, а затем обратно, при полном безветрии. Затем вы совершаете точно такой же перелёт, но на этот раз на протяжении всего перелёта дует постоянный западный ветер: в одну сторону попутный, в обратную — лобовой.

Ответ

Что не так в этом отрывке кода на С++?

operator int() const { return *this; }

Ответ

Задача, которая была популярна в своё время на собеседованиях в Amazon. Мы русифицировали её, но смысл остался тот же. Вам нужно продолжить последовательность.

Ответ автора с обзором вариантов ответов подписчиков

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

Ответ

«Вас уменьшили до размеров 5-центовой монеты и бросили в блендер. Ваш вес уменьшился так, что плотность вашего тела осталась прежней. Лезвия начнут вращаться через 60 секунд. Ваши действия?»

Это классическая google-задачка, хороший разбор которой в рунете не так-то просто найти. Мы подготовили его для вас. Абсолютного правильного ответа нет, но есть те, которые явно лучше остальных.

Разбор вариантов ответа

Вопрос по С++. Что за ошибка «pure virtual function call»? В какой ситуации она может быть сгенерирована? Предоставьте минимальный код, приводящий к ней.

Ответ

В вашем распоряжении 10 тысяч серверов в дата-центре с возможностью удалённого управления и один день, чтобы получить миллион долларов. Что вы для этого сделаете?

Ответ

У вас есть аналоговые часы с секундной стрелкой. Сколько раз в день все три стрелки часов накладываются друг на друга?

Ответ

В чём разница между string и String в C#?

Ответ

[attention type=red][attention type=red][attention type=red]
Вы играете в футбол на пустынном острове и хотите подбросить монетку, чтобы решить, какой команде достанется мяч. Единственная монета, что у вас есть, является гнутой, и поэтому вносит явные искажения в результат при подбрасывании. Как вы тем не менее можете использовать такую монету, чтобы принять справедливое решение?
[/attention][/attention][/attention]

Ответ

Cколько мячей для гольфа войдет в школьный автобус?

Для справки: в Национальных стандартах транспотрных средств для школ в США на 1995 год указаны максимальные размеры школьного автобуса и равны 40 футам в длину и 8.5 футам в ширину. Стандартный диаметр мяча для гольфа — 1.69 дюйма с допуском 0.005 дюймов.

Ответ

Представьте себе вращающийся диск, например DVD. У вас есть в распоряжении черная (Ч) и белая (Б) краски. На краю диска установлен небольшой датчик, который определяет цвет под ним и выдает результат в виде сигнала. Как бы вы раскрасили диск, чтобы было возможно определить направление вращения по показаниям датчика?

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

Датчик фиксирует цвет точки в непосредственном месте установки в последовательные моменты времени. Показания представляются в виде «ЧЧЧББ…». Задача сводится к такой раскраске диска, где последовательность показаний отличается при вращении в прямую и в противоположную стороны.

Ответ

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

Ответ

Найдите ошибки в следующем коде.

unsigned int i; for (i = 100; i >= 0; –i) printf(“%d “, i);

Ответ

Объясните, что делает этот код.

((n & (n – 1)) == 0)

Ответ

Дано 100-этажное здание. Если яйцо сбросить с высоты N-го этажа (или с большей высоты), оно разобьется. Если его бросить с любого меньшего этажа, оно не разобьется. У вас есть два яйца. Найдите N за минимальное количество бросков.

Ответ

Продолжаем задачки по С/С++. Что означает ключевое слово volatile и в каких ситуация оно может быть применено? Если даже помните формальное значение, попробуйте привести пример ситуации, где volatile на самом деле будет полезно.

Ответ

[attention type=green][attention type=green][attention type=green]
У вас есть отсортированная матрица размера MxN. Предложите алгоритм поиска в ней произвольного элемента. Под отсортированной матрицей будем понимать такую матрицу, строки и столбцы которой отсортированы (см. пример).
[/attention][/attention][/attention]

Ответ

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

Ответ

На пустынном шоссе вероятность появления автомобиля за 30-минутный период составляет 0.95. Какова вероятность его появления за 10 минут?

Ответ

Напишите функцию суммирования двух целых чисел без использования «+» и других арифметических операторов.

Ответ

У вас есть парк из 50 грузовиков. Каждый из них полностью заправлен и может проехать 100 км. Как далеко с их помощью вы можете доставить определенный груз? Что будет, если в вашем распоряжении N грузовиков?

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

Пересесть из грузовика в гибридный легковой автомобиль Prius нельзя. Бросить грузовик без топлива, где бы это ни случилось, и без водителя – в порядке вещей.

И единственное, что здесь важно, – доставить как можно дальше ценный груз.

Ответ

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

Ответ

[attention type=yellow][attention type=yellow][attention type=yellow]
Напишите метод, который будет подсчитывать количество цифр «2», используемых в десятичной записи целых чисел от 0 до n (включительно). Картинка дана в качестве подсказки к одному из возможных решений.
[/attention][/attention][/attention]

Ответ

Где вы будете плыть быстрее — в воде или сиропе?

Это классическая задача с долгой историей, которую обсуждал в своё время еще Исаак Ньютон. Когда-то она использовалась и на IT-собеседованиях в Google (сейчас — нет). Тем не менее предлагаем вам порассуждать над решением.

Ответ

Напишите методы для умножения, вычитания и деления целых чисел, используя из арифметических операций только оператор суммирования. Язык реализации не важен, об оптимизации скорости работы и использования памяти также можете не особо беспокоиться. Главное, что можно использовать только сложение. В подобных задачах полезно вспомнить суть математических операций.

Ответ

Допустим, вы пишете конвейер, в котором 2 потока, используя общий буфер, обрабатывают данные. Поток-producer эти данные создает, а поток-consumer их обрабатывает (Producer–consumer problem). Следующий код представляет собой самую простую модель: с помощью std::thread мы порождаем поток-consumer, a создавать данные мы будем в главном потоке.

Опустим механизмы синхронизации двух потоков, и обратим внимание на функцию main(). Попробуйте догадаться, что с этим кодом не так, и как его исправить?

void produce() { // создаем задачу и кладем в очередь } void consume() { // читаем данные из очереди и обрабатываем } int main(int , char **) { std::thread thr(consume); // порождаем поток produce(); // создаем данные для обработки thr.join(); // ждем завершения работы функции consume() return 0; }

Ответ

Дано 20 баночек с таблетками. В 19 из них лежат таблетки весом 1 г, а в одной – весом 1.1 г. Даны весы, показывающие точный вес. Как за одно взвешивание найти банку с тяжелыми таблетками?

Ответ

Дана шахматная доска размером 8×8, из которой были вырезаны два противоположных по диагонали угла, и 31 кость домино; каждая кость домино может закрыть два квадратика на поле. Можно ли вымостить костями всю доску? Дайте обоснование своему ответу.

Ответ

Дан входной файл, содержащий четыре миллиарда целых 32-битных чисел. Предложите алгоритм, генерирующий число, отсутствующее в файле. Имеется 1 Гбайт памяти для этой задачи. Дополнительно: а что если у вас всего 10 Мбайт? Количество проходов по файлу должно быть минимальным.

Ответ

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

Ответ

Вы поставили стакан воды на диск проигрывателя виниловых пластинок и медленно увеличиваете скорость вращения. Что произойдет раньше: стакан сползет в сторону, стакан опрокинется, вода расплескается?

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

Ответ

[attention type=red][attention type=red][attention type=red]
Короткая задачка по С++ в виде вопроса для новичков. Почему деструктор полиморфного базового класса должен объявляться виртуальным? Полиморфным считаем класс, в котором есть хотя бы одна виртуальная функция.
[/attention][/attention][/attention]

Ответ

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

Ответ

Предложите алгоритм поиска в односвязном списке k-го элемента с конца. Список реализован вручную, есть только операция получения следующего элемента и указатель на первый элемент. Алгоритм, по возможности, должен быть оптимален по времени и памяти.

Ответ

Напишите функцию, определяющую количество битов, которые необходимо изменить, чтобы из целого числа А получить целое число B. Числа, допустим, 32-битные, язык любой.

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

Ответ

В книге N страниц, пронумерованных как обычно от 1 до N. Если сложить количество цифр, содержащихся в каждом номере страницы, будет 1095. Сколько страниц в книге?

Ответ

Задачка по С++, которая, тем не менее, будет полезна и для других языков. Сопоставьте хэш-таблицу и mар из стандартной библиотеки шаблонов (STL). Как организована хэш-таблица? Какая структура данных будет оптимальной для небольших объемов данных?

Ответ

Разработайте класс, обеспечивающий блокировку так, чтобы предотвратить возникновение мертвой блокировки.

Ответ

[attention type=green][attention type=green][attention type=green]
Напишите функцию на С++, выводящую в стандартный поток вывода K последних строк файла. При этом файл очень большой, допустим 50 ГБ, длина каждой строки не превышает 256 символов, а число K < 1000.
[/attention][/attention][/attention]

Ответ

Дан кусок сыра в форме куба и нож. Какое минимальное количество разрезов потребуется сделать, чтобы разделить этот кусок на 27 одинаковых кубиков? А на 64 кубика? После каждого разреза части можно компоновать как угодно.

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

Ответ

Реализуйте метод, определяющий, является ли одна строка перестановкой другой. Под перестановкой понимаем любое изменение порядка символов. Регистр учитывается, пробелы являются существенными.

Ответ

В тёмной комнате вам вручают колоду карт, в которой известное количество карт N лежат рубашкой вверх, а остальные — вниз. Вы не можете видеть карты, но можете их переворачивать. Как вы разделите колоду на две стопки, чтобы в каждой из них было одинаковое число карт, лежащих рубашкой вверх?

Эта головоломка в своё время была популярна в JP Morgan Chase. Понятное дело, оказавшись в темноте, вы просто достанете сотовый телефон и воспользуетесь экраном как фонариком. Однако эта задачка появилась до эпохи сотовых телефонов, и её можно решить, даже не видя карт.

Ответ

Реализуйте вручную стек со стандартными функциями push/pop и дополнительной функцией min, возвращающей минимальный элемент стека. Все эти функции должны работать за O(1). Решение оптимизируйте по использованию памяти.

Ответ

Источник: https://tproger.ru/articles/problems/

8 задач на логику, без которых не обходится собеседование в Google и Tesla

Задания на собеседовании
8 задач на логику, без которых не обходится собеседование в Google и Tesla

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

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

А ведь именно подобная «изюминка» встречается на собеседовании таких всемирно известных корпораций, как Apple, Google, и Microsoft.

1. Загадка о двух дверях

Загадка о проблеме выбора. / tyt.by

Эту задачку можно услышать в стенах цифрового гиганта Apple. Условие звучит так: «Шелдон Купер (персонаж популярного сериала) прошел игровой квест до последнего рубежа.

Теперь перед ним — две двери, одна из которых приведет к сокровищу, а вторая — в смертельно опасный лабиринт. У каждой двери стоит стражник, оба они знают, какая из них ведет к сокровищу. Вот только лишь один из них скажет правду. Шелдон не знает, кто из них врун, а кто нет.

Прежде чем сделать выбор, можно поставить всего один вопрос и только одному стражнику.

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

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

2. Инопланетяне и шапки

Противостояние инопланетному завоеванию. / fishki.netЕще одна загадка для соискателей вакансий в Apple. Звучит она так:

«Землю захватили инопланетяне. Они хотят уничтожить всю планету, но решили дать человечеству один шанс.

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

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

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

Ответ: Первый отвечающий считает количество черных шляп перед собой, если их нечетное число, он называет «черный», если четное — «белый».

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

3. Задание с мотоциклами

Полсотни мотоциклов и бесконечная дорога впереди. / motorpage.ru

Эта задачка является частым гостем собеседований в компании Adobe:

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

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

Ответ: Сначала необходимо перевезти все мотоциклы на пятьдесят километров. Затем, топливо из половины мотоциклов перевивается во вторую половину. В результате мы имеем 25 мотоциклов с полным баком. Повторяйте процедуру каждый пятьдесят километров. Таким образом, можно проехать 350 км.

4. Задача о двух ведрах

Когда нужна золотая середина, а под рукой ведра разного размера. / teletype.in

При отборе будущих сотрудников в корпорацию Microsoft используют следующую задачу:

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

Вопрос: Как с их помощью отмерить четыре литра?»

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

5. Загадка о двух горящих веревках

Как с помощью веревок посчитать время. / mixstuff.ru

Необычная задачка из стен офисов Microsoft:

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

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

Ответ: Одна из веревок поджигается с двух концов, одновременно с ней поджигается вторая, но уже с одного конца. Когда первый отрезок догорит, пройдет 30 минут, от первого также останется 30-минутный отрезок. Затем поджигаем оставшуюся веревку с двух концов, и она горит еще 15 минут.

6. Задача о восьми шариках

Один размер не значит один вес. / zagadky.com

Неудивительно, что в таком информационном гиганте как Google, который способен генерировать любую информацию, есть загадки для собеседований. Условие звучит так:

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

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

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

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

Если же более тяжелого шарика в группах по 3 шарика не оказалось, он — среди 2 оставшихся.

Почему из борта корабля периодически бьет фонтаном вода

7. Лайфхак для собеседования от Илона Маска

Загадка-фаворит Илона Маска. / mk.ru

Оказывается, у Илона Маска есть собственная любимая загадка на случай собеседования. Условия ее таковы:«Представьте, что вы стоите на поверхности Земли. Вы проходите одну милю на юг, одну на запад и одну на север и оказываетесь в той же точке, откуда начали движение.

Вопрос: Где вы находитесь?»

Ответ: Их два. Первый способны дать большинство инженеров — это Северный полюс. Если с Северного полюса пройти одну милю на юг, потом повернуть на запад и пройти еще одну милю, а затем сменить направление на северное, то через одну милю вы снова окажетесь на Северном полюсе, замкнув своим движением треугольник.

Интересные задачи, которые задают на собеседовании

Задания на собеседовании
Задания на собеседовании

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

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

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

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

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

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

[attention type=yellow][attention type=yellow][attention type=yellow]
Во время собеседования вам могут задавать задачи разных видов. Многие из них не имеют какого-либо конкретного решения, что предполагает оценку степени креативности соискателя.
[/attention][/attention][/attention]

Но имеются всё же и такие задачи, у которых решение есть. И такими задачами являются задачи логического характера.

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

Всего мы рассмотрим пять задач.

Комната с лампочками

Условие: Имеется закрытая комната, в которой есть три лампочки. С внешней стороны комнаты имеется три выключателя. Вам нужно узнать, какой выключатель включает каждую из лампочек. Но в комнату вы можете зайти только единожды.

Ответ

Решение: С точки зрения менеджера, вы можете привлечь к решению своих сотрудников, однако необходимо решить задачу самостоятельно. Как нужно рассуждать: наша комната закрыта и снаружи лампочки не видны.

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

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

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

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

Получаем новое состояние: лампа либо «тёплая», либо «холодная».

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

Хотите научиться решать такие задачи? Сегодня курс «Когнитивистика» со скидкой 20%! Промокод — SOBES.

Условие: Имеется две сковородки и три котлеты. Чтобы обжарить одну котлету с одной стороны, требуется минута. Одна сковородка вмещает лишь одну котлету. Какой минимум времени необходим, чтобы обжарить все котлеты полностью?

Ответ

Решение: Итак, размышляем обычно: чтобы пожарить две котлеты с двух сторон сразу, нам понадобятся две минуты. После этого мы уберём две котлеты и начнём жарить третью. Получается, что нужно ещё две минуты. Так, понимаем, что всего нам нужно на обжарку котлет четыре минуты. Но это неверно, т.к. есть способ уложиться в три минуты.

Переходим к креативному мышлению: есть две сковороды, на которых мы можем жарить одновременно. Начиная с обжарки двух котлет, мы сразу же займём обе сковороды, и после обжарки двух котлет одна сковорода останется незадействованной. Чтобы сократить время жарки, нужно её задействовать. Но как?

Мы можем разделить весь процесс жарки на обжаривание котлет с двух сторон, и получим шесть этапов. Если мы возьмём эти шесть этапов, занимающих, в общей сложности, шесть минут, и вспомним, что у нас имеется две сковороды, то можно сделать логический вывод, что на весь процесс жарки нам может хватить трёх минут – нужно только понять алгоритм, который совсем несложен.

Последовательность действий должна быть такой: кладём жарить две котлеты, но одну после первой минуты убираем со сковороды, и кладём сырую. Через минуту одна из первых двух котлет дожарится и на её место нужно будет положить первую – недожаренную. На третьей минуте дожарятся обе оставшиеся котлеты.

Хотите научиться решать такие задачи? Сегодня курс «Когнитивистика» со скидкой 20%! Промокод — SOBES.

Условие: На постоялый двор нанёс визит странник. У него нет с собой денег, но есть золотая цепочка, состоящая из шести звеньев.

[attention type=red][attention type=red][attention type=red]
Хозяин двора согласен взять оплату жилья в виде одного звена цепочки на каждый день, но при условии, чтобы распиленным оказалось только одно звено. Причём, оплата должна поступать именно ежедневно, т.к.
[/attention][/attention][/attention]

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

Ответ

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

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

Далее нужно понять суть: и хозяин и странник могут обмениваться, а хозяин также может давать сдачу. Отсюда следует простое решение.Распиливаем конкретно третье звено, чтобы получить разменную «монету» в 1, 2 и 3 звена.

На первые сутки странник платит одним звеном, на вторые – платит двумя, но забирает одно первое, на третьи – платит тремя, но забирает два вторых и т.д. до конца срока пребывания. В тоге мы имеем только одно распиленное звено, пять дней проживания и довольного хозяина.

Хотите научиться решать такие задачи? Сегодня курс «Когнитивистика» со скидкой 20%! Промокод — SOBES.

Условие: Есть две верёвки и коробок со спичками. О каждой верёвке мы знаем, что если их поджечь, то они полностью сгорят за один час. Нам нужно отмерить пятнадцать минут. Но как нам это сделать, если мы знаем, что верёвки будут прогорать неравномерно?

Ответ

Решение: Разрезать верёвку на четыре равные части и просто поджечь не получится, т.к. время, за которое сгорает верёвка, не равно её длине – одна часть верёвки может гореть быстрее, другая – медленнее и т.д.

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

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

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

[attention type=green][attention type=green][attention type=green]
Так у нас остаётся кусок второй верёвки, который сгорит за полчаса. Если мы подожжём его с двух концов, то получим 15 минут.
[/attention][/attention][/attention]

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

Ответ

Решение: Думая обычно, мы придём в тупик, т.к. очевидно, что для разделения торта на восемь кусков необходимо сделать четыре разреза.

Теперь думаем креативно. Решение задачи может быть вполне простым. И вообще этих решений есть два.

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

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

В первую очередь, разрезаем торт крест-накрест двумя разрезами, и получаем четыре куска.

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

Второй вариант заключается в том, что мы разрезаем торт не как обычно, а в горизонтальной плоскости, т.е. поперёк. Немного странными получатся в итоге куски, но вариант всё-таки хорош, согласитесь?

Хотите научиться решать такие задачи? Сегодня курс «Когнитивистика» со скидкой 20%! Промокод — SOBES.

Надеемся, эта информация вам пригодится, и вы сможете удивить своих потенциальных работодателей на собеседовании.

[attention type=yellow][attention type=yellow][attention type=yellow]
Ну, и чтобы не расслабляться, вот вам напоследок ещё одна интересная задачка, но уже без решения: посреди пшеничного поля был найден мёртвый мужчина, который крепко сжимает в руках спичку. Объясните причину его смерти.
[/attention][/attention][/attention]

А также смотрите другие интересные примеры задач:

  • По ТРИЗ
  • Как положить жирафа в холодильник
  • Задача Рачинского
  • Задачи Ферми

Источник: https://4brain.ru/blog/%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%B5%D1%81%D0%BD%D1%8B%D0%B5-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8-%D0%BD%D0%B0-%D1%81%D0%BE%D0%B1%D0%B5%D1%81%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8/

Задачи на логику на собеседовании (с ответами)

Задания на собеседовании

Задачи на логику – распространенный инструмент HR-менеджеров для оценки соискателей.

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

Ну, например, такая задача-вопрос:

Есть ли на Земле место, где оба конца стрелки компаса указывают на север?

Оказывается, такое место есть. Это Южный полюс. Поскольку вокруг него – только север, куда ни повернись, то оба конца стрелки компаса в этой точке смотрят на север.

Для решения нужно немножко знаний из школьного курса географии и догадливость. И хладнокровие: если сразу позволить себя сбить с толку вопросом, то способность думать может впасть в кому.

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

На самом деле, найти ответ не обязательно.

Учтите, что задачи на логику на собеседование задаются не только для того, чтобы соискатель дал верный ответ. (Хотя, если вы это сделаете, это произведет впечатление).

Важно:

– не сдаться сходу, не признать, что вы не знаете ответа и не умеете решать задачи на логику,

– показать ход мысли. Порассуждайте вслух – как вы ищете решение, на какие моменты опираетесь? Эйчару важно понять, что вы умеете рассуждать логически.

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

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

Ответы вы найдете во второй части статьи, под задачами (чтобы не было соблазна подглядывать ;)).

Задачи:

1) 5 землекопов за 5 часов выкапывают 5 м канавы. Сколько нужно землекопов, чтобы вырыть 100 м канавы за 100 часов, если продуктивность работы такая же?

2) Воздушный шар движется в потоке воздуха, в южном направлении. В каком направлении будут развеваться флаги на его гондоле?

3) Почему у яйца один конец острый, а другой  – тупой?

4) В 12 часов ночи идет дождь. Можно ли ожидать, что через 72 часа выглянет солнце?

5) Как следует бросить мяч, чтобы он непременно к вам вернулся?

[attention type=red][attention type=red][attention type=red]
6) На пол положили карандаш и попросили нескольких людей по очереди через него перепрыгнуть. С задачей не справился никто. Почему?
[/attention][/attention][/attention]

7) Ире и Маше подарили по коробке, в каждой из которых 12 конфет. Ира съела несколько конфет. Маша съела столько конфет, сколько осталось в коробке у Иры. Сколько конфет осталось у Иры и Маши на двоих?

8) В деревне жил странный человек. Любимой забавой жителей и гостей деревни была следующая. Чудаку предлагали на выбор монету в 10 центов и бумажную купюру в 10 долларов. Человек всегда выбирал монету. Почему?

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

На улице стоят пять домов.

Англичанин живет в красном доме.

У испанца есть собака.

В зеленом доме пьют кофе.

Украинец пьет чай.

Зеленый дом стоит сразу справа от белого дома.

Тот, кто курит Old Gold, разводит улиток.

В желтом доме курят Kool.

В центральном доме пьют молоко.

Норвежец живет в первом доме.

Сосед того, кто курит Chesterfield, держит лису.

В доме по соседству с тем, в котором держат лошадь, курят Kool.

Тот, кто курит Lucky Strike, пьет апельсиновый сок.

Японец курит Parliament.

Норвежец живет рядом с синим домом.

[attention type=yellow][attention type=yellow][attention type=yellow]
Каждый из домов покрашен в отдельный цвет, в каждом доме живет представитель отдельной национальности, у каждого — свой питомец, своя любимая марка сигарет и напиток.
[/attention][/attention][/attention]

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

Ответы:

1) Те же 5 землекопов. За 1 час 5 землекопов выкапывают 1 м канавы. Значит, за 100 часов они выкопают 100 м.

2) Флаги не будут развиваться; они будут в таком же состоянии, как если бы шар находился на земле при полном безветрии. Дело в том, что относительно воздушной массы, в которой находится шар, он неподвижен, поэтому флаги будут находиться в состоянии покоя.

3) Такая форма позволяет яйцу не укатиться. Если бы яйцо было правильной, симметричной формы – например, круглым – оно могло бы катиться по прямой. Несимметричная форма заставляет яйцо двигаться по кругу. То есть если оно находится, например, на краю пропасти, то шансов укатиться и упасть у яйца меньше. Так природа заботится о сохранении яйца и его содержимого.

4) Нет, солнце не выглянет, потому что через 72 часа (трое суток) будет 12 часов ночи.

5) Нужно бросить его вверх.

6) Потому что карандаш положили вплотную к стене.

7) 12 конфет.

8) Он выбирал монету, потому что знал, что, как только он выберет купюру, люди потеряют к забаве интерес, и он перестанет получать монеты.

9) Японец держит зебру, норвежец пьет воду.

Источник: https://blog.trud.com/blog/2016/07/05/zadachi-na-logiku-na-sobesedovanii/

10 задач с собеседований в крупные компании

Задания на собеседовании

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

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

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

У каждой двери стоит стражник, каждый из них знает, какая дверь ведет к сокровищу. Один из стражников никогда не врет, другой — врет всегда. Шелдон не знает, кто из них врун, а кто нет.

Прежде чем выбрать дверь, задать можно только один вопрос и только одному стражнику.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В центральном доме пьют молоко.Норвежец живет в первом доме.Сосед того, кто курит Chesterfield, держит лису.В доме по соседству с тем, в котором держат лошадь, курят Kool.Тот, кто курит Lucky Strike, пьет апельсиновый сок.Японец курит Parliament.

Норвежец живет рядом с синим домом.

[attention type=yellow][attention type=yellow][attention type=yellow]
Каждый из домов покрашен в отдельный цвет, в каждом доме живет представитель отдельной национальности, у каждого — свой питомец, своя любимая марка сигарет и напиток.
[/attention][/attention][/attention]

Источник: https://www.adme.ru/zhizn-nauka/10-zadach-s-sobesedovanij-v-krupnye-kompanii-866660/

123 задачи с IT-собеседований с разбором решений

Задания на собеседовании

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

В нашей рубрике c заданиями уже больше 100 вопросов с подробным разбором решений. Мы решили собрать воедино все самые интересные и популярные задачи для программистов, которые могут встретиться вам на собеседовании.

Есть однонаправленный список из структур. В нём random указывает на какой-то еще элемент этого же списка. Требуется написать функцию, которая копирует этот список с сохранением структуры (т.е.

если в старом списке random первой ноды указывал на 4-ю, в новом списке должно быть то же самое – рандом первой ноды указывает на 4-ю ноду нового списка). O(n), константная дополнительная память + память под элементы нового списка.

Нельзя сразу выделить память под все данные одник куском т.е. список должен быть честным, разбросанным по частям, а не единым блоком, как массив.

Ответ Вариант реализации

Классическая задачка с собеседований в Google. На доске записаны числа, вам нужно ответить на вопрос: какое число идёт дальше?

Ответ

Допустим, вы летите из Москвы во Владивосток, а затем обратно, при полном безветрии. Затем вы совершаете точно такой же перелёт, но на этот раз на протяжении всего перелёта дует постоянный западный ветер: в одну сторону попутный, в обратную — лобовой.

Ответ

Что не так в этом отрывке кода на С++?

operator int() const { return *this; }

Ответ

Задача, которая была популярна в своё время на собеседованиях в Amazon. Мы русифицировали её, но смысл остался тот же. Вам нужно продолжить последовательность.

Ответ автора с обзором вариантов ответов подписчиков

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

Ответ

«Вас уменьшили до размеров 5-центовой монеты и бросили в блендер. Ваш вес уменьшился так, что плотность вашего тела осталась прежней. Лезвия начнут вращаться через 60 секунд. Ваши действия?»

Это классическая google-задачка, хороший разбор которой в рунете не так-то просто найти. Мы подготовили его для вас. Абсолютного правильного ответа нет, но есть те, которые явно лучше остальных.

Разбор вариантов ответа

Вопрос по С++. Что за ошибка «pure virtual function call»? В какой ситуации она может быть сгенерирована? Предоставьте минимальный код, приводящий к ней.

Ответ

В вашем распоряжении 10 тысяч серверов в дата-центре с возможностью удалённого управления и один день, чтобы получить миллион долларов. Что вы для этого сделаете?

Ответ

У вас есть аналоговые часы с секундной стрелкой. Сколько раз в день все три стрелки часов накладываются друг на друга?

Ответ

В чём разница между string и String в C#?

Ответ

[attention type=red][attention type=red][attention type=red]
Вы играете в футбол на пустынном острове и хотите подбросить монетку, чтобы решить, какой команде достанется мяч. Единственная монета, что у вас есть, является гнутой, и поэтому вносит явные искажения в результат при подбрасывании. Как вы тем не менее можете использовать такую монету, чтобы принять справедливое решение?
[/attention][/attention][/attention]

Ответ

Cколько мячей для гольфа войдет в школьный автобус?

Для справки: в Национальных стандартах транспотрных средств для школ в США на 1995 год указаны максимальные размеры школьного автобуса и равны 40 футам в длину и 8.5 футам в ширину. Стандартный диаметр мяча для гольфа — 1.69 дюйма с допуском 0.005 дюймов.

Ответ

Представьте себе вращающийся диск, например DVD. У вас есть в распоряжении черная (Ч) и белая (Б) краски. На краю диска установлен небольшой датчик, который определяет цвет под ним и выдает результат в виде сигнала. Как бы вы раскрасили диск, чтобы было возможно определить направление вращения по показаниям датчика?

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

Датчик фиксирует цвет точки в непосредственном месте установки в последовательные моменты времени. Показания представляются в виде «ЧЧЧББ…». Задача сводится к такой раскраске диска, где последовательность показаний отличается при вращении в прямую и в противоположную стороны.

Ответ

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

Ответ

Найдите ошибки в следующем коде.

unsigned int i; for (i = 100; i >= 0; –i) printf(“%d “, i);

Ответ

Объясните, что делает этот код.

((n & (n – 1)) == 0)

Ответ

Дано 100-этажное здание. Если яйцо сбросить с высоты N-го этажа (или с большей высоты), оно разобьется. Если его бросить с любого меньшего этажа, оно не разобьется. У вас есть два яйца. Найдите N за минимальное количество бросков.

Ответ

Продолжаем задачки по С/С++. Что означает ключевое слово volatile и в каких ситуация оно может быть применено? Если даже помните формальное значение, попробуйте привести пример ситуации, где volatile на самом деле будет полезно.

Ответ

[attention type=green][attention type=green][attention type=green]
У вас есть отсортированная матрица размера MxN. Предложите алгоритм поиска в ней произвольного элемента. Под отсортированной матрицей будем понимать такую матрицу, строки и столбцы которой отсортированы (см. пример).
[/attention][/attention][/attention]

Ответ

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

Ответ

На пустынном шоссе вероятность появления автомобиля за 30-минутный период составляет 0.95. Какова вероятность его появления за 10 минут?

Ответ

Напишите функцию суммирования двух целых чисел без использования «+» и других арифметических операторов.

Ответ

У вас есть парк из 50 грузовиков. Каждый из них полностью заправлен и может проехать 100 км. Как далеко с их помощью вы можете доставить определенный груз? Что будет, если в вашем распоряжении N грузовиков?

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

Пересесть из грузовика в гибридный легковой автомобиль Prius нельзя. Бросить грузовик без топлива, где бы это ни случилось, и без водителя – в порядке вещей.

И единственное, что здесь важно, – доставить как можно дальше ценный груз.

Ответ

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

Ответ

[attention type=yellow][attention type=yellow][attention type=yellow]
Напишите метод, который будет подсчитывать количество цифр «2», используемых в десятичной записи целых чисел от 0 до n (включительно). Картинка дана в качестве подсказки к одному из возможных решений.
[/attention][/attention][/attention]

Ответ

Где вы будете плыть быстрее — в воде или сиропе?

Это классическая задача с долгой историей, которую обсуждал в своё время еще Исаак Ньютон. Когда-то она использовалась и на IT-собеседованиях в Google (сейчас — нет). Тем не менее предлагаем вам порассуждать над решением.

Ответ

Напишите методы для умножения, вычитания и деления целых чисел, используя из арифметических операций только оператор суммирования. Язык реализации не важен, об оптимизации скорости работы и использования памяти также можете не особо беспокоиться. Главное, что можно использовать только сложение. В подобных задачах полезно вспомнить суть математических операций.

Ответ

Допустим, вы пишете конвейер, в котором 2 потока, используя общий буфер, обрабатывают данные. Поток-producer эти данные создает, а поток-consumer их обрабатывает (Producer–consumer problem). Следующий код представляет собой самую простую модель: с помощью std::thread мы порождаем поток-consumer, a создавать данные мы будем в главном потоке.

Опустим механизмы синхронизации двух потоков, и обратим внимание на функцию main(). Попробуйте догадаться, что с этим кодом не так, и как его исправить?

void produce() { // создаем задачу и кладем в очередь } void consume() { // читаем данные из очереди и обрабатываем } int main(int , char **) { std::thread thr(consume); // порождаем поток produce(); // создаем данные для обработки thr.join(); // ждем завершения работы функции consume() return 0; }

Ответ

Дано 20 баночек с таблетками. В 19 из них лежат таблетки весом 1 г, а в одной – весом 1.1 г. Даны весы, показывающие точный вес. Как за одно взвешивание найти банку с тяжелыми таблетками?

Ответ

Дана шахматная доска размером 8×8, из которой были вырезаны два противоположных по диагонали угла, и 31 кость домино; каждая кость домино может закрыть два квадратика на поле. Можно ли вымостить костями всю доску? Дайте обоснование своему ответу.

Ответ

Дан входной файл, содержащий четыре миллиарда целых 32-битных чисел. Предложите алгоритм, генерирующий число, отсутствующее в файле. Имеется 1 Гбайт памяти для этой задачи. Дополнительно: а что если у вас всего 10 Мбайт? Количество проходов по файлу должно быть минимальным.

Ответ

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

Ответ

Вы поставили стакан воды на диск проигрывателя виниловых пластинок и медленно увеличиваете скорость вращения. Что произойдет раньше: стакан сползет в сторону, стакан опрокинется, вода расплескается?

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

Ответ

[attention type=red][attention type=red][attention type=red]
Короткая задачка по С++ в виде вопроса для новичков. Почему деструктор полиморфного базового класса должен объявляться виртуальным? Полиморфным считаем класс, в котором есть хотя бы одна виртуальная функция.
[/attention][/attention][/attention]

Ответ

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

Ответ

Предложите алгоритм поиска в односвязном списке k-го элемента с конца. Список реализован вручную, есть только операция получения следующего элемента и указатель на первый элемент. Алгоритм, по возможности, должен быть оптимален по времени и памяти.

Ответ

Напишите функцию, определяющую количество битов, которые необходимо изменить, чтобы из целого числа А получить целое число B. Числа, допустим, 32-битные, язык любой.

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

Ответ

В книге N страниц, пронумерованных как обычно от 1 до N. Если сложить количество цифр, содержащихся в каждом номере страницы, будет 1095. Сколько страниц в книге?

Ответ

Задачка по С++, которая, тем не менее, будет полезна и для других языков. Сопоставьте хэш-таблицу и mар из стандартной библиотеки шаблонов (STL). Как организована хэш-таблица? Какая структура данных будет оптимальной для небольших объемов данных?

Ответ

Разработайте класс, обеспечивающий блокировку так, чтобы предотвратить возникновение мертвой блокировки.

Ответ

[attention type=green][attention type=green][attention type=green]
Напишите функцию на С++, выводящую в стандартный поток вывода K последних строк файла. При этом файл очень большой, допустим 50 ГБ, длина каждой строки не превышает 256 символов, а число K < 1000.
[/attention][/attention][/attention]

Ответ

Дан кусок сыра в форме куба и нож. Какое минимальное количество разрезов потребуется сделать, чтобы разделить этот кусок на 27 одинаковых кубиков? А на 64 кубика? После каждого разреза части можно компоновать как угодно.

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

Ответ

Реализуйте метод, определяющий, является ли одна строка перестановкой другой. Под перестановкой понимаем любое изменение порядка символов. Регистр учитывается, пробелы являются существенными.

Ответ

В тёмной комнате вам вручают колоду карт, в которой известное количество карт N лежат рубашкой вверх, а остальные — вниз. Вы не можете видеть карты, но можете их переворачивать. Как вы разделите колоду на две стопки, чтобы в каждой из них было одинаковое число карт, лежащих рубашкой вверх?

Эта головоломка в своё время была популярна в JP Morgan Chase. Понятное дело, оказавшись в темноте, вы просто достанете сотовый телефон и воспользуетесь экраном как фонариком. Однако эта задачка появилась до эпохи сотовых телефонов, и её можно решить, даже не видя карт.

Ответ

Реализуйте вручную стек со стандартными функциями push/pop и дополнительной функцией min, возвращающей минимальный элемент стека. Все эти функции должны работать за O(1). Решение оптимизируйте по использованию памяти.

Ответ

Источник: https://tproger.ru/articles/problems/

8 задач на логику, без которых не обходится собеседование в Google и Tesla

Задания на собеседовании
8 задач на логику, без которых не обходится собеседование в Google и Tesla

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

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

А ведь именно подобная «изюминка» встречается на собеседовании таких всемирно известных корпораций, как Apple, Google, и Microsoft.

1. Загадка о двух дверях

Загадка о проблеме выбора. / tyt.by

Эту задачку можно услышать в стенах цифрового гиганта Apple. Условие звучит так: «Шелдон Купер (персонаж популярного сериала) прошел игровой квест до последнего рубежа.

Теперь перед ним — две двери, одна из которых приведет к сокровищу, а вторая — в смертельно опасный лабиринт. У каждой двери стоит стражник, оба они знают, какая из них ведет к сокровищу. Вот только лишь один из них скажет правду. Шелдон не знает, кто из них врун, а кто нет.

Прежде чем сделать выбор, можно поставить всего один вопрос и только одному стражнику.

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

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

2. Инопланетяне и шапки

Противостояние инопланетному завоеванию. / fishki.netЕще одна загадка для соискателей вакансий в Apple. Звучит она так:

«Землю захватили инопланетяне. Они хотят уничтожить всю планету, но решили дать человечеству один шанс.

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

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

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

Ответ: Первый отвечающий считает количество черных шляп перед собой, если их нечетное число, он называет «черный», если четное — «белый».

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

3. Задание с мотоциклами

Полсотни мотоциклов и бесконечная дорога впереди. / motorpage.ru

Эта задачка является частым гостем собеседований в компании Adobe:

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

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

Ответ: Сначала необходимо перевезти все мотоциклы на пятьдесят километров. Затем, топливо из половины мотоциклов перевивается во вторую половину. В результате мы имеем 25 мотоциклов с полным баком. Повторяйте процедуру каждый пятьдесят километров. Таким образом, можно проехать 350 км.

4. Задача о двух ведрах

Когда нужна золотая середина, а под рукой ведра разного размера. / teletype.in

При отборе будущих сотрудников в корпорацию Microsoft используют следующую задачу:

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

Вопрос: Как с их помощью отмерить четыре литра?»

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

5. Загадка о двух горящих веревках

Как с помощью веревок посчитать время. / mixstuff.ru

Необычная задачка из стен офисов Microsoft:

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

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

Ответ: Одна из веревок поджигается с двух концов, одновременно с ней поджигается вторая, но уже с одного конца. Когда первый отрезок догорит, пройдет 30 минут, от первого также останется 30-минутный отрезок. Затем поджигаем оставшуюся веревку с двух концов, и она горит еще 15 минут.

6. Задача о восьми шариках

Один размер не значит один вес. / zagadky.com

Неудивительно, что в таком информационном гиганте как Google, который способен генерировать любую информацию, есть загадки для собеседований. Условие звучит так:

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

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

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

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

Если же более тяжелого шарика в группах по 3 шарика не оказалось, он — среди 2 оставшихся.

Почему из борта корабля периодически бьет фонтаном вода

7. Лайфхак для собеседования от Илона Маска

Загадка-фаворит Илона Маска. / mk.ru

Оказывается, у Илона Маска есть собственная любимая загадка на случай собеседования. Условия ее таковы:«Представьте, что вы стоите на поверхности Земли. Вы проходите одну милю на юг, одну на запад и одну на север и оказываетесь в той же точке, откуда начали движение.

Вопрос: Где вы находитесь?»

Ответ: Их два. Первый способны дать большинство инженеров — это Северный полюс. Если с Северного полюса пройти одну милю на юг, потом повернуть на запад и пройти еще одну милю, а затем сменить направление на северное, то через одну милю вы снова окажетесь на Северном полюсе, замкнув своим движением треугольник.

Интересные задачи, которые задают на собеседовании

Задания на собеседовании
Задания на собеседовании

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

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

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

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

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

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

[attention type=yellow][attention type=yellow][attention type=yellow]
Во время собеседования вам могут задавать задачи разных видов. Многие из них не имеют какого-либо конкретного решения, что предполагает оценку степени креативности соискателя.
[/attention][/attention][/attention]

Но имеются всё же и такие задачи, у которых решение есть. И такими задачами являются задачи логического характера.

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

Всего мы рассмотрим пять задач.

Комната с лампочками

Условие: Имеется закрытая комната, в которой есть три лампочки. С внешней стороны комнаты имеется три выключателя. Вам нужно узнать, какой выключатель включает каждую из лампочек. Но в комнату вы можете зайти только единожды.

Ответ

Решение: С точки зрения менеджера, вы можете привлечь к решению своих сотрудников, однако необходимо решить задачу самостоятельно. Как нужно рассуждать: наша комната закрыта и снаружи лампочки не видны.

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

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

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

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

Получаем новое состояние: лампа либо «тёплая», либо «холодная».

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

Хотите научиться решать такие задачи? Сегодня курс «Когнитивистика» со скидкой 20%! Промокод — SOBES.

Условие: Имеется две сковородки и три котлеты. Чтобы обжарить одну котлету с одной стороны, требуется минута. Одна сковородка вмещает лишь одну котлету. Какой минимум времени необходим, чтобы обжарить все котлеты полностью?

Ответ

Решение: Итак, размышляем обычно: чтобы пожарить две котлеты с двух сторон сразу, нам понадобятся две минуты. После этого мы уберём две котлеты и начнём жарить третью. Получается, что нужно ещё две минуты. Так, понимаем, что всего нам нужно на обжарку котлет четыре минуты. Но это неверно, т.к. есть способ уложиться в три минуты.

Переходим к креативному мышлению: есть две сковороды, на которых мы можем жарить одновременно. Начиная с обжарки двух котлет, мы сразу же займём обе сковороды, и после обжарки двух котлет одна сковорода останется незадействованной. Чтобы сократить время жарки, нужно её задействовать. Но как?

Мы можем разделить весь процесс жарки на обжаривание котлет с двух сторон, и получим шесть этапов. Если мы возьмём эти шесть этапов, занимающих, в общей сложности, шесть минут, и вспомним, что у нас имеется две сковороды, то можно сделать логический вывод, что на весь процесс жарки нам может хватить трёх минут – нужно только понять алгоритм, который совсем несложен.

Последовательность действий должна быть такой: кладём жарить две котлеты, но одну после первой минуты убираем со сковороды, и кладём сырую. Через минуту одна из первых двух котлет дожарится и на её место нужно будет положить первую – недожаренную. На третьей минуте дожарятся обе оставшиеся котлеты.

Хотите научиться решать такие задачи? Сегодня курс «Когнитивистика» со скидкой 20%! Промокод — SOBES.

Условие: На постоялый двор нанёс визит странник. У него нет с собой денег, но есть золотая цепочка, состоящая из шести звеньев.

[attention type=red][attention type=red][attention type=red]
Хозяин двора согласен взять оплату жилья в виде одного звена цепочки на каждый день, но при условии, чтобы распиленным оказалось только одно звено. Причём, оплата должна поступать именно ежедневно, т.к.
[/attention][/attention][/attention]

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

Ответ

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

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

Далее нужно понять суть: и хозяин и странник могут обмениваться, а хозяин также может давать сдачу. Отсюда следует простое решение.Распиливаем конкретно третье звено, чтобы получить разменную «монету» в 1, 2 и 3 звена.

На первые сутки странник платит одним звеном, на вторые – платит двумя, но забирает одно первое, на третьи – платит тремя, но забирает два вторых и т.д. до конца срока пребывания. В тоге мы имеем только одно распиленное звено, пять дней проживания и довольного хозяина.

Хотите научиться решать такие задачи? Сегодня курс «Когнитивистика» со скидкой 20%! Промокод — SOBES.

Условие: Есть две верёвки и коробок со спичками. О каждой верёвке мы знаем, что если их поджечь, то они полностью сгорят за один час. Нам нужно отмерить пятнадцать минут. Но как нам это сделать, если мы знаем, что верёвки будут прогорать неравномерно?

Ответ

Решение: Разрезать верёвку на четыре равные части и просто поджечь не получится, т.к. время, за которое сгорает верёвка, не равно её длине – одна часть верёвки может гореть быстрее, другая – медленнее и т.д.

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

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

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

[attention type=green][attention type=green][attention type=green]
Так у нас остаётся кусок второй верёвки, который сгорит за полчаса. Если мы подожжём его с двух концов, то получим 15 минут.
[/attention][/attention][/attention]

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

Ответ

Решение: Думая обычно, мы придём в тупик, т.к. очевидно, что для разделения торта на восемь кусков необходимо сделать четыре разреза.

Теперь думаем креативно. Решение задачи может быть вполне простым. И вообще этих решений есть два.

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

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

В первую очередь, разрезаем торт крест-накрест двумя разрезами, и получаем четыре куска.

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

Второй вариант заключается в том, что мы разрезаем торт не как обычно, а в горизонтальной плоскости, т.е. поперёк. Немного странными получатся в итоге куски, но вариант всё-таки хорош, согласитесь?

Хотите научиться решать такие задачи? Сегодня курс «Когнитивистика» со скидкой 20%! Промокод — SOBES.

Надеемся, эта информация вам пригодится, и вы сможете удивить своих потенциальных работодателей на собеседовании.

[attention type=yellow][attention type=yellow][attention type=yellow]
Ну, и чтобы не расслабляться, вот вам напоследок ещё одна интересная задачка, но уже без решения: посреди пшеничного поля был найден мёртвый мужчина, который крепко сжимает в руках спичку. Объясните причину его смерти.
[/attention][/attention][/attention]

А также смотрите другие интересные примеры задач:

  • По ТРИЗ
  • Как положить жирафа в холодильник
  • Задача Рачинского
  • Задачи Ферми

Источник: https://4brain.ru/blog/%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%B5%D1%81%D0%BD%D1%8B%D0%B5-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8-%D0%BD%D0%B0-%D1%81%D0%BE%D0%B1%D0%B5%D1%81%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8/

Задачи на логику на собеседовании (с ответами)

Задания на собеседовании

Задачи на логику – распространенный инструмент HR-менеджеров для оценки соискателей.

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

Ну, например, такая задача-вопрос:

Есть ли на Земле место, где оба конца стрелки компаса указывают на север?

Оказывается, такое место есть. Это Южный полюс. Поскольку вокруг него – только север, куда ни повернись, то оба конца стрелки компаса в этой точке смотрят на север.

Для решения нужно немножко знаний из школьного курса географии и догадливость. И хладнокровие: если сразу позволить себя сбить с толку вопросом, то способность думать может впасть в кому.

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

На самом деле, найти ответ не обязательно.

Учтите, что задачи на логику на собеседование задаются не только для того, чтобы соискатель дал верный ответ. (Хотя, если вы это сделаете, это произведет впечатление).

Важно:

– не сдаться сходу, не признать, что вы не знаете ответа и не умеете решать задачи на логику,

– показать ход мысли. Порассуждайте вслух – как вы ищете решение, на какие моменты опираетесь? Эйчару важно понять, что вы умеете рассуждать логически.

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

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

Ответы вы найдете во второй части статьи, под задачами (чтобы не было соблазна подглядывать ;)).

Задачи:

1) 5 землекопов за 5 часов выкапывают 5 м канавы. Сколько нужно землекопов, чтобы вырыть 100 м канавы за 100 часов, если продуктивность работы такая же?

2) Воздушный шар движется в потоке воздуха, в южном направлении. В каком направлении будут развеваться флаги на его гондоле?

3) Почему у яйца один конец острый, а другой  – тупой?

4) В 12 часов ночи идет дождь. Можно ли ожидать, что через 72 часа выглянет солнце?

5) Как следует бросить мяч, чтобы он непременно к вам вернулся?

[attention type=red][attention type=red][attention type=red]
6) На пол положили карандаш и попросили нескольких людей по очереди через него перепрыгнуть. С задачей не справился никто. Почему?
[/attention][/attention][/attention]

7) Ире и Маше подарили по коробке, в каждой из которых 12 конфет. Ира съела несколько конфет. Маша съела столько конфет, сколько осталось в коробке у Иры. Сколько конфет осталось у Иры и Маши на двоих?

8) В деревне жил странный человек. Любимой забавой жителей и гостей деревни была следующая. Чудаку предлагали на выбор монету в 10 центов и бумажную купюру в 10 долларов. Человек всегда выбирал монету. Почему?

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

На улице стоят пять домов.

Англичанин живет в красном доме.

У испанца есть собака.

В зеленом доме пьют кофе.

Украинец пьет чай.

Зеленый дом стоит сразу справа от белого дома.

Тот, кто курит Old Gold, разводит улиток.

В желтом доме курят Kool.

В центральном доме пьют молоко.

Норвежец живет в первом доме.

Сосед того, кто курит Chesterfield, держит лису.

В доме по соседству с тем, в котором держат лошадь, курят Kool.

Тот, кто курит Lucky Strike, пьет апельсиновый сок.

Японец курит Parliament.

Норвежец живет рядом с синим домом.

[attention type=yellow][attention type=yellow][attention type=yellow]
Каждый из домов покрашен в отдельный цвет, в каждом доме живет представитель отдельной национальности, у каждого — свой питомец, своя любимая марка сигарет и напиток.
[/attention][/attention][/attention]

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

Ответы:

1) Те же 5 землекопов. За 1 час 5 землекопов выкапывают 1 м канавы. Значит, за 100 часов они выкопают 100 м.

2) Флаги не будут развиваться; они будут в таком же состоянии, как если бы шар находился на земле при полном безветрии. Дело в том, что относительно воздушной массы, в которой находится шар, он неподвижен, поэтому флаги будут находиться в состоянии покоя.

3) Такая форма позволяет яйцу не укатиться. Если бы яйцо было правильной, симметричной формы – например, круглым – оно могло бы катиться по прямой. Несимметричная форма заставляет яйцо двигаться по кругу. То есть если оно находится, например, на краю пропасти, то шансов укатиться и упасть у яйца меньше. Так природа заботится о сохранении яйца и его содержимого.

4) Нет, солнце не выглянет, потому что через 72 часа (трое суток) будет 12 часов ночи.

5) Нужно бросить его вверх.

6) Потому что карандаш положили вплотную к стене.

7) 12 конфет.

8) Он выбирал монету, потому что знал, что, как только он выберет купюру, люди потеряют к забаве интерес, и он перестанет получать монеты.

9) Японец держит зебру, норвежец пьет воду.

Источник: https://blog.trud.com/blog/2016/07/05/zadachi-na-logiku-na-sobesedovanii/

10 задач с собеседований в крупные компании

Задания на собеседовании

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

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

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

У каждой двери стоит стражник, каждый из них знает, какая дверь ведет к сокровищу. Один из стражников никогда не врет, другой — врет всегда. Шелдон не знает, кто из них врун, а кто нет.

Прежде чем выбрать дверь, задать можно только один вопрос и только одному стражнику.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В центральном доме пьют молоко.Норвежец живет в первом доме.Сосед того, кто курит Chesterfield, держит лису.В доме по соседству с тем, в котором держат лошадь, курят Kool.Тот, кто курит Lucky Strike, пьет апельсиновый сок.Японец курит Parliament.

Норвежец живет рядом с синим домом.

[attention type=yellow][attention type=yellow][attention type=yellow]
Каждый из домов покрашен в отдельный цвет, в каждом доме живет представитель отдельной национальности, у каждого — свой питомец, своя любимая марка сигарет и напиток.
[/attention][/attention][/attention]

Источник: https://www.adme.ru/zhizn-nauka/10-zadach-s-sobesedovanij-v-krupnye-kompanii-866660/

123 задачи с IT-собеседований с разбором решений

Задания на собеседовании

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

В нашей рубрике c заданиями уже больше 100 вопросов с подробным разбором решений. Мы решили собрать воедино все самые интересные и популярные задачи для программистов, которые могут встретиться вам на собеседовании.

Есть однонаправленный список из структур. В нём random указывает на какой-то еще элемент этого же списка. Требуется написать функцию, которая копирует этот список с сохранением структуры (т.е.

если в старом списке random первой ноды указывал на 4-ю, в новом списке должно быть то же самое – рандом первой ноды указывает на 4-ю ноду нового списка). O(n), константная дополнительная память + память под элементы нового списка.

Нельзя сразу выделить память под все данные одник куском т.е. список должен быть честным, разбросанным по частям, а не единым блоком, как массив.

Ответ Вариант реализации

Классическая задачка с собеседований в Google. На доске записаны числа, вам нужно ответить на вопрос: какое число идёт дальше?

Ответ

Допустим, вы летите из Москвы во Владивосток, а затем обратно, при полном безветрии. Затем вы совершаете точно такой же перелёт, но на этот раз на протяжении всего перелёта дует постоянный западный ветер: в одну сторону попутный, в обратную — лобовой.

Ответ

Что не так в этом отрывке кода на С++?

operator int() const { return *this; }

Ответ

Задача, которая была популярна в своё время на собеседованиях в Amazon. Мы русифицировали её, но смысл остался тот же. Вам нужно продолжить последовательность.

Ответ автора с обзором вариантов ответов подписчиков

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

Ответ

«Вас уменьшили до размеров 5-центовой монеты и бросили в блендер. Ваш вес уменьшился так, что плотность вашего тела осталась прежней. Лезвия начнут вращаться через 60 секунд. Ваши действия?»

Это классическая google-задачка, хороший разбор которой в рунете не так-то просто найти. Мы подготовили его для вас. Абсолютного правильного ответа нет, но есть те, которые явно лучше остальных.

Разбор вариантов ответа

Вопрос по С++. Что за ошибка «pure virtual function call»? В какой ситуации она может быть сгенерирована? Предоставьте минимальный код, приводящий к ней.

Ответ

В вашем распоряжении 10 тысяч серверов в дата-центре с возможностью удалённого управления и один день, чтобы получить миллион долларов. Что вы для этого сделаете?

Ответ

У вас есть аналоговые часы с секундной стрелкой. Сколько раз в день все три стрелки часов накладываются друг на друга?

Ответ

В чём разница между string и String в C#?

Ответ

[attention type=red][attention type=red][attention type=red]
Вы играете в футбол на пустынном острове и хотите подбросить монетку, чтобы решить, какой команде достанется мяч. Единственная монета, что у вас есть, является гнутой, и поэтому вносит явные искажения в результат при подбрасывании. Как вы тем не менее можете использовать такую монету, чтобы принять справедливое решение?
[/attention][/attention][/attention]

Ответ

Cколько мячей для гольфа войдет в школьный автобус?

Для справки: в Национальных стандартах транспотрных средств для школ в США на 1995 год указаны максимальные размеры школьного автобуса и равны 40 футам в длину и 8.5 футам в ширину. Стандартный диаметр мяча для гольфа — 1.69 дюйма с допуском 0.005 дюймов.

Ответ

Представьте себе вращающийся диск, например DVD. У вас есть в распоряжении черная (Ч) и белая (Б) краски. На краю диска установлен небольшой датчик, который определяет цвет под ним и выдает результат в виде сигнала. Как бы вы раскрасили диск, чтобы было возможно определить направление вращения по показаниям датчика?

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

Датчик фиксирует цвет точки в непосредственном месте установки в последовательные моменты времени. Показания представляются в виде «ЧЧЧББ…». Задача сводится к такой раскраске диска, где последовательность показаний отличается при вращении в прямую и в противоположную стороны.

Ответ

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

Ответ

Найдите ошибки в следующем коде.

unsigned int i; for (i = 100; i >= 0; –i) printf(“%d “, i);

Ответ

Объясните, что делает этот код.

((n & (n – 1)) == 0)

Ответ

Дано 100-этажное здание. Если яйцо сбросить с высоты N-го этажа (или с большей высоты), оно разобьется. Если его бросить с любого меньшего этажа, оно не разобьется. У вас есть два яйца. Найдите N за минимальное количество бросков.

Ответ

Продолжаем задачки по С/С++. Что означает ключевое слово volatile и в каких ситуация оно может быть применено? Если даже помните формальное значение, попробуйте привести пример ситуации, где volatile на самом деле будет полезно.

Ответ

[attention type=green][attention type=green][attention type=green]
У вас есть отсортированная матрица размера MxN. Предложите алгоритм поиска в ней произвольного элемента. Под отсортированной матрицей будем понимать такую матрицу, строки и столбцы которой отсортированы (см. пример).
[/attention][/attention][/attention]

Ответ

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

Ответ

На пустынном шоссе вероятность появления автомобиля за 30-минутный период составляет 0.95. Какова вероятность его появления за 10 минут?

Ответ

Напишите функцию суммирования двух целых чисел без использования «+» и других арифметических операторов.

Ответ

У вас есть парк из 50 грузовиков. Каждый из них полностью заправлен и может проехать 100 км. Как далеко с их помощью вы можете доставить определенный груз? Что будет, если в вашем распоряжении N грузовиков?

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

Пересесть из грузовика в гибридный легковой автомобиль Prius нельзя. Бросить грузовик без топлива, где бы это ни случилось, и без водителя – в порядке вещей.

И единственное, что здесь важно, – доставить как можно дальше ценный груз.

Ответ

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

Ответ

[attention type=yellow][attention type=yellow][attention type=yellow]
Напишите метод, который будет подсчитывать количество цифр «2», используемых в десятичной записи целых чисел от 0 до n (включительно). Картинка дана в качестве подсказки к одному из возможных решений.
[/attention][/attention][/attention]

Ответ

Где вы будете плыть быстрее — в воде или сиропе?

Это классическая задача с долгой историей, которую обсуждал в своё время еще Исаак Ньютон. Когда-то она использовалась и на IT-собеседованиях в Google (сейчас — нет). Тем не менее предлагаем вам порассуждать над решением.

Ответ

Напишите методы для умножения, вычитания и деления целых чисел, используя из арифметических операций только оператор суммирования. Язык реализации не важен, об оптимизации скорости работы и использования памяти также можете не особо беспокоиться. Главное, что можно использовать только сложение. В подобных задачах полезно вспомнить суть математических операций.

Ответ

Допустим, вы пишете конвейер, в котором 2 потока, используя общий буфер, обрабатывают данные. Поток-producer эти данные создает, а поток-consumer их обрабатывает (Producer–consumer problem). Следующий код представляет собой самую простую модель: с помощью std::thread мы порождаем поток-consumer, a создавать данные мы будем в главном потоке.

Опустим механизмы синхронизации двух потоков, и обратим внимание на функцию main(). Попробуйте догадаться, что с этим кодом не так, и как его исправить?

void produce() { // создаем задачу и кладем в очередь } void consume() { // читаем данные из очереди и обрабатываем } int main(int , char **) { std::thread thr(consume); // порождаем поток produce(); // создаем данные для обработки thr.join(); // ждем завершения работы функции consume() return 0; }

Ответ

Дано 20 баночек с таблетками. В 19 из них лежат таблетки весом 1 г, а в одной – весом 1.1 г. Даны весы, показывающие точный вес. Как за одно взвешивание найти банку с тяжелыми таблетками?

Ответ

Дана шахматная доска размером 8×8, из которой были вырезаны два противоположных по диагонали угла, и 31 кость домино; каждая кость домино может закрыть два квадратика на поле. Можно ли вымостить костями всю доску? Дайте обоснование своему ответу.

Ответ

Дан входной файл, содержащий четыре миллиарда целых 32-битных чисел. Предложите алгоритм, генерирующий число, отсутствующее в файле. Имеется 1 Гбайт памяти для этой задачи. Дополнительно: а что если у вас всего 10 Мбайт? Количество проходов по файлу должно быть минимальным.

Ответ

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

Ответ

Вы поставили стакан воды на диск проигрывателя виниловых пластинок и медленно увеличиваете скорость вращения. Что произойдет раньше: стакан сползет в сторону, стакан опрокинется, вода расплескается?

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

Ответ

[attention type=red][attention type=red][attention type=red]
Короткая задачка по С++ в виде вопроса для новичков. Почему деструктор полиморфного базового класса должен объявляться виртуальным? Полиморфным считаем класс, в котором есть хотя бы одна виртуальная функция.
[/attention][/attention][/attention]

Ответ

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

Ответ

Предложите алгоритм поиска в односвязном списке k-го элемента с конца. Список реализован вручную, есть только операция получения следующего элемента и указатель на первый элемент. Алгоритм, по возможности, должен быть оптимален по времени и памяти.

Ответ

Напишите функцию, определяющую количество битов, которые необходимо изменить, чтобы из целого числа А получить целое число B. Числа, допустим, 32-битные, язык любой.

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

Ответ

В книге N страниц, пронумерованных как обычно от 1 до N. Если сложить количество цифр, содержащихся в каждом номере страницы, будет 1095. Сколько страниц в книге?

Ответ

Задачка по С++, которая, тем не менее, будет полезна и для других языков. Сопоставьте хэш-таблицу и mар из стандартной библиотеки шаблонов (STL). Как организована хэш-таблица? Какая структура данных будет оптимальной для небольших объемов данных?

Ответ

Разработайте класс, обеспечивающий блокировку так, чтобы предотвратить возникновение мертвой блокировки.

Ответ

[attention type=green][attention type=green][attention type=green]
Напишите функцию на С++, выводящую в стандартный поток вывода K последних строк файла. При этом файл очень большой, допустим 50 ГБ, длина каждой строки не превышает 256 символов, а число K < 1000.
[/attention][/attention][/attention]

Ответ

Дан кусок сыра в форме куба и нож. Какое минимальное количество разрезов потребуется сделать, чтобы разделить этот кусок на 27 одинаковых кубиков? А на 64 кубика? После каждого разреза части можно компоновать как угодно.

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

Ответ

Реализуйте метод, определяющий, является ли одна строка перестановкой другой. Под перестановкой понимаем любое изменение порядка символов. Регистр учитывается, пробелы являются существенными.

Ответ

В тёмной комнате вам вручают колоду карт, в которой известное количество карт N лежат рубашкой вверх, а остальные — вниз. Вы не можете видеть карты, но можете их переворачивать. Как вы разделите колоду на две стопки, чтобы в каждой из них было одинаковое число карт, лежащих рубашкой вверх?

Эта головоломка в своё время была популярна в JP Morgan Chase. Понятное дело, оказавшись в темноте, вы просто достанете сотовый телефон и воспользуетесь экраном как фонариком. Однако эта задачка появилась до эпохи сотовых телефонов, и её можно решить, даже не видя карт.

Ответ

Реализуйте вручную стек со стандартными функциями push/pop и дополнительной функцией min, возвращающей минимальный элемент стека. Все эти функции должны работать за O(1). Решение оптимизируйте по использованию памяти.

Ответ

Источник: https://tproger.ru/articles/problems/

8 задач на логику, без которых не обходится собеседование в Google и Tesla

Задания на собеседовании
8 задач на логику, без которых не обходится собеседование в Google и Tesla

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

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

А ведь именно подобная «изюминка» встречается на собеседовании таких всемирно известных корпораций, как Apple, Google, и Microsoft.

1. Загадка о двух дверях

Загадка о проблеме выбора. / tyt.by

Эту задачку можно услышать в стенах цифрового гиганта Apple. Условие звучит так: «Шелдон Купер (персонаж популярного сериала) прошел игровой квест до последнего рубежа.

Теперь перед ним — две двери, одна из которых приведет к сокровищу, а вторая — в смертельно опасный лабиринт. У каждой двери стоит стражник, оба они знают, какая из них ведет к сокровищу. Вот только лишь один из них скажет правду. Шелдон не знает, кто из них врун, а кто нет.

Прежде чем сделать выбор, можно поставить всего один вопрос и только одному стражнику.

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

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

2. Инопланетяне и шапки

Противостояние инопланетному завоеванию. / fishki.netЕще одна загадка для соискателей вакансий в Apple. Звучит она так:

«Землю захватили инопланетяне. Они хотят уничтожить всю планету, но решили дать человечеству один шанс.

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

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

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

Ответ: Первый отвечающий считает количество черных шляп перед собой, если их нечетное число, он называет «черный», если четное — «белый».

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

3. Задание с мотоциклами

Полсотни мотоциклов и бесконечная дорога впереди. / motorpage.ru

Эта задачка является частым гостем собеседований в компании Adobe:

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

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

Ответ: Сначала необходимо перевезти все мотоциклы на пятьдесят километров. Затем, топливо из половины мотоциклов перевивается во вторую половину. В результате мы имеем 25 мотоциклов с полным баком. Повторяйте процедуру каждый пятьдесят километров. Таким образом, можно проехать 350 км.

4. Задача о двух ведрах

Когда нужна золотая середина, а под рукой ведра разного размера. / teletype.in

При отборе будущих сотрудников в корпорацию Microsoft используют следующую задачу:

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

Вопрос: Как с их помощью отмерить четыре литра?»

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

5. Загадка о двух горящих веревках

Как с помощью веревок посчитать время. / mixstuff.ru

Необычная задачка из стен офисов Microsoft:

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

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

Ответ: Одна из веревок поджигается с двух концов, одновременно с ней поджигается вторая, но уже с одного конца. Когда первый отрезок догорит, пройдет 30 минут, от первого также останется 30-минутный отрезок. Затем поджигаем оставшуюся веревку с двух концов, и она горит еще 15 минут.

6. Задача о восьми шариках

Один размер не значит один вес. / zagadky.com

Неудивительно, что в таком информационном гиганте как Google, который способен генерировать любую информацию, есть загадки для собеседований. Условие звучит так:

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

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

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

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

Если же более тяжелого шарика в группах по 3 шарика не оказалось, он — среди 2 оставшихся.

Почему из борта корабля периодически бьет фонтаном вода

7. Лайфхак для собеседования от Илона Маска

Загадка-фаворит Илона Маска. / mk.ru

Оказывается, у Илона Маска есть собственная любимая загадка на случай собеседования. Условия ее таковы:«Представьте, что вы стоите на поверхности Земли. Вы проходите одну милю на юг, одну на запад и одну на север и оказываетесь в той же точке, откуда начали движение.

Вопрос: Где вы находитесь?»

Ответ: Их два. Первый способны дать большинство инженеров — это Северный полюс. Если с Северного полюса пройти одну милю на юг, потом повернуть на запад и пройти еще одну милю, а затем сменить направление на северное, то через одну милю вы снова окажетесь на Северном полюсе, замкнув своим движением треугольник.

>>>>Идеи для жизни | NOVATE.RU

Источник: https://zen.yandex.ru/media/novate.ru/8-zadach-na-logiku-bez-kotoryh-ne-obhoditsia-sobesedovanie-v-google-i-tesla-5e8f89d2239c344cd9ec2e22

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.