Задачки на собеседованиях

May 31, 2011 11:46

 1.У Вас есть два яйца неизвестной птицы, и есть доступ в стоэтажное здание. Каждое из яиц имеет скорлупу из неизвестного материала, оно может разбиться при падении с первого этажа, а может и не разбиться при падении с сотогоэтажа здания. Оба яйца одинаковы. Как определить, при падении с какого этажа яйцо разобьется? Нужно постараться определить ( Read more... )

программирование

Leave a comment

Comments 6

kot_maslow January 10 2014, 23:29:14 UTC
Про золото сама решила, а про яйцо вообще не поняла)

Reply

funny_suslik January 11 2014, 11:16:19 UTC
Про яйцо я тоже вначале не понял, она сформулирована не очень )

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

Reply


russhatter February 16 2014, 08:11:37 UTC
6 вопрос категорически нечестный. Современные процессоры - слишком сложные устройства, величина "время выполнения данной операции" не имеет практического смысла, и из-за конвейера, и из-за кэшей. "Процессор" в задаче - это некая условность. Да и ОС тут, имхо, неуместна. Скорее уж архитектура самого процессора, чем ОС. И знать это для написания работающего прикладного кода - скорее вредно, чем полезно - разве что спеца берут на написание компилятора.
В-общем, это мутная задача, не имеющая практического смысла. Но послушать поток сознания собеседуемого - вполне можно.

Reply

funny_suslik February 17 2014, 18:56:07 UTC
Да, согласен. Для собеседований - не годится и ничего не дает. Ну кроме как поболтать на тему.
Когда-то записал для памяти, так как интересна была.
Хотя можно немного улучшить - перемножение двух чисел с результатом не больше байта, сравнить 3*3 и 15*15 (и получить ответ "время одинаково" ) ).

Reply

russhatter February 18 2014, 17:15:01 UTC
На самом деле, спасибо. На "философском" уровне ведь задачка интересная (если убрать "шумы"). Ведь ручку арифмометра на сложных умножениях нужно значительно дольше крутить - а тут получается, что одинаково.
И даже есть мораль: даже внутри процессора основное время уходит на транспорт - доставку значений от регистров в электрические цепи и назад. А само непосредственное "вычисление" происходит со скоростью света, которой "можно пренебречь".
(Впрочем, про совр. процессоры, возможно, нужно всё-таки оговариваться. Мне кто-то когда-то говорил, что там уже приходится учитывать квантовые эффекты, и могут быть сомнения, что со скоростью света всё так просто.)

Reply

funny_suslik February 18 2014, 19:36:50 UTC
Ну я вкладывал совсем простой смысл - процессор перемножает не биты, а более крупные блоки (без "шумов" - байты). И перемножение 2 бит на 2 бита с этой точки зрения то же самое, что и перемножение 8 бит на 8 бит.
Меня вот учили умножать столбиком, и там мы делаем это поразрядно, последовательно. Чем длинее число, тем больше действий и больше времени. А тут число действий одинаково.

Reply


Leave a comment

Up