avva: (Default)
[personal profile] avva
Прекрасный набор задачек для программистов (таких, что на интервью задают часто) у [livejournal.com profile] malaya_zemlya.

Date: 2006-01-10 05:04 pm (UTC)
From: [identity profile] leonid-b.livejournal.com
Да, про Ломоносова хорошая задачка. пойду-ка я с работы, подумаю.

Date: 2006-01-10 05:08 pm (UTC)
From: [identity profile] avva.livejournal.com
Думаю, надо начать с телефона, так как-то.

Date: 2006-01-10 05:15 pm (UTC)
From: [identity profile] enemyreader.livejournal.com
Почему с телефона?

Это скорее аналог бумажной почты и газет.

Date: 2006-01-10 05:18 pm (UTC)
From: [identity profile] avva.livejournal.com
Чтобы установить критически сложное для понимания свойство мгновенной передачи информации.

Date: 2006-01-10 05:20 pm (UTC)
From: [identity profile] strangest.livejournal.com
Часть этих задачек (плюс другие) рассмотрена в книге "Как сдвинуть гору Фудзи" Уильяма Паундстоуна. Там и про процесс приема на работу в Майкрософт есть. :)

Раньше лежала в электронном виде на русском языке на lib.aldebaran.ru, но сейчас ее почему-то убрали. Оригинала на английском не искал.

Date: 2006-01-10 05:27 pm (UTC)
From: [identity profile] ex-ex-annut.livejournal.com
используется стандартная кодировка английского алфавита (a 1 b 2 )
найти английское слово произведения букв которого максимально близко к миллиону

Date: 2006-01-10 05:30 pm (UTC)
From: [identity profile] enemyreader.livejournal.com
Давно установлено всякими хрустальными шарами и говорящими зеркалами :)

Date: 2006-01-10 05:41 pm (UTC)
From: [identity profile] avva.livejournal.com
curing.

Мои пять копеек

Date: 2006-01-10 05:45 pm (UTC)
From: [identity profile] raccoon.livejournal.com
Please write code to answer the following problems. Answers will be scored based on correctness, efficiency, and readability. You may only use C/C++ programming language reference materials.
Please don't use CRT, STL, etc. library functions.

1. Implement the C runtime library function strstr. strstr returns a pointer to the first occurrence of strSearch in string, or NULL if strSearch does not appear in string. If strSearch points to a string of zero length, the function returns string. The search does not include terminating null characters.



const char *strstr(const char *string, const char *strSearch)

{

// Insert your implementation here

}



2. Implement the following function for sorting a linked list of integers in ascending order. The function takes a pointer to the head of the list, and returns a pointer to the head of the sorted list. Your function should use only a constant amount of memory. It's prohibited to change the value of ListNode, instead ListNodes must be rearranged.



struct ListNode

{

int value() { return _value; }

ListNode *pNext;

private:

int _value;

};



ListNode* SortList(ListNode *pHead)

{

// Insert your implementation here

}



3. Implement the following function, FindSortedArrayRotation, which takes as its input an array of unique integers that has been sorted in ascending order, then rotated by an unknown amount X where 0 <= X <= (arrayLength - 1). An array rotation by amount X moves every element array[i] to array[(i + X) % arrayLength]. FindSortedArrayRotation discovers and returns X by examining the array. You may be able to do this in less than linear time.



int FindSortedArrayRotation(int *array, int arrayLength)

{

// Insert your implementation here

}

Date: 2006-01-10 06:07 pm (UTC)
From: [identity profile] siludin.livejournal.com
Если можно имена (и вообще все что угодно из /usr/share/dict/words :), то 'tetty' дает ровно миллион.

Date: 2006-01-10 06:15 pm (UTC)
From: [identity profile] leonid-b.livejournal.com
Сложность не в описании техники, а в концепции так называемой "информации". Эта концепция в восемнадцатом веке... сами понимаете...

Date: 2006-01-10 06:20 pm (UTC)
From: [identity profile] avva.livejournal.com
Самое близкое из того, что есть в моём файле словаря, хотя tetty, упоминаемого ниже, там нет.

Date: 2006-01-10 06:29 pm (UTC)
From: [identity profile] dimrub.livejournal.com
У Джоэла тоже интересные статьи были про процесс интервьюирования.

Date: 2006-01-10 06:38 pm (UTC)
From: [identity profile] lezze.livejournal.com
вот-вот. этого вполне достаточно должно быть. не суть вопроса обьяснить как действует а в чем конечный эффект. я бы начал говорить о каталогизации сначала, потом о мгновенной передаче.

Date: 2006-01-10 06:46 pm (UTC)
From: [identity profile] simonff.livejournal.com
Извините, тогда уж жаргонное 'titty' окажется впереди.

Date: 2006-01-10 07:10 pm (UTC)
From: [identity profile] gde-moi-17-let.livejournal.com
В копилку - мои три копейки: задачки с древнего интервью в Интеле.

***
В ряд построены 100 електрических лампочек с пуговкой выключателя on/off.
Изначально все лампочки выключены.
По очереди бегут 100 гномиков.
1-й включает каждую лампочку.
2-й выключает каждую вторую лампочку.
3-й - меняет нажимает н каждый третий выключатель.
...
Что будет когда все 100 гномиков пробегут?

***
В комнате 3 выключенные лампочки: 1л, 2л, 3л.
Снаружи - три выключателя: 1в, 2в, 3в.
Как, выйдя из комнаты один раз, узнать какой
выключатель соответствует какой лампочке?

Date: 2006-01-10 07:15 pm (UTC)
From: [identity profile] avva.livejournal.com
В каком смысле? :)

Date: 2006-01-10 07:19 pm (UTC)
From: [identity profile] avva.livejournal.com
Хорошие, да. Помню их :)

Date: 2006-01-10 08:31 pm (UTC)
From: [identity profile] 109.livejournal.com
первый называет checksum, все остальные вычисляют свой цвет как diff.

Date: 2006-01-10 08:31 pm (UTC)
From: [identity profile] 109.livejournal.com
работает с любым количеством гномиков :-)

Date: 2006-01-10 08:32 pm (UTC)
From: [identity profile] 109.livejournal.com
спасутся все, кроме одного (он тоже может, если случайно совпадёт).

Date: 2006-01-10 08:37 pm (UTC)
From: [identity profile] avva.livejournal.com
А, вот вы о чём. Но всё равно ж придётся со словарём сравнивать, чтобы найти настоящие слова. Нет, не думал об этом. Наверное, есть эффективные алгоритмы, не требующие разложения на множители в общей форме (потому что множество искомых множителей у нас сильно ограничено).

Date: 2006-01-10 09:40 pm (UTC)
From: [identity profile] 109.livejournal.com
решение я только что сказал... :-)

троичная система, каждому цвету своё значение.

checksum = сумме всех шапок.

Date: 2006-01-11 08:50 am (UTC)
From: [identity profile] besm6.livejournal.com
По нему не надо восстанавливать всю последовательность. Надо - недостающий элемент. Для этого одного разряда вполне достаточно. Младшего, естественно, AKA остатка от деления на 3.

Date: 2006-01-11 01:31 pm (UTC)
From: [identity profile] 109.livejournal.com
ну йолы палы, ты чё, не понимаешь решение задачи, которую сам задал? я не знаю уж, куда подробнее разжёвывать. rolling over checksum, нужной разрядности. в нашем случае - один троичный разряд. каждый гномик, слыша названную шапку, вычитает её из checksum. для вычисления своей шапки нужно вычесть checksum впереди себя из предыдущей (которая включает твою шапку). дошло теперь?

Date: 2006-01-11 01:54 pm (UTC)
From: [identity profile] 109.livejournal.com
последний называет сумму. остальные называют шапку, вычисляемую из суммы. это абсолютно точная формулировка и сказал я это в самом первом комменте. вы, наверное, гуманитарий и не привыкли к точным формулировкам?

Date: 2006-01-11 02:27 pm (UTC)
From: [identity profile] 109.livejournal.com
не так. гномик вычисляет свою шапку как разность двух чексумм - включающую его шапку и не включающую. чексумма, включающая его шапку равна чексумме, названной первым гномиком минус сумма всех названных шапок.

отстаньте от меня с такими примитивными вопросами, ради бога :-)

Date: 2006-01-11 03:09 pm (UTC)
From: [identity profile] 109.livejournal.com
он не запоминает, он апдейтит чексумму когда слышит шапку.

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

Date: 2006-01-12 07:48 am (UTC)
From: [identity profile] besm6.livejournal.com
У второй задачи условие сформулировано полностью? Тогда "берем картину мироздания и тупо смотрим, что к чему". Ключевое слово - "смотрим".

Date: 2006-01-12 03:34 pm (UTC)
From: [identity profile] gde-moi-17-let.livejournal.com
На что смотрим? Номера лампочек и выключателей надо поставить в соответствие. Когда вы снаружи, лампочек вам не видно.

Date: 2006-01-12 09:45 pm (UTC)
From: [identity profile] besm6.livejournal.com
Вот последнего утверждения в задаче не стояло... Потому я и спросил про полноту условия.

Date: 2006-01-13 06:17 am (UTC)
From: [identity profile] besm6.livejournal.com
Гм, продолжение допроса с пристрастием. Оговаривается ли в условии:

1. где я сначала нахожусь? (подозреваю, что наивные авторы имели в виду именно это)

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

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

Date: 2006-01-13 07:27 am (UTC)
From: [identity profile] gde-moi-17-let.livejournal.com
Ага - условия нормальные - как в школьных задачах по физике.
(ну типа, температура не -1000, планета - Земля и т.п.)
В том же ключе:

1. В комнате. Потом вышел. Делал что хотел с выключателями.
Вернулся. Ответил.

2. Нет. (Никого, даже самого наивного интервьюера). Адын, совсем адын.

3. Да, однозначное соответствие выключателей лампочкам есть.
Иначе его не просили бы найти. Никаких наёбок в задаче нет.

Date: 2006-01-13 10:03 am (UTC)
From: [identity profile] besm6.livejournal.com
П.1 отчетливо не относится к условиям типа "планета - Земля". Это надо оговаривать. Равно как и ответ на предыдущий вопрос. Два других пункта спрашивались, понятно, по правилу тринадцатого удара.

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

Date: 2006-01-13 04:26 pm (UTC)
From: [identity profile] gde-moi-17-let.livejournal.com
Я - не интервьюер, вам ничего не должна, и никакого решения не вижу.
Впрочем, мне оно и не нужно - я его знаю.
Мне кажется, вы со мной говорите не подобающе; по-снобски как-то;
я вас не знаю, и никаких основаной к тому вам не давала.
Задачки я кинула авве, полагая что он их знает (что так и есть) и
чтобы напомнить славные старые технионовские дни.
А вас я ни о чём не спрашивала. Смените, пожалуйста, тон.

Re: Мои пять копеек

Date: 2007-08-29 12:37 am (UTC)
From: (Anonymous)
Dear Sir,

Did you get an answer to your question?

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 29th, 2025 09:40 am
Powered by Dreamwidth Studios