Помощь в собеседованиях...
От: Копейка http://kopeechka.ru
Дата: 25.07.03 15:16
Оценка: 3 (1)
Сегодня был в одной конторе, на собеседовании. Называется она rapidsoft.

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

Вопросы а вернее задачи такие

1. Представьте, что мы идём по земле, глобусу и т.д. сначала 1км. на север, потом 1км. на восток, потом 1 км. на юг.
Назовите все точки на глобусе из которых можно начать этот маршрут и вернуться в конце этого маршрута в исходную точку.
ОТВЕТ: южный полюс!
вариант 2 — за примерно 2 км от северного полюса (прикол в том, что сначала мы идём 1 км на север, потом не доходя до северного полюса вы поворачиваем на восток и пройдя по кругу доходим до точки нашего поворота на восток, где естественно поворачиваем на юг и через 1 км. возвращаемся в исходную точку.)

2 и 3 я рещаются по одному и тому же принципу, я бы назвал его "догоняй" (не в смысле догадайся, а в смысле беги.)

Итак номер 2: Представьте, что на плоскости есть железная дорога длина, которой бесконечна в обоих направлениях. На эту железную дорогу в разных местах ставим 2 паравоза, начальные позиции паровозов помечаются (в оригинальной версии были роботы на парашютах ) паравозы могут двигатся по шагам вправо или лево и делать проверку находятся ли они в начальной точке отчёта какого либо из этих паравозов. Задача: придумайте алгоритм следуя которому эти паравозы обязательно встретятся (кстати очень не удачное слово, сразу начинаеш думать как развернуть их навстречу друг другу), я бы сказал окажутся в одной точке на рельсах — так точнее.
ОТВЕТ: 1-е необходимо чтобы оба паравоза начали движение в одну и ту же сторону с одинаковой скоростью. Если паравоз обнаруживает, что он пересёк начальную позицию одного из паравозов, то он должен ускориться в 2 например раза. Суть в том что ускорится всегда только один паравоз.

Номер 3: Есть ОДНО связанный список неизвестной длинны. Как узнать есть ли в этом списке петля.
ОТВЕТ: запускаем 2 указателя по списку, первый движется быстрее второго и если в списке есть петля, то первый будет по ней кружить и позже в эту петлю войдет второй указатель и они пересекутся.

Задача 4
Есть 10 коробочек с таблеточками. В каждой коробочке лежит произвольное число таблеточек (это обязательно нужно подчёркивать, потому что я начал считать коробочки, а надо было таблеточки), так вот, далее таблеточки бывают 2-х видов съедобные и несьедобные, съедобная таблеточка весит 10 г. а не съедобная 9 г. Есть также весы. Задача — за ОДНО взвешивание найти и показать коробочку в которой лежат несъедобные таблетки.
ОТВЕТ: всё очень просто из первой коробочки берём одну таблетку из второй две и т.д. Ставим этот набор на весы, фиксируем вес, определяем на сколько он отличается от "эталонного" веса и в данном случае величина разницы в граммах укажет нам на номер коробочки с несъедобными таблетками. Вобщем по долям надо раскладывать, главно чтобы доли были разные.

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

Если есть опыт в решении подобных головоломок, то присылайте их сюда, будем делиться опытом.
Re: Помощь в собеседованиях...
От: Pavel Kalyakin http://www.livejournal.com/users/pavelk/
Дата: 25.07.03 15:38
Оценка:
Здравствуйте, Копейка, Вы писали:
К>Короче, я не ответил ни на одну задачу , кроме первой, совсем простой — как оперделить колическо бензокалонок в городе Москве, поскольку за решение подобных задач обычно в реальной жизни платят деньги, то я быстро сообразил, что и как
А можно поподробнее, лично я впервые слышу...
... << RSDN@Home 1.1 beta 1 >>
Павел Калякин, MCDS.NET, MCS
http://www.livejournal.com/users/pavelk — Мой блог
Re: Помощь в собеседованиях...
От: DemAS http://demas.me
Дата: 25.07.03 15:42
Оценка:
Эти задачи (может не все, но некоторые точно) встречались в форуме "Этюды для программистов".
... << RSDN@Home 1.1 alpha 1 >>
Re[2]: Помощь в собеседованиях...
От: DemAS http://demas.me
Дата: 25.07.03 15:44
Оценка:
Здравствуйте, DemAS, Вы писали:

DAS>Эти задачи (может не все, но некоторые точно) встречались в форуме "Этюды для программистов".


Соответственно отсюда 2 вывода:

1. Читайте этот форум, ибо это не просто зарядка для ума, но и возможность увеличить свои шансы при приеме на работу.
2. Те кто задавал эти вопросы, скорее всего тоже читают rsdn
... << RSDN@Home 1.1 alpha 1 >>
Re: Помощь в собеседованиях...
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 25.07.03 15:54
Оценка:
Здравствуйте, Копейка, Вы писали:

К>Номер 3: Есть ОДНО связанный список неизвестной длинны. Как узнать есть ли в этом списке петля.

К> ОТВЕТ: запускаем 2 указателя по списку, первый движется быстрее второго и если в списке есть петля, то первый будет по ней кружить и позже в эту петлю войдет второй указатель и они пересекутся.

Отвратительное с точки зрения перформанса решение.

К>Задача 4

К> Есть 10 коробочек с таблеточками. В каждой коробочке лежит произвольное число таблеточек (это обязательно нужно подчёркивать, потому что я начал считать коробочки, а надо было таблеточки), так вот, далее таблеточки бывают 2-х видов съедобные и несьедобные, съедобная таблеточка весит 10 г. а не съедобная 9 г. Есть также весы. Задача — за ОДНО взвешивание найти и показать коробочку в которой лежат несъедобные таблетки.
К> ОТВЕТ: всё очень просто из первой коробочки берём одну таблетку из второй две и т.д. Ставим этот набор на весы, фиксируем вес, определяем на сколько он отличается от "эталонного" веса и в данном случае величина разницы в граммах укажет нам на номер коробочки с несъедобными таблетками. Вобщем по долям надо раскладывать, главно чтобы доли были разные.

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

А на какую позицию претендовал?
... << RSDN@Home 1.1 beta 1 (np: тихо) >>
AVK Blog
Re[2]: Помощь в собеседованиях...
От: Копейка http://kopeechka.ru
Дата: 25.07.03 17:00
Оценка:
Здравствуйте, AndrewVK, Вы писали:


AVK>Отвратительное с точки зрения перформанса решение.

Можно другое...

AVK>Неполное условие привел. Только из ответа понятно что в конкретной коробке либо все съедобные, либо все несъедобные.

а ну извеняюсь

AVK>А на какую позицию претендовал?

Не знаю... у них там много позиций, однако фирма оффшорным программированием занимается, так что я бы всё равно не пошёл бы, не хочу квалификацию терять.
Мне бы MRP, ERP...
Re[2]: Помощь в собеседованиях...
От: Копейка http://kopeechka.ru
Дата: 25.07.03 17:06
Оценка:
Здравствуйте, Pavel Kalyakin, Вы писали:

PK>Здравствуйте, Копейка, Вы писали:

К>>Короче, я не ответил ни на одну задачу , кроме первой, совсем простой — как оперделить колическо бензокалонок в городе Москве, поскольку за решение подобных задач обычно в реальной жизни платят деньги, то я быстро сообразил, что и как
PK>А можно поподробнее, лично я впервые слышу...

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

Вот собственно и всё.
Re[2]: Помощь в собеседованиях...
От: Igor Soukhov  
Дата: 25.07.03 17:33
Оценка:
Здравствуйте, AndrewVK, Вы писали:

К>>Номер 3: Есть ОДНО связанный список неизвестной длинны. Как узнать есть ли в этом списке петля.

К>> ОТВЕТ: запускаем 2 указателя по списку, первый движется быстрее второго и если в списке есть петля, то первый будет по ней кружить и позже в эту петлю войдет второй указатель и они пересекутся.

AVK>Отвратительное с точки зрения перформанса решение.

а есть ли другое решение ? что-то я такого не знаю.
* thriving in a production environment *
Re[3]: Помощь в собеседованиях...
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 25.07.03 17:58
Оценка: +1
Здравствуйте, Igor Soukhov, Вы писали:

AVK>>Отвратительное с точки зрения перформанса решение.

IS>а есть ли другое решение ? что-то я такого не знаю.

А в чем проблема? Алгоритмов поиска циклов в графе вагон и маленька тележка.
... << RSDN@Home 1.1 beta 1 (np: тихо) >>
AVK Blog
Re[4]: Помощь в собеседованиях...
От: Igor Soukhov  
Дата: 25.07.03 18:03
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>>>Отвратительное с точки зрения перформанса решение.

IS>>а есть ли другое решение ? что-то я такого не знаю.

AVK>А в чем проблема? Алгоритмов поиска циклов в графе вагон и маленька тележка.


в силу очень частного случая (односвязный список) — алгоритм похоже оптимальный.
* thriving in a production environment *
Re[5]: Помощь в собеседованиях...
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 25.07.03 19:10
Оценка:
Здравствуйте, Igor Soukhov, Вы писали:

IS>в силу очень частного случая (односвязный список) — алгоритм похоже оптимальный.


Оптимальный? Ну не знаю, смотря какой критерий. Если расход памяти то может и оптимальный, а вот насчет производительности не уверен, это ж сколько холостых прокруток будет пока счетчики встретятся. Алгоритм со счетчиками прохождений в каждом узле или с хеш-таблицей переходов будет заметно оптимальнее.
... << RSDN@Home 1.1 beta 1 (np: тихо) >>
AVK Blog
Re[6]: Помощь в собеседованиях...
От: Andy77 Ниоткуда  
Дата: 25.07.03 20:30
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Оптимальный? Ну не знаю, смотря какой критерий. Если расход памяти то может и оптимальный,


"может" — очень интересное выражение в данном контексте

AVK>а вот насчет производительности не уверен, это ж сколько холостых прокруток будет пока счетчики встретятся.


это линейный алгоритм относительно длины петли + длины списка до начала петли (куда уж меньше). Каждый шаг — два сложения и два сравнения.

AVK> Алгоритм со счетчиками прохождений в каждом узле или с хеш-таблицей переходов будет заметно оптимальнее.


Ну-ну, поэкспериментируй как-нибудь. Если на каждом шаге тебе придётся делать что-то, бОльшее двух сложений и двух сравнений (а ведь как минимум нужно проверять на конец списка и инкрементировать текущий элемент) — алгоритм в пролёте.
Re[7]: Помощь в собеседованиях...
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 25.07.03 20:46
Оценка:
Здравствуйте, Andy77, Вы писали:

A>"может" — очень интересное выражение в данном контексте


Может значит я исследования не проводил и точно не знаю.

AVK>>а вот насчет производительности не уверен, это ж сколько холостых прокруток будет пока счетчики встретятся.


A>это линейный алгоритм относительно длины петли + длины списка до начала петли (куда уж меньше).


Дело не только в линейности. Те алгоритмы, что я предложил тоже линейны.

A>Каждый шаг — два сложения и два сравнения.


Вот только количество шагов неоптимально.

AVK>> Алгоритм со счетчиками прохождений в каждом узле или с хеш-таблицей переходов будет заметно оптимальнее.


A>Ну-ну, поэкспериментируй как-нибудь. Если на каждом шаге тебе придётся делать что-то, бОльшее двух сложений и двух сравнений


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

A> (а ведь как минимум нужно проверять на конец списка и инкрементировать текущий элемент) — алгоритм в пролёте.


Опять неверно. Даже если алгоритм будет иметь более сложный шаг, но при этом шагов будет меньше то он в определенных условиях будет выгоднее.
... << RSDN@Home 1.1 beta 1 (np: тихо) >>
AVK Blog
Re[8]: Помощь в собеседованиях...
От: Andy77 Ниоткуда  
Дата: 25.07.03 21:06
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Andy77, Вы писали:


A>>"может" — очень интересное выражение в данном контексте


AVK>Может значит я исследования не проводил и точно не знаю.


Для того, чтобы решить эту задачу с помощью _одного_ указателя, нужно оооочень постараться, тебе не кажется?

AVK>>>а вот насчет производительности не уверен, это ж сколько холостых прокруток будет пока счетчики встретятся.


A>>это линейный алгоритм относительно длины петли + длины списка до начала петли (куда уж меньше).


AVK>Дело не только в линейности. Те алгоритмы, что я предложил тоже линейны.


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

slow = slow->next;
fast = fast->next->next;

A>> (а ведь как минимум нужно проверять на конец списка и инкрементировать текущий элемент) — алгоритм в пролёте.


AVK>Опять неверно. Даже если алгоритм будет иметь более сложный шаг, но при этом шагов будет меньше то он в определенных условиях будет выгоднее.


Нуууууууу, условия всегда можно подогнать под ответ (например, "return false" отлично работает для списков, не содержащих циклов), но ведь мы рассуждем в терминах памяти/сложности алгоритма? Если же мы рассуждаем про реальную скорость выполнения алгоритма на конкретных компьютерах, то не будь голословен и напиши свой алгоритм/программу, не модифицирующий элементы списка и работающий быстрее вышеприведенного (так уж и быть, дадим ему O(N) памяти).
Re[9]: Помощь в собеседованиях...
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.07.03 08:03
Оценка:
Здравствуйте, Andy77, Вы писали:

AVK>>Может значит я исследования не проводил и точно не знаю.


A>Для того, чтобы решить эту задачу с помощью _одного_ указателя, нужно оооочень постараться, тебе не кажется?


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

AVK>>Дело не только в линейности. Те алгоритмы, что я предложил тоже линейны.


A>Ну я и говорю — линейный алгоритм + очень быстрый шаг. Кол-во шагов — в худшем случае длина петли + длина списка до начала петли,


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

A>каждый шаг —


A>slow = slow->next;

A>fast = fast->next->next;

И проверка на каждом шаге быстрого указателя.

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

AVK>>Опять неверно. Даже если алгоритм будет иметь более сложный шаг, но при этом шагов будет меньше то он в определенных условиях будет выгоднее.


A>Нуууууууу, условия всегда можно подогнать под ответ


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

A> то не будь голословен и напиши свой алгоритм/программу, не модифицирующий элементы списка


Опять ты сам условие придумал? Кто говорил про модификацию? Тогда и я могу условие поставить — поиск начала петли.
... << RSDN@Home 1.1 beta 1 (np: тихо) >>
AVK Blog
Re: Помощь в собеседованиях...
От: oRover Украина  
Дата: 27.07.03 22:44
Оценка:
Здравствуйте, Копейка, Вы писали:

К>Вопросы а вернее задачи такие


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

К>Назовите все точки на глобусе из которых можно начать этот маршрут и вернуться в конце этого маршрута в исходную точку.
К> ОТВЕТ: южный полюс!
К> вариант 2 — за примерно 2 км от северного полюса (прикол в том, что сначала мы идём 1 км на север, потом не доходя до северного полюса вы поворачиваем на восток и пройдя по кругу доходим до точки нашего поворота на восток, где естественно поворачиваем на юг и через 1 км. возвращаемся в исходную точку.)

вариант 2 — неправильный. Если начальная точка будет за два км от полюса, то когда мы пройдем 1 км к полюсу — значит до полюса остается 1 км. потом мы прошлись по кругу радиусом 1 км и прошли 1 км ???
мы прошли 2пи*1=6.29 км. Необходимая точка 1/2пи = 160 метров + 1 км
Итого 1,16 км от полюса!
... << RSDN@Home 1.1 beta 1 >>
Re: Помощь в собеседованиях...
От: Аноним  
Дата: 28.07.03 07:24
Оценка:
Здравствуйте, Копейка, Вы писали:

К>Короче, я не ответил ни на одну задачу , кроме первой, совсем простой — как оперделить колическо бензокалонок в городе Москве,


И каково решение?
Re[10]: Помощь в собеседованиях...
От: Andy77 Ниоткуда  
Дата: 28.07.03 16:11
Оценка:
Здравствуйте, AndrewVK, Вы писали:

...blah-blah-blah skipped.
AVK>Опять ты сам условие придумал?

Короче, вернёмся к условию —
"Номер 3: Есть ОДНО связанный список неизвестной длины. Как узнать есть ли в этом списке петля."

Придумай хоть одно решение, отличное от приведённого, не говоря уже про оптимальность. Модифицировать элементы, очевидно, нельзя — иначе задача была бы слишком тривиальна.
Re[11]: Помощь в собеседованиях...
От: _MarlboroMan_ Россия  
Дата: 29.07.03 08:04
Оценка:
Здравствуйте, Andy77, Вы писали:

A>Здравствуйте, AndrewVK, Вы писали:


A>...blah-blah-blah skipped.

AVK>>Опять ты сам условие придумал?

A>Короче, вернёмся к условию —

A>"Номер 3: Есть ОДНО связанный список неизвестной длины. Как узнать есть ли в этом списке петля."

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


вали в hashtable. дойдешь до "конца" петли и получишь исключение. заодно точно будешь знать где собака порылась
... << RSDN@Home 1.1 beta 1 >>

— сколько программистов надо чтобы заменить сгоревшую лампочку?
— сколько не бери, а лампочку не поменять — проблема аппаратная, программным путем не решается...
Re[12]: Помощь в собеседованиях...
От: Igor Soukhov  
Дата: 29.07.03 08:27
Оценка:
Здравствуйте, _MarlboroMan_, Вы писали:


A>>Короче, вернёмся к условию —

A>>"Номер 3: Есть ОДНО связанный список неизвестной длины. Как узнать есть ли в этом списке петля."

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


_MM_>вали в hashtable. дойдешь до "конца" петли и получишь исключение. заодно точно будешь знать где собака порылась

в классической инкарнации у условии задачи есть, что можно использовать 1-2 дополнитиельных переменных (имееся в виду 1-2 поинтера). Ибо как говаривал классик — "Как говаривал классик — "С деньгами и дурак купит.""

woow ! сделал поиск этой фразы в яндексе — и что получил :


http://www.yandex.ru/yandsearch?rpt=rad&amp;text=%F1+%E4%E5%ED%FC%E3%E0%EC%E8+%E8+%E4%F3%F0%E0%EA+%EA%F3%EF%E8%F2
* thriving in a production environment *
Re: Помощь в собеседованиях...
От: KGP http://kornilow.newmail.ru
Дата: 29.07.03 08:39
Оценка:
Здравствуйте, Копейка, Вы писали:

К>Сегодня был в одной конторе, на собеседовании. Называется она rapidsoft.


К>Мне задавали вопросы на смекалку и по причине полного отсутствия оной меня не приняли на работу .


К>Вопросы а вернее задачи такие


К>Итак номер 2: Представьте, что на плоскости есть железная дорога длина, которой бесконечна в обоих направлениях. На эту железную дорогу в разных местах ставим 2 паравоза, начальные позиции паровозов помечаются (в оригинальной версии были роботы на парашютах ) паравозы могут двигатся по шагам вправо или лево и делать проверку находятся ли они в начальной точке отчёта какого либо из этих паравозов. Задача: придумайте алгоритм следуя которому эти паравозы обязательно встретятся (кстати очень не удачное слово, сразу начинаеш думать как развернуть их навстречу друг другу), я бы сказал окажутся в одной точке на рельсах — так точнее.

К> ОТВЕТ: 1-е необходимо чтобы оба паравоза начали движение в одну и ту же сторону с одинаковой скоростью. Если паравоз обнаруживает, что он пересёк начальную позицию одного из паравозов, то он должен ускориться в 2 например раза. Суть в том что ускорится всегда только один паравоз.

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

К>Номер 3: Есть ОДНО связанный список неизвестной длинны. Как узнать есть ли в этом списке петля.

К> ОТВЕТ: запускаем 2 указателя по списку, первый движется быстрее второго и если в списке есть петля, то первый будет по ней кружить и позже в эту петлю войдет второй указатель и они пересекутся.
а на сколько быстрее а если успеет первый выйти из петли ?

К>Задача 4

К> Есть 10 коробочек с таблеточками. В каждой коробочке лежит произвольное число таблеточек (это обязательно нужно подчёркивать, потому что я начал считать коробочки, а надо было таблеточки), так вот, далее таблеточки бывают 2-х видов съедобные и несьедобные, съедобная таблеточка весит 10 г. а не съедобная 9 г. Есть также весы. Задача — за ОДНО взвешивание найти и показать коробочку в которой лежат несъедобные таблетки.
К> ОТВЕТ: всё очень просто из первой коробочки берём одну таблетку из второй две и т.д. Ставим этот набор на весы, фиксируем вес, определяем на сколько он отличается от "эталонного" веса и в данном случае величина разницы в граммах укажет нам на номер коробочки с несъедобными таблетками. Вобщем по долям надо раскладывать, главно чтобы доли были разные.

А если в коробочках только по 2 таблетки ?
Re[13]: Помощь в собеседованиях...
От: _MarlboroMan_ Россия  
Дата: 29.07.03 08:40
Оценка:
Здравствуйте, Igor Soukhov, Вы писали:

IS>Здравствуйте, _MarlboroMan_, Вы писали:



A>>>Короче, вернёмся к условию —

A>>>"Номер 3: Есть ОДНО связанный список неизвестной длины. Как узнать есть ли в этом списке петля."

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


_MM_>>вали в hashtable. дойдешь до "конца" петли и получишь исключение. заодно точно будешь знать где собака порылась

IS>в классической инкарнации у условии задачи есть, что можно использовать 1-2 дополнитиельных переменных (имееся в виду 1-2 поинтера). Ибо как говаривал классик — "Как говаривал классик — "С деньгами и дурак купит.""

в классической инкарнации — да. в приведенной автором — всё что угодно.

IS>woow ! сделал поиск этой фразы в яндексе — и что получил :


IS>http://www.yandex.ru/yandsearch?rpt=rad&amp;text=%F1+%E4%E5%ED%FC%E3%E0%EC%E8+%E8+%E4%F3%F0%E0%EA+%EA%F3%EF%E8%F2


дивно :))
... << RSDN@Home 1.1 beta 1 >>

— сколько программистов надо чтобы заменить сгоревшую лампочку?
— сколько не бери, а лампочку не поменять — проблема аппаратная, программным путем не решается...
Re[2]: Помощь в собеседованиях...
От: Копейка http://kopeechka.ru
Дата: 29.07.03 10:47
Оценка:
Здравствуйте, KGP, Вы писали:


KGP>Нехрен трогать 2-й паровоз ...

KGP>Первый пусть как маятник с увеличением амплитуды, пока не столкнется со вторым

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

К>>Номер 3: Есть ОДНО связанный список неизвестной длинны. Как узнать есть ли в этом списке петля.

К>> ОТВЕТ: запускаем 2 указателя по списку, первый движется быстрее второго и если в списке есть петля, то первый будет по ней кружить и позже в эту петлю войдет второй указатель и они пересекутся.
KGP>а на сколько быстрее а если успеет первый выйти из петли ?

Ещё никому это не удавалось...

К>>Задача 4

К>> Есть 10...

KGP>А если в коробочках только по 2 таблетки ?

Тогда всё, туши свет
Re[14]: Помощь в собеседованиях...
От: Andy77 Ниоткуда  
Дата: 29.07.03 14:07
Оценка:
Здравствуйте, _MarlboroMan_, Вы писали:

A>>>>Короче, вернёмся к условию —

A>>>>"Номер 3: Есть ОДНО связанный список неизвестной длины. Как узнать есть ли в этом списке петля."

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


_MM_>>>вали в hashtable. дойдешь до "конца" петли и получишь исключение. заодно точно будешь знать где собака порылась

IS>>в классической инкарнации у условии задачи есть, что можно использовать 1-2 дополнитиельных переменных (имееся в виду 1-2 поинтера). Ибо как говаривал классик — "Как говаривал классик — "С деньгами и дурак купит.""

_MM_>в классической инкарнации — да. в приведенной автором — всё что угодно.


Выделенный мной текст ("неизвестной длины") подразумевает использование О(1) памяти. Ишь, какие умные
Re[3]: Помощь в собеседованиях...
От: vitaly_spb Россия  
Дата: 29.07.03 14:19
Оценка:
KGP>>Нехрен трогать 2-й паровоз ...
KGP>>Первый пусть как маятник с увеличением амплитуды, пока не столкнется со вторым

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

Ну здрасте! А скорость поровозов тогда тоже одновременно в 2 раза увеличится? Тогда никто никогда не встретится нис кем. А про решение с амплитудой — значит даны лишние условия (насчет определения начального момента).

К>>>Номер 3: Есть ОДНО связанный список неизвестной длинны. Как узнать есть ли в этом списке петля.

К>>> ОТВЕТ: запускаем 2 указателя по списку, первый движется быстрее второго и если в списке есть петля, то первый будет по ней кружить и позже в эту петлю войдет второй указатель и они пересекутся.
KGP>>а на сколько быстрее а если успеет первый выйти из петли ?
Я так понимаю тут не цикл, а петля — типа как лассо. Так что из нее не выйти. Вообще, кривые как видно формулировки.
...Ei incumbit probatio, qui dicit, non qui negat...
Re: Помощь в собеседованиях...
От: cheese США  
Дата: 29.07.03 23:41
Оценка:
Здравствуйте, Копейка, Вы писали:

К>Сегодня был в одной конторе, на собеседовании. Называется она rapidsoft.


Хм.. странно — раньше она называлась Microsoft
Re[3]: Помощь в собеседованиях...
От: KGP http://kornilow.newmail.ru
Дата: 30.07.03 05:52
Оценка: +1 -1
Здравствуйте, Копейка, Вы писали:

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


А они знают о существовании второго ?
Если нумеруются, то =2 стоит.

К> Ещё никому это не удавалось...

Тогда и второй в другую петлю может угодить и опять кердык !
Хрень формулировка

К>>>Задача 4

К>>> Есть 10...

KGP>>А если в коробочках только по 2 таблетки ?

К>Тогда всё, туши свет
Хрень формулировка

Мой вывод — задачки сформулированны ХРЕНОВО !
Re[4]: Помощь в собеседованиях...
От: Denis Россия http://blogs.gotdotnet.ru/personal/Denis
Дата: 30.07.03 08:33
Оценка: -1
Здравствуйте, vitaly_spb, Вы писали:

_>Ну здрасте! А скорость поровозов тогда тоже одновременно в 2 раза увеличится? Тогда никто никогда не встретится нис кем.


Советую внимательно прочитать при каком условии скорость возрастает.....

_>Я так понимаю тут не цикл, а петля — типа как лассо. Так что из нее не выйти. Вообще, кривые как видно формулировки.


а список можно сделать по-другому? (можно конечно , с условными переходами), но есть пункт второй, иногда от вас ждут что вы сможете уточнить и узнать что вам не хватает.
Re[4]: Помощь в собеседованиях...
От: Копейка http://kopeechka.ru
Дата: 30.07.03 14:42
Оценка:
Здравствуйте, KGP, Вы писали:

KGP>Здравствуйте, Копейка, Вы писали:


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


KGP>А они знают о существовании второго ?

KGP>Если нумеруются, то =2 стоит.

нет не знают.

К>> Ещё никому это не удавалось...

KGP>Тогда и второй в другую петлю может угодить и опять кердык !
KGP>Хрень формулировка

Хорош прикалываться, в какую ещё вторую?
Re[2]: Помощь в собеседованиях...
От: Копейка http://kopeechka.ru
Дата: 30.07.03 14:43
Оценка:
Здравствуйте, cheese, Вы писали:

C>Здравствуйте, Копейка, Вы писали:


К>>Сегодня был в одной конторе, на собеседовании. Называется она rapidsoft.


C>Хм.. странно — раньше она называлась Microsoft

Ты это серьёздно?
Re[3]: Помощь в собеседованиях...
От: cheese США  
Дата: 31.07.03 07:02
Оценка:
Здравствуйте, Копейка, Вы писали:

К>Здравствуйте, cheese, Вы писали:


C>>Здравствуйте, Копейка, Вы писали:


К>>>Сегодня был в одной конторе, на собеседовании. Называется она rapidsoft.


C>>Хм.. странно — раньше она называлась Microsoft

К>Ты это серьёздно?
Серьезно. Все эти тесты (английском языке, разумеется) можно найти, задав в гугле поиск по "microsoft interview questions". Ну разве что в вопросе про бензоколонки вместо Москвы — Лос Анджелес. Я одно время увлекался этим делом. Предание гласит, что майкрософтовцы таким образом оценивают способность кандидата _думать_вообще_ и _думать_нестандартно_. Что оценивает славная контора rapidsoft — непонятно.
Re[4]: Помощь в собеседованиях...
От: Копейка http://kopeechka.ru
Дата: 31.07.03 07:13
Оценка:
Здравствуйте, cheese, Вы писали:

C>Серьезно. Все эти тесты (английском языке, разумеется) можно найти, задав в гугле поиск по "microsoft interview questions". Ну разве что в вопросе про бензоколонки вместо Москвы — Лос Анджелес. Я одно время увлекался этим делом. Предание гласит, что майкрософтовцы таким образом оценивают способность кандидата _думать_вообще_ и _думать_нестандартно_. Что оценивает славная контора rapidsoft — непонятно.


Хм... странно, как можно думать нестандартно над задачей с конечным числом решений? Притом числом небольшим. Я думал это просто надо знать, и вообще по хорошему для таких нестандартных подходов лучше завести справочник, есть проблема, заглянул в справочник, а тебе 2-3 подходящих способа решения оттуда и всё пучком. Нафига себя в грудь пяткой бить? Непонятно мне это. Можект я мыслю стандартно?
Re[5]: Помощь в собеседованиях...
От: KGP http://kornilow.newmail.ru
Дата: 31.07.03 11:39
Оценка:
Здравствуйте, Копейка, Вы писали:

К>Здравствуйте, KGP, Вы писали:


KGP>>Здравствуйте, Копейка, Вы писали:


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


KGP>>А они знают о существовании второго ?

KGP>>Если нумеруются, то =2 стоит.

а shared ресурс ... и узнают через InterlockedIncrement или как там (рельсы же общие)

К>>> Ещё никому это не удавалось...

KGP>>Тогда и второй в другую петлю может угодить и опять кердык !
KGP>>Хрень формулировка

К>Хорош прикалываться, в какую ещё вторую?

одна с одной староны, куда первый поедет, другая с другой куда второй поедет ...
Re[5]: Помощь в собеседованиях...
От: cheese США  
Дата: 01.08.03 19:55
Оценка: +1
Здравствуйте, Копейка, Вы писали:

К>Здравствуйте, cheese, Вы писали:


C>>Серьезно. Все эти тесты (английском языке, разумеется) можно найти, задав в гугле поиск по "microsoft interview questions". Ну разве что в вопросе про бензоколонки вместо Москвы — Лос Анджелес. Я одно время увлекался этим делом. Предание гласит, что майкрософтовцы таким образом оценивают способность кандидата _думать_вообще_ и _думать_нестандартно_. Что оценивает славная контора rapidsoft — непонятно.


К>Хм... странно, как можно думать нестандартно над задачей с конечным числом решений? Притом числом небольшим. Я думал это просто надо знать, и вообще по хорошему для таких нестандартных подходов лучше завести справочник, есть проблема, заглянул в справочник, а тебе 2-3 подходящих способа решения оттуда и всё пучком. Нафига себя в грудь пяткой бить? Непонятно мне это. Можект я мыслю стандартно?


А в чем практический смысл в выучивании рещения задачи про таблетки? Ну, можно конечно классифицировать это как применение некоего приема "внесение нелинейности", только это уже из области ТРИЗ или подобных методик. Справочник нестандартных подходов IMHO есть нонсенс, т.к. нестандартный подход не может по определению быть классифицирован / генерализирован — иначе это стандартный подход. "Справочник стандартных подходов" для программирования называется Design Patterns — знание, а главное — умение грамотно применять эти Patterns тоже ценится многими работодателями. Я бы даже сказал, что это, если хотите, часть "инженерной культуры". Проблема в том, что в любой инженерной практике приходится сталкиваться с задачами, которые плохо рещаются стандартными методиками. Если позиция подразумевает рещение таких задач, то на интервью вполне естественно желание работодателя протестировать умение кандидата находить нешаблонные рещения.
Re[6]: Помощь в собеседованиях...
От: Копейка http://kopeechka.ru
Дата: 03.08.03 08:49
Оценка:
Здравствуйте, cheese, Вы писали:

C>А в чем практический смысл в выучивании рещения задачи про таблетки? Ну, можно конечно классифицировать это как применение некоего приема "внесение нелинейности", только это уже из области ТРИЗ или подобных методик.


Нелинейности? Где это там нелинейность? По моему всё даже очень линейно.

C> Справочник нестандартных подходов IMHO есть нонсенс, т.к. нестандартный подход не может по определению быть классифицирован / генерализирован — иначе это стандартный подход. "Справочник стандартных подходов" для программирования называется Design Patterns — знание, а главное — умение грамотно применять эти Patterns тоже ценится многими работодателями. Я бы даже сказал, что это, если хотите, часть "инженерной культуры".


Назовите это справочником стандартных подходов.

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


А что понимать под понятием "стандартные методики"? Скажем 2 способа доказательства теоремы Пифагора — это стандартные методики, а 3-й нестандартный? Это просто софистика и манипулирование понятиями, определениями в чистом виде. Я считаю, что нестандартный способ это способ который редко применяется на практике. Таким образом под решение поставленных задач нельзя подвести определение "нестандартно", так как другими способами указанные задачи просто не решаются, что следует из условия таких задач. Я бы посоветовал авторам заменить определение "нестандартное мышление" на "оптимальное решение". ИМХО было бы понятнее, что имеется ввиду.


Стандарт —
— утверждаемый компетентным органом нормативно-технический документ, устанавливающий комплекс норм, правил по отношению к предмету стандартизации;
- типовой образец, эталон, модель, принимаемые за исходные для сопоставления с ними других предметов.
http://encycl.yandex.ru/cgi-bin/art.pl?art=glossary/173/173_271.HTM&amp;encpage=glossary&amp;mrkp=/yandbtm7%3Fq%3D-1719969238%26p%3D0%26g%3D0%26d%3D2%26ag%3Denc_abc%26tg%3D1%26p0%3D0%26q0%3D435645703%26d0%3D0%26script%3D/yandpage%253F
Re[7]: Помощь в собеседованиях...
От: cheese США  
Дата: 05.08.03 07:03
Оценка:
Здравствуйте, Копейка, Вы писали:

К>Здравствуйте, cheese, Вы писали:


C>>А в чем практический смысл в выучивании рещения задачи про таблетки? Ну, можно конечно классифицировать это как применение некоего приема "внесение нелинейности", только это уже из области ТРИЗ или подобных методик.


К>Нелинейности? Где это там нелинейность? По моему всё даже очень линейно.


Пусть будет линейно, я не настаиваю. Я не имел в виду математическое определение линейности (я не математик и не готов дискутировать на околоматематические темы)

C>> Справочник нестандартных подходов IMHO есть нонсенс, т.к. нестандартный подход не может по определению быть классифицирован / генерализирован — иначе это стандартный подход. "Справочник стандартных подходов" для программирования называется Design Patterns — знание, а главное — умение грамотно применять эти Patterns тоже ценится многими работодателями. Я бы даже сказал, что это, если хотите, часть "инженерной культуры".


К>Назовите это справочником стандартных подходов.


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


К>А что понимать под понятием "стандартные методики"? Скажем 2 способа доказательства теоремы Пифагора — это стандартные методики, а 3-й нестандартный? Это просто софистика и манипулирование понятиями, определениями в чистом виде. Я считаю, что нестандартный способ это способ который редко применяется на практике. Таким образом под решение поставленных задач нельзя подвести определение "нестандартно", так как другими способами указанные задачи просто не решаются, что следует из условия таких задач. Я бы посоветовал авторам заменить определение "нестандартное мышление" на "оптимальное решение". ИМХО было бы понятнее, что имеется ввиду.


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

К>

К>Стандарт —
К>- утверждаемый компетентным органом нормативно-технический документ, устанавливающий комплекс норм, правил по отношению к предмету стандартизации;
К>- типовой образец, эталон, модель, принимаемые за исходные для сопоставления с ними других предметов.
К>http://encycl.yandex.ru/cgi-bin/art.pl?art=glossary/173/173_271.HTM&amp;encpage=glossary&amp;mrkp=/yandbtm7%3Fq%3D-1719969238%26p%3D0%26g%3D0%26d%3D2%26ag%3Denc_abc%26tg%3D1%26p0%3D0%26q0%3D435645703%26d0%3D0%26script%3D/yandpage%253F
К>


Я не понимаю, с какой целью Вы привели вышеуказанное определение стандарта.

Вообще, предлагаю оставаться в рамках топика. Меньше всего хочется развивать разговор в стиле "Хаджа Насреддин vs. Мудрецы Падишаха"
Re[4]: Помощь в собеседованиях...
От: Аноним  
Дата: 05.08.03 12:54
Оценка:
Здравствуйте, cheese, Вы писали:

C>Здравствуйте, Копейка, Вы писали:


К>>Здравствуйте, cheese, Вы писали:


C>>>Здравствуйте, Копейка, Вы писали:


К>>>>Сегодня был в одной конторе, на собеседовании. Называется она rapidsoft.


C>>>Хм.. странно — раньше она называлась Microsoft

К>>Ты это серьёздно?
C>Серьезно. Все эти тесты (английском языке, разумеется) можно найти, задав в гугле поиск по "microsoft interview questions".

Вот перевод статейки про интервью, там вопрос про бензоколонки тоже упоминается:
http://russian.joelonsoftware.com/Articles/Interviewing.html
Re[8]: Помощь в собеседованиях...
От: Аноним  
Дата: 12.08.03 15:59
Оценка:
Здравствуйте, cheese, Вы писали:

C>Пусть будет линейно, я не настаиваю. Я не имел в виду математическое определение линейности (я не математик и не готов дискутировать на околоматематические темы)


C>...В любом случае я не специалист в этих понятиях и обсуждать их не буду.

...не претендую на точность данной формулировки, просьба к словам не придираться[/i]


C>Я не понимаю, с какой целью Вы привели вышеуказанное определение стандарта.


Re: Помощь в собеседованиях...
От: Аноним  
Дата: 13.08.03 09:06
Оценка:
Про коробочки надо указать, что среди них находиться только одна с несъедобными, потому что вот что получается, если таких коробочек несколько:
Допустим из 10 у нас 4 не съедобные: допустим 1, 4,5,7, но пока мы этого не знаем
Берём из певрой 1 таблеточку, из второй 2, из третей три и т.д. Получаем общую массу: 397. Из 550 — 397 = 153/9 = 17 несьедобных таблеток.
Это число можно получить например, если сложить например 10+7, тоесть получается неоднозначность.



К>Сегодня был в одной конторе, на собеседовании. Называется она rapidsoft.


К>Мне задавали вопросы на смекалку и по причине полного отсутствия оной меня не приняли на работу .


К>Вопросы а вернее задачи такие


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

К>Назовите все точки на глобусе из которых можно начать этот маршрут и вернуться в конце этого маршрута в исходную точку.
К> ОТВЕТ: южный полюс!
К> вариант 2 — за примерно 2 км от северного полюса (прикол в том, что сначала мы идём 1 км на север, потом не доходя до северного полюса вы поворачиваем на восток и пройдя по кругу доходим до точки нашего поворота на восток, где естественно поворачиваем на юг и через 1 км. возвращаемся в исходную точку.)

К>2 и 3 я рещаются по одному и тому же принципу, я бы назвал его "догоняй" (не в смысле догадайся, а в смысле беги.)


К>Итак номер 2: Представьте, что на плоскости есть железная дорога длина, которой бесконечна в обоих направлениях. На эту железную дорогу в разных местах ставим 2 паравоза, начальные позиции паровозов помечаются (в оригинальной версии были роботы на парашютах ) паравозы могут двигатся по шагам вправо или лево и делать проверку находятся ли они в начальной точке отчёта какого либо из этих паравозов. Задача: придумайте алгоритм следуя которому эти паравозы обязательно встретятся (кстати очень не удачное слово, сразу начинаеш думать как развернуть их навстречу друг другу), я бы сказал окажутся в одной точке на рельсах — так точнее.

К> ОТВЕТ: 1-е необходимо чтобы оба паравоза начали движение в одну и ту же сторону с одинаковой скоростью. Если паравоз обнаруживает, что он пересёк начальную позицию одного из паравозов, то он должен ускориться в 2 например раза. Суть в том что ускорится всегда только один паравоз.

К>Номер 3: Есть ОДНО связанный список неизвестной длинны. Как узнать есть ли в этом списке петля.

К> ОТВЕТ: запускаем 2 указателя по списку, первый движется быстрее второго и если в списке есть петля, то первый будет по ней кружить и позже в эту петлю войдет второй указатель и они пересекутся.

К>Задача 4

К> Есть 10 коробочек с таблеточками. В каждой коробочке лежит произвольное число таблеточек (это обязательно нужно подчёркивать, потому что я начал считать коробочки, а надо было таблеточки), так вот, далее таблеточки бывают 2-х видов съедобные и несьедобные, съедобная таблеточка весит 10 г. а не съедобная 9 г. Есть также весы. Задача — за ОДНО взвешивание найти и показать коробочку в которой лежат несъедобные таблетки.
К> ОТВЕТ: всё очень просто из первой коробочки берём одну таблетку из второй две и т.д. Ставим этот набор на весы, фиксируем вес, определяем на сколько он отличается от "эталонного" веса и в данном случае величина разницы в граммах укажет нам на номер коробочки с несъедобными таблетками. Вобщем по долям надо раскладывать, главно чтобы доли были разные.

К>Короче, я не ответил ни на одну задачу , кроме первой, совсем простой — как оперделить колическо бензокалонок в городе Москве, поскольку за решение подобных задач обычно в реальной жизни платят деньги, то я быстро сообразил, что и как

К>Зато теперь я знаю эти хитрые задачки и ответы на них...

К>Если есть опыт в решении подобных головоломок, то присылайте их сюда, будем делиться опытом.
Re[2]: Помощь в собеседованиях...
От: Аноним  
Дата: 15.08.03 10:28
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Про коробочки надо указать, что среди них находиться только одна с несъедобными, потому что вот что получается, если таких коробочек несколько:

А>Допустим из 10 у нас 4 не съедобные: допустим 1, 4,5,7, но пока мы этого не знаем
А>Берём из певрой 1 таблеточку, из второй 2, из третей три и т.д. Получаем общую массу: 397. Из 550 — 397 = 153/9 = 17 несьедобных таблеток.
А>Это число можно получить например, если сложить например 10+7, тоесть получается неоднозначность.

Стандартно вы как то мыслите, шаблонно!
Фи, противный!
Re[3]: Помощь в собеседованиях...
От: Аноним  
Дата: 18.08.03 12:19
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Аноним, Вы писали:


А>>Про коробочки надо указать, что среди них находиться только одна с несъедобными, потому что вот что получается, если таких коробочек несколько:

А>>Допустим из 10 у нас 4 не съедобные: допустим 1, 4,5,7, но пока мы этого не знаем
А>>Берём из певрой 1 таблеточку, из второй 2, из третей три и т.д. Получаем общую массу: 397. Из 550 — 397 = 153/9 = 17 несьедобных таблеток.
А>>Это число можно получить например, если сложить например 10+7, тоесть получается неоднозначность.

А>Стандартно вы как то мыслите, шаблонно!

А>Фи, противный!

Ну расскажте мне как ты будешь орпеделять количество коробочек с несьедобными таблетками, если их больше 1 и и вы не знаете сколько точно таких коробочек???
Re[4]: Помощь в собеседованиях...
От: Копейка http://kopeechka.ru
Дата: 18.08.03 18:32
Оценка: :)
Здравствуйте, Аноним, Вы писали:

А>Ну расскажте мне как ты будешь орпеделять количество коробочек с несьедобными таблетками, если их больше 1 и и вы не знаете сколько точно таких коробочек???


Берём чуваков количеством равным количеству коробочек, кормим их таблетками... Дальше наблюдаем... Но это стандартный подход. Его все применяют.
Re[5]: Помощь в собеседованиях...
От: Аноним  
Дата: 18.08.03 19:43
Оценка:
Здравствуйте, Копейка, Вы писали:

К>Здравствуйте, Аноним, Вы писали:


А>>Ну расскажте мне как ты будешь орпеделять количество коробочек с несьедобными таблетками, если их больше 1 и и вы не знаете сколько точно таких коробочек???


К>Берём чуваков количеством равным количеству коробочек, кормим их таблетками... Дальше наблюдаем... Но это стандартный подход. Его все применяют.

Круто! Мне такой подход нравится! Правда интересно всё же, что имел ввиду автор сообщения, который сказал, что это шаблонный подход....
Re[2]: Помощь в собеседованиях...
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 19.08.03 09:19
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Копейка, Вы писали:


К>>Номер 3: Есть ОДНО связанный список неизвестной длинны. Как узнать есть ли в этом списке петля.

К>> ОТВЕТ: запускаем 2 указателя по списку, первый движется быстрее второго и если в списке есть петля, то первый будет по ней кружить и позже в эту петлю войдет второй указатель и они пересекутся.

AVK>Отвратительное с точки зрения перформанса решение.


Простите, что я без стука

По-моему, это самое нормальное решение. Исходя из того, что крайним случаем случаем является кольцо, получаем 3*N переходов и 2*N-1 сравнений:

С точки зрения расхода памяти решение просто великолепное — в силу отсутствия расхода

И думается мне, что увеличение производительности можно достичь увеличением числа итераторов и числа процессоров в системе

.... не, я лучше буду базы данных проектировать, чем такие, срывающие крышу, задачи решать
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re[5]: Помощь в собеседованиях...
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 19.08.03 09:33
Оценка:
Здравствуйте, Копейка, Вы писали:

К>Здравствуйте, Аноним, Вы писали:


А>>Ну расскажте мне как ты будешь орпеделять количество коробочек с несьедобными таблетками, если их больше 1 и и вы не знаете сколько точно таких коробочек???


К>Берём чуваков количеством равным количеству коробочек, кормим их таблетками... Дальше наблюдаем... Но это стандартный подход. Его все применяют.


Самое ценное в этом решении — константное время на поиск решения. Только избранному чуваку нужно, перед тем как откинуть копыта, прокричать номер написанный на коробочке. Хм, чуваков так же нужно ознакомить с санкциями применяемым при фальш-старте.
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re[2]: Помощь в собеседованиях...
От: Аноним  
Дата: 20.08.03 11:02
Оценка:
Здравствуйте, Аноним, Вы писали:

Если в условии больше чем одна коробочка с плохими таблетками, то такую задачку тоже можно решить и найти все коробки с плохими таблетками. Вся изюминка в том, чтобы выкладывать не в таком поядке, типа из первой — 1, из второй — 2, из 3 -3, из 4 — 4 и т.д, а в таком порядке: 1 — 1, 2-2, 3-4,5-8, ..., 10-512. Правда одно но, надо чтобы в коробочках было больше или равно 512 таблеток


А>Про коробочки надо указать, что среди них находиться только одна с несъедобными, потому что вот что получается, если таких коробочек несколько:

А>Допустим из 10 у нас 4 не съедобные: допустим 1, 4,5,7, но пока мы этого не знаем
А>Берём из певрой 1 таблеточку, из второй 2, из третей три и т.д. Получаем общую массу: 397. Из 550 — 397 = 153/9 = 17 несьедобных таблеток.
А>Это число можно получить например, если сложить например 10+7, тоесть получается неоднозначность.



К>>Сегодня был в одной конторе, на собеседовании. Называется она rapidsoft.


К>>Мне задавали вопросы на смекалку и по причине полного отсутствия оной меня не приняли на работу .


К>>Вопросы а вернее задачи такие


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

К>>Назовите все точки на глобусе из которых можно начать этот маршрут и вернуться в конце этого маршрута в исходную точку.
К>> ОТВЕТ: южный полюс!
К>> вариант 2 — за примерно 2 км от северного полюса (прикол в том, что сначала мы идём 1 км на север, потом не доходя до северного полюса вы поворачиваем на восток и пройдя по кругу доходим до точки нашего поворота на восток, где естественно поворачиваем на юг и через 1 км. возвращаемся в исходную точку.)

К>>2 и 3 я рещаются по одному и тому же принципу, я бы назвал его "догоняй" (не в смысле догадайся, а в смысле беги.)


К>>Итак номер 2: Представьте, что на плоскости есть железная дорога длина, которой бесконечна в обоих направлениях. На эту железную дорогу в разных местах ставим 2 паравоза, начальные позиции паровозов помечаются (в оригинальной версии были роботы на парашютах ) паравозы могут двигатся по шагам вправо или лево и делать проверку находятся ли они в начальной точке отчёта какого либо из этих паравозов. Задача: придумайте алгоритм следуя которому эти паравозы обязательно встретятся (кстати очень не удачное слово, сразу начинаеш думать как развернуть их навстречу друг другу), я бы сказал окажутся в одной точке на рельсах — так точнее.

К>> ОТВЕТ: 1-е необходимо чтобы оба паравоза начали движение в одну и ту же сторону с одинаковой скоростью. Если паравоз обнаруживает, что он пересёк начальную позицию одного из паравозов, то он должен ускориться в 2 например раза. Суть в том что ускорится всегда только один паравоз.

К>>Номер 3: Есть ОДНО связанный список неизвестной длинны. Как узнать есть ли в этом списке петля.

К>> ОТВЕТ: запускаем 2 указателя по списку, первый движется быстрее второго и если в списке есть петля, то первый будет по ней кружить и позже в эту петлю войдет второй указатель и они пересекутся.

К>>Задача 4

К>> Есть 10 коробочек с таблеточками. В каждой коробочке лежит произвольное число таблеточек (это обязательно нужно подчёркивать, потому что я начал считать коробочки, а надо было таблеточки), так вот, далее таблеточки бывают 2-х видов съедобные и несьедобные, съедобная таблеточка весит 10 г. а не съедобная 9 г. Есть также весы. Задача — за ОДНО взвешивание найти и показать коробочку в которой лежат несъедобные таблетки.
К>> ОТВЕТ: всё очень просто из первой коробочки берём одну таблетку из второй две и т.д. Ставим этот набор на весы, фиксируем вес, определяем на сколько он отличается от "эталонного" веса и в данном случае величина разницы в граммах укажет нам на номер коробочки с несъедобными таблетками. Вобщем по долям надо раскладывать, главно чтобы доли были разные.

К>>Короче, я не ответил ни на одну задачу , кроме первой, совсем простой — как оперделить колическо бензокалонок в городе Москве, поскольку за решение подобных задач обычно в реальной жизни платят деньги, то я быстро сообразил, что и как

К>>Зато теперь я знаю эти хитрые задачки и ответы на них...

К>>Если есть опыт в решении подобных головоломок, то присылайте их сюда, будем делиться опытом.
Re: Помощь в собеседованиях...
От: Аноним  
Дата: 21.08.03 07:09
Оценка:
Здравствуйте, Копейка, Вы писали:

Я тоже пытался устроиться на работу в Egar и мне тоже дали задачки на смекалку. Точную постановку не помню, но смысл такой:
1. Было 100 кг огурцов влажностью 90%. Они усохли и влажность стала 80%. Сколько весят сейчас огурцы? (ответ 50 кг)

2. Были две бабки. Торговали огурцами (каждая по 30 штук в день) одна кучками по 3 огурца по цене 4 рубля. Вторая кучками по 2 огурца по цене 3 рубля. Общий заработок в день составлял 40 + 45 = 85 рублей. Однажды одна бабка заболела и на базар пошла одна с 60 огурцами. Она чтоб не париться стала продавать огурцы кучками по 5 (2 + 3) штук и с ценой 7(4 + 3) рублей. В результате бабка заработала 84 рубля. Вопрос куда делся 1 рубль (ответ: в одном ведре огурцы закончились раньше их от туда брали по 3 штуки а из второго ведра только по 2)

3. Есть 2 битфордова шнура оба горят по 1 часу. Но они бракованные и на разных участках горят с разной скорость. Как с помощью зажигалки и этих шнурков отмерить 45 минут времени? (ответ: зажигаем первый шнурок с двух сторон, а второй только с одной стороны. Когда первый сгорит напроч поджигаем второй шнурок со второй стороны)

4. Есть 8 шариков один бракованный. За сколько минимальных взвешиваний можно узнать какой из них весит больше? (ответ: не помню но весы дадут нам не больше или меньше а еще и равно тогда получается система исчисления с основанием 3 и все в шоколаде ... все же мне кажется за 3)

А не приняли знаете почему?

COM, COM, COM — вот что им требуется, а я его не знаю, не хочу знать и знать не буду.
Re: Помощь в собеседованиях...
От: nob114  
Дата: 21.08.03 08:03
Оценка:
o

NA dnyah proshe; uspeshno interview v Microsoft... Sami slogni vopros bil tehnicheki — i bil — esli vi posilaete kakoi to zapros SQL serveru — i on vozvrashaet pustoi nabor zapisei — kak pri skompilirovannom Front-End code naiti naibolee vremoyatnuu prichinu ? Ja otvetil Profiler ?

A vi korobochki...
Re[2]: Помощь в собеседованиях...
От: Копейка http://kopeechka.ru
Дата: 21.08.03 08:28
Оценка:
Здравствуйте, Аноним, Вы писали:


А>Я тоже пытался устроиться на работу в Egar и мне тоже дали задачки на смекалку. Точную постановку не помню, но смысл такой:

....

Все эти задачи сильно смахивают на бред сивой кобылы.
Ты это серьёзно или в шутку?

А>А не приняли знаете почему?

А>COM, COM, COM — вот что им требуется, а я его не знаю, не хочу знать и знать не буду.

То есть это всё в шутку было написано...
Re[2]: Помощь в собеседованиях...
От: Копейка http://kopeechka.ru
Дата: 21.08.03 08:47
Оценка: +1
Здравствуйте, nob114, Вы писали:

N>o


N>NA dnyah proshe; uspeshno interview v Microsoft...


Вот поэтому MS это MS, а всякие там EGAR-ы, на всегда останутся ERAG-ами.
Из всего этого можно сделать только один вывод, надо заниматся делом, а не ананизмом.

Это всё от того, что люди начитаются всяких книжок про то как "сотвори Microsoft сам за 24 дня", а своих мозгов то нет, вот как попугаи и повторяют. И вообще, кто круче из менеджеров, тот кто создал ERP систему без багов с помощью команды "супер-пупер" спецов или тоже самое сделал со студентами 4-5 х курсов. Я вам скажу, что в первом случае менегер — лошара полный, во втором — профи. И не говорите, что второй вариант невозможен, чесно говоря только он и возможен, только он и принесёт прибыль. И вообще тот кто считает, что программирование — это искусство и средство самовыражения, то пусть сидит дома и самовыражается до посинения, на работу таких "художников" лучше не принимать. От них одни проблемы, постоянно приходится убеждать в простых вещах, у них же аргумент всегда один — "круто" или "не круто". Под каим бы соусом он не подавался, смысл не меняется. Отсюда и такие вопросы на форуме — "Предпологается разрабатывать крупную ERP сисему, какие средства разработки выбрать", а почему бы не спросить, например — "Решено, выиграть чемпионат мира по футболу, какие майки и бутсы выбрать?". Лично мне результат разработки этой системы уже очевиден.
Вот таков мой взгляд на уровень Российского бизнеса и на IT отрасль в частности.
Re[3]: Помощь в собеседованиях...
От: nob114  
Дата: 21.08.03 09:09
Оценка:
LOL ! o
Re[2]: Помощь в собеседованиях...
От: MAN2 Россия http://gameinator.wp-club.net
Дата: 21.08.03 21:00
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Копейка, Вы писали:



А сколько минут на решение дают? Некоторые задачи решаются в уме за 30 сек., некоторые требуют бумажки...
Re[3]: Помощь в собеседованиях...
От: Аноним  
Дата: 22.08.03 06:17
Оценка:
Здравствуйте, Копейка, Вы писали:

К>Здравствуйте, Аноним, Вы писали:



А>>Я тоже пытался устроиться на работу в Egar и мне тоже дали задачки на смекалку. Точную постановку не помню, но смысл такой:

К>....

К>Все эти задачи сильно смахивают на бред сивой кобылы.

К>Ты это серьёзно или в шутку?

А>>А не приняли знаете почему?

А>>COM, COM, COM — вот что им требуется, а я его не знаю, не хочу знать и знать не буду.

К>То есть это всё в шутку было написано...


Мы что тут на концерте Петросяна. По моему люди тут сурьезДные
Нет все так и было на все дали 15 минут, ручку и лист бумаги
Re[3]: Помощь в собеседованиях...
От: Аноним  
Дата: 22.08.03 06:19
Оценка:
Здравствуйте, MAN2, Вы писали:

MAN>Здравствуйте, Аноним, Вы писали:


А>>Здравствуйте, Копейка, Вы писали:



MAN>А сколько минут на решение дают? Некоторые задачи решаются в уме за 30 сек., некоторые требуют бумажки...


15 минут и бумажка

Как мне объяснили они (задачки) покажут смекалку.. вопрос в том, как могут 4 задачки показать работу серого вещества, над загадкой которого трудятся люди по головастее постановщиков этих задач
Re[3]: Помощь в собеседованиях...
От: Аноним  
Дата: 22.08.03 14:59
Оценка:
Здравствуйте, Копейка, Вы писали:

К>Здравствуйте, nob114, Вы писали:


N>>o


N>>NA dnyah proshe; uspeshno interview v Microsoft...


К>Вот поэтому MS это MS, а всякие там EGAR-ы, на всегда останутся ERAG-ами.

К>Из всего этого можно сделать только один вывод, надо заниматся делом, а не ананизмом.

Лично я на них и не в обиде (хотя 100 баксов на проезд до осквы и потерял, когда на собеседование приезжал).Опыта у меня мало. А то что я умею (и как считаю не плохо) не требуется данной фирме.

По сему не считаю вышеприведенное высказывание правильным.
Re[2]: Помощь в собеседованиях...
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 30.08.03 12:37
Оценка:
Здравствуйте, AndrewVK, Вы писали:

К>>Номер 3: Есть ОДНО связанный список неизвестной длинны. Как узнать есть ли в этом списке петля.

К>> ОТВЕТ: запускаем 2 указателя по списку, первый движется быстрее второго и если в списке есть петля, то первый будет по ней кружить и позже в эту петлю войдет второй указатель и они пересекутся.

AVK>Отвратительное с точки зрения перформанса решение.


Гн. Копейка ошибся. Вместо "неизвестной длины",нужно вставить "неопределенной длины", тут решение только одно.
Re[2]: Помощь в собеседованиях...
От: Slick Украина  
Дата: 31.08.03 15:30
Оценка:
Здравствуйте, Аноним, Вы писали:

А>COM, COM, COM — вот что им требуется, а я его не знаю, не хочу знать и знать не буду.


А чего это ты так COM не взлюбил? Или это он к тебе прохладно относится?
Re[3]: Помощь в собеседованиях...
От: Аноним  
Дата: 01.09.03 11:47
Оценка:
Здравствуйте, Slick, Вы писали:

S>Здравствуйте, Аноним, Вы писали:


А>>COM, COM, COM — вот что им требуется, а я его не знаю, не хочу знать и знать не буду.


S>А чего это ты так COM не взлюбил? Или это он к тебе прохладно относится?


Должен же я чем-то отличаться от других. А если чесно то вот мой посыл:
ошибки на стадии проектирования обходятся в 3 раза дороже, чем ошибки на стадии программирования.
Если считать COM+, продолжнение DCOM, продолжение COM, продолжение OLE 2, а OLE есть локальная штука и её очень трудно приспособить для удаленного взаимодействия. Это моё мнение, и я не хочу тут устраивать этот вечный спор, что лучше... ТО лучше что хорошо знаешь, если знаешь basic — то и круто.

Я тестовое задание делал для одной питерской фирмы используя COM. Сделал но удовлетворения не получил. А потом мне HR manager если Вы не зная COM ( я её сразу предупределил) задание выполнили, то чего же Вы тогда знаете
Re[4]: Помощь в собеседованиях...
От: Копейка http://kopeechka.ru
Дата: 02.09.03 09:56
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Лично я на них и не в обиде (хотя 100 баксов на проезд до осквы и потерял, когда на собеседование приезжал).Опыта у меня мало. А то что я умею (и как считаю не плохо) не требуется данной фирме.


А>По сему не считаю вышеприведенное высказывание правильным.


А в какой части вы не согласны?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.