avva: (Default)
[personal profile] avva

— Расскажите о своей карьере до сих пор.

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

— Гм, ну а как насчет последнего проекта, которым вы занимались?

— Воспользоваться merge sort и разбить на N кусков, каждый из которых умещается в память.

— Какую роль вы играли в вашей рабочей группе на последнем месте работы?

— Сначала пройти один раз и переворачивать отдельно каждое слово, потом перевернуть всю строку еще раз.

— Расскажите подробнее о последнем баге, который вы починили.

— Чтобы имплементировать с их помощью Singleton pattern.

— Какие языки программирования вы предпочитаете и почему?

— Если использовать XOR, можно обойтись без временной переменной.

— Вы нам подходите. Когда вы можете начать работать?

(идея украдена из этой записи (англ.), рекомендую)

Date: 2007-02-28 07:04 pm (UTC)
From: [identity profile] a7sharp9.livejournal.com
Прекрасно!

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

Date: 2007-02-28 07:04 pm (UTC)
From: [identity profile] dizzy57.livejournal.com
Про сортировку слиянием не узнал.

Date: 2007-02-28 07:15 pm (UTC)
From: [identity profile] dimrub.livejournal.com
Хе-хе. Дополню, скажем, так:

Как вы предпочитаете изучать новую для вас технологию?

— В цикле меняем сохраненный элемент на текущий с вероятностью единица деленная на номер текущего элемента.

Date: 2007-02-28 07:15 pm (UTC)
From: [identity profile] dimrub.livejournal.com
Кажется, надо отсортировать огромный список, не влезающий в память.

Date: 2007-02-28 07:41 pm (UTC)
From: [identity profile] vadimkle.livejournal.com
всё правда, кроме последней фразы

Date: 2007-02-28 08:08 pm (UTC)
From: [identity profile] white-lee.livejournal.com
Почему, я думаю, что авва действительно украл это из той записи, и он действительно ее рекомендует ;)

Date: 2007-02-28 08:12 pm (UTC)
From: [identity profile] vadimkle.livejournal.com
в той записи так и есть, я видел.
я о своем опыте.

Date: 2007-02-28 08:14 pm (UTC)
From: [identity profile] white-lee.livejournal.com
Вы не поняли :)

Date: 2007-02-28 08:41 pm (UTC)
From: [identity profile] tassadar-il.livejournal.com
я наверное дико торможу и шутка юмора не достигает астральных высот, куда уплыло мое сознания. поясните! понимаю что все это ответы на задачки которые часто дают на интервью, но в чем смысл?

Date: 2007-02-28 09:05 pm (UTC)
From: [identity profile] kvakoshka.livejournal.com
Верно. Применяется при сортировке больших файлов на диске.

Date: 2007-02-28 09:13 pm (UTC)
From: [identity profile] xfyre.livejournal.com
у меня примерно такой же вопрос :)

mark

Date: 2007-02-28 09:46 pm (UTC)
From: (Anonymous)
во-первых, первоисточник, все-таки, интереснее, поскольку не так прямолинеен, как аввовский вариант, и реально заслуживает оценку "nice";
во-вторых, если авве смешно, а вам - нет, то это не значит, что с вами что-то не так...

Re: mark

Date: 2007-02-28 09:54 pm (UTC)
From: [identity profile] avva.livejournal.com
Дело не в прямолинейности, а просто в другом выборе типа вопросов. Но ваша язвительность меня порадовала, спасибо :)

mark

Date: 2007-02-28 10:00 pm (UTC)
From: (Anonymous)
"меняя направление указателей в обратную сторону" - это, чтобы понятно было, что не в левую и не в правую ;)

Date: 2007-02-28 10:13 pm (UTC)
From: [identity profile] malaya-zemlya.livejournal.com
— Вопрос, ответ на который невозможно проверить.
— Ответ, не имеющий отношения к реальной работе.

Re: mark

Date: 2007-03-01 12:23 am (UTC)
From: [identity profile] ex-ex-annut.livejournal.com
"человек с ограниченной памятью"
кстати, это далеко не самый лучший метод
так как приходится делать много копирований или удалений (зависит работаем с указателями или объектами)
если можно быть немного толерантным равномерности есть гораздо более эффективные методы

Date: 2007-03-01 03:42 am (UTC)
From: [identity profile] scolar.livejournal.com
Второе решение (с переворотом) я придумал на интервью году в 2000. Но интервьюер не понял. И был послан.

Date: 2007-03-01 03:52 am (UTC)
From: [identity profile] a7sharp9.livejournal.com
Респект. Я тоже придумал именно второе, но не в обстановке интервью.

Date: 2007-03-01 03:58 am (UTC)
From: [identity profile] scolar.livejournal.com
У меня, собственно, никаких идей не было, что со списком можно ещё делать, кроме как начать переворачивать - поэтому дальше было просто. А вот хотел бы я посмотреть на человека, который сам придумал решение с двумя пойнтерами.

Date: 2007-03-01 04:25 am (UTC)
From: [identity profile] ex-ex-annut.livejournal.com
В десткие года когда я была сиеснительным ребенком меня пригласили в какую-то семью, которую я жутко стеснялась, а с другой стороны хотелось показать себя почему-то именно остроумным человеком.
Прочитала пару книжек со смешными историями приямо к этой встрече.
Сидели за столом, разговаривали, так как от усилий потраченных на подготовку мое стеснение только увеличилось, то на любую фразу брошенную за столом я рассказывала очередной анекдот по порядку.

Date: 2007-03-01 04:29 am (UTC)
From: [identity profile] ex-ex-annut.livejournal.com
я придумала читая книгу Пуддстоуна про программисткие интервью (обычно я стараюсь решить, а потом придумать ответ) -- мне это показалось более очевидным (то что нужен второй пойинтер, котоый будет в итоге быстро бегать по кругу и обязательно засекет первый, когда тот попадет туда это самая первая мысль, а потом подумав понимаешь, что второй должен двигаться не н шагов за один шаг первого, а два шага за раз достаточно)


Date: 2007-03-01 08:06 am (UTC)
From: [identity profile] migmit.livejournal.com
Ни хрена не понял. Это вообще о чём?

Date: 2007-03-01 08:27 am (UTC)
From: [identity profile] 109.livejournal.com
- да.
- это что?
- и это?
- static members?
- а можно просто складывать-вычитать, если гарантировано отсутствие переполнения.

Date: 2007-03-01 08:59 am (UTC)
From: [identity profile] dimrub.livejournal.com
Ага, именно так.

Re: mark

Date: 2007-03-01 08:59 am (UTC)
From: [identity profile] dimrub.livejournal.com
А какие более эффективные? Расскажите, пожалуйста, если не лень.

Re: mark

Date: 2007-03-01 09:09 am (UTC)
From: [identity profile] ex-ex-annut.livejournal.com
если нужно однородное распределение, то есть несколько методов примерно на том же принципе, что и стандартный, но немного более эффективных
это все называется reservoir sampling
вот неплохой обзорчик с доказательством что без резервуара никуда
http://www.cs.duke.edu/~jsv/Papers/Vit85.Reservoir.pdf
также посмотрите по ключевым словам
sampling window streaming так в дата стрим много работали с этим (Радж Мотвани)





зачастую задача бывает еще проще
входной поток у вас уже достаточно рандомизированный
вам нужно набрать N
до n_1 < N вы набираете все элементы
а потом с вероятностью которая зависит от выбранного числа элементов и некоторых предположений о распределении на начальном потоке подбираете до N
на больших потоках это дает перевес в сторону начальных данных
но опять же они могут быть изначально случайными или можно придумать (если есть контроль над потоком например из хранилища данных) как начальный поток поменять
это дает приближения но достаточно хорошее для многих задач уровня аналитика по продажам итд
если данные обрабатываются паралельно то немного усложняем

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


Date: 2007-03-01 12:48 pm (UTC)
From: [identity profile] slobin.livejournal.com
Ну, посмотрите. ;-) Я его сам придумал году в 84-85 (то есть первый либо второй курс университета).

... Только каков был вопрос, если это ответ? ...

Date: 2007-03-01 08:21 pm (UTC)
From: [identity profile] evgeniysharapov.livejournal.com
Хаха. Первоисточник интереснее. Но смешно будет только тем, кто проходил интервью в американских компаниях. Сплошные отсылы к типичным вопросам на типичном интервью. Про лампочки до сих пор помню. Три лампочки, три выключателя. Какая из лампочек будет горячей.

Date: 2007-03-01 11:46 pm (UTC)
From: [identity profile] syarzhuk.livejournal.com
Я придумал следующее: от первого элемента идём на 1 шаг, от следующего - на 2, от следующего - на 3 и т.д. В конце каждого шага проверяем, не попали ли в тот же элемент, с которого начинали итерацию. Таким образом, или упрёмся в конец списка, или на итерации, номер которой делится на (не обязательно равен) размер кольца, поймём, что есть кольцо. Но не на интервью, и не за 5 минут

Date: 2007-03-03 03:11 am (UTC)
From: [identity profile] scolar.livejournal.com
Самое смешное, что это является и решением для задачи про список с кольцом. Только что запостил: http://scolar.livejournal.com/254112.html

Date: 2007-03-03 08:00 am (UTC)
From: [identity profile] dimrub.livejournal.com
Ха, забавно!

Date: 2007-03-05 10:22 am (UTC)
From: [identity profile] andreyvo.livejournal.com
На мелкософтовских интервью все то же самое, в блумберге тоже подобные вопросы... шаблонно мыслят господа-интервьюеры последнее время, прям по книжке " "Programming interviews exposed" (http://www.amazon.com/Programming-Interviews-Exposed-Secrets-Landing/dp/0471383562)

January 2026

S M T W T F S
    1 2 3
4 5 6 7 8 910
11 12 1314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 15th, 2026 03:55 pm
Powered by Dreamwidth Studios