Re[4]: Eurodiffusion. Design
От: Phacochoerus  
Дата: 29.07.05 05:57
Оценка:
Здравствуйте, chelovek, Вы писали:

C>:...Буду надеяться, что задачку пришлют и при том уже новую.


Gaperton новую придумал, ее и пришлют.
Re[4]: Eurodiffusion. Design
От: Phacochoerus  
Дата: 29.07.05 05:59
Оценка:
Здравствуйте, chelovek, Вы писали:

C> Хмм... А я как раз сходил в агентство на собеседование для CQG и теперь жду задания...


А какое агентство, если не секрет? Как называется?
Re[5]: Eurodiffusion. Design
От: chelovek  
Дата: 29.07.05 07:09
Оценка:
Здравствуйте, Phacochoerus, Вы писали:

P>А какое агентство, если не секрет? Как называется?

КА "ВИЗАВИ Консалт" http://www.vizavi.ru
Re[3]: Eurodiffusion. Design
От: Igor Trofimov  
Дата: 29.07.05 13:11
Оценка:
G>Впрочем, не надо. В ближайшее время тестовое задание будет изменено, а пообсуждать решение полезно по-любому.

Это точно. Вот например, мне совершенно непонятно, почему все (которые я видел?) показанные тут решения оперируют при моделировании именно координатной картой городов, которой на самом деле просто заданы исходные данные. Сама же модель распределения motif'ов, описанная в задаче, работает просто на графе связанности городов (статичном, как сама карта). И не нужно каждый раз высчитывать "GetNeighbours( city, map )" и тому подобные вещи. Увеличивается производительность. Повышается уровень абстракции, как следствие — читабельность и простота кода.

Интересно было бы узнать — считалась бы подобная реализация (парсер карты -> модель как граф, просто со статичным списком городов и их соседей) примером "хрупкого" дизайна или нет. Потому что, конечно, условие задачи можно достаточно просто изменить так, что карта станет действительно необходима при распределении. Но, imho, все-таки появление "GetNeighbours" внутри "дневного" цикла распределения — это одна из первых тем для резговора.

Кстати, наверное при таком подходе к проверке, который описал Gaperton, накопилось много достаточно формальной статистики, какие решения приносят. Интересно было бы (если это не является секретом) посмотреть на средние числовые показатели.
Раз уж решили ветку не удалять и обсудить этот пример всесторонне.
Re[4]: Eurodiffusion. Design
От: Gaperton http://gaperton.livejournal.com
Дата: 29.07.05 15:49
Оценка:
Здравствуйте, Igor Trofimov, Вы писали:

G>>Впрочем, не надо. В ближайшее время тестовое задание будет изменено, а пообсуждать решение полезно по-любому.


iT>Это точно. Вот например, мне совершенно непонятно, почему все (которые я видел?) показанные тут решения оперируют при моделировании именно координатной картой городов, которой на самом деле просто заданы исходные данные. Сама же модель распределения motif'ов, описанная в задаче, работает просто на графе связанности городов (статичном, как сама карта). И не нужно каждый раз высчитывать "GetNeighbours( city, map )" и тому подобные вещи. Увеличивается производительность. Повышается уровень абстракции, как следствие — читабельность и простота кода.


+1

iT>Интересно было бы узнать — считалась бы подобная реализация (парсер карты -> модель как граф, просто со статичным списком городов и их соседей) примером "хрупкого" дизайна или нет. Потому что, конечно, условие задачи можно достаточно просто изменить так, что карта станет действительно необходима при распределении. Но, imho, все-таки появление "GetNeighbours" внутри "дневного" цикла распределения — это одна из первых тем для резговора.


Конечно же, это считалось безусловным плюсом. Такой дизайн шлют 10-20% кандидатов. Большая часть присылает решение на массиве, если больше нигде не накосячили, то их приглашают на интервью (пример такого решения я и дал). В течении которого котором им в числе прочего предстоит придумать вот этот второй вариант. Автор приведенного мной решения с этим справился блестяще — сразу видно, что человек рассматривал несколько вариантов когда дизайнил, а это нам и надо. Вопрос звучит как "что надо сделать, чтобы нормально обрабатывать разреженные вытянутые карты." Справился — молодец.

iT>Кстати, наверное при таком подходе к проверке, который описал Gaperton, накопилось много достаточно формальной статистики, какие решения приносят. Интересно было бы (если это не является секретом) посмотреть на средние числовые показатели.


Формальной — нет. Есть субъективные впечатления проверяющих.
Re[4]: Eurodiffusion. Design
От: Left2 Украина  
Дата: 29.07.05 16:06
Оценка:
iT>Это точно. Вот например, мне совершенно непонятно, почему все (которые я видел?) показанные тут решения оперируют при моделировании именно координатной картой городов, которой на самом деле просто заданы исходные данные. Сама же модель распределения motif'ов, описанная в задаче, работает просто на графе связанности городов (статичном, как сама карта). И не нужно каждый раз высчитывать "GetNeighbours( city, map )" и тому подобные вещи. Увеличивается производительность. Повышается уровень абстракции, как следствие — читабельность и простота кода.

Именно так и сделал в своём решении Решение прокатило, хотя насколько его оценили близко к эталонному — сказать не могу.
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[5]: Eurodiffusion. Design
От: Igor Trofimov  
Дата: 29.07.05 17:06
Оценка:
G>Формальной — нет. Есть субъективные впечатления проверяющих.

Ну.. конечно субъективной. Но — цифирки же ставите 0..2 по различным критериям? Или это не в обязательном порядке? Вот и интересно было бы узнать — где народ обычно сильнее — условно говоря, в Performance или в Scalability Хоть и по субъективным оценкам.
Re[5]: Eurodiffusion. Design
От: chelovek  
Дата: 01.08.05 09:27
Оценка:
Здравствуйте, Phacochoerus, Вы писали:

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


C>>:...Буду надеяться, что задачку пришлют и при том уже новую.


P>Gaperton новую придумал, ее и пришлют.


А вот и не угадал. Меня приняли решение "не рассматривать"
(равномерно относительно качества возвожного решения задачи).
Правда в Зеленоград я не очень хотел.
Re[6]: Eurodiffusion. Design
От: Phacochoerus  
Дата: 01.08.05 10:46
Оценка:
Здравствуйте, chelovek, Вы писали:
C>А вот и не угадал. Меня приняли решение "не рассматривать"
C>(равномерно относительно качества возвожного решения задачи).
C>Правда в Зеленоград я не очень хотел.

Вот как... А разве до отправки задачи проводятся какие-то собеседования? Мне казалось, задания всем высылают, у кого в резюме написано "программист"...
Re[4]: Eurodiffusion. Design
От: _NT_  
Дата: 01.08.05 11:40
Оценка:
Здравствуйте, Igor Trofimov, Вы писали:


iT>Это точно. Вот например, мне совершенно непонятно, почему все (которые я видел?) показанные тут решения оперируют при моделировании именно координатной картой городов, которой на самом деле просто заданы исходные данные. Сама же модель распределения motif'ов, описанная в задаче, работает просто на графе связанности городов (статичном, как сама карта).

И не нужно каждый раз высчитывать "GetNeighbours( city, map )"

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



У меня вычисление "соседей" производится только один раз при первом вызове метода EuropeanUnion.GetNeighbours(City city).
Ве последующие вызовА выбирают соседей из хеш-таблицы (созданой при первом вызове)...
//...
return (City[])neighbours[city];
//...
Re[7]: Eurodiffusion. Design
От: chelovek  
Дата: 01.08.05 13:21
Оценка:
Здравствуйте, Phacochoerus, Вы писали:

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

C>>А вот и не угадал. Меня приняли решение "не рассматривать"
C>>(равномерно относительно качества возвожного решения задачи).
C>>Правда в Зеленоград я не очень хотел.

P>Вот как... А разве до отправки задачи проводятся какие-то собеседования? Мне казалось, задания всем высылают, у кого в резюме написано "программист"...


Если через агентство устраиваться, то сначала идешь в агентство на собеседование.
Re[6]: Eurodiffusion. Design
От: Gaperton http://gaperton.livejournal.com
Дата: 01.08.05 14:23
Оценка:
Здравствуйте, Igor Trofimov, Вы писали:

G>>Формальной — нет. Есть субъективные впечатления проверяющих.


iT>Ну.. конечно субъективной. Но — цифирки же ставите 0..2 по различным критериям? Или это не в обязательном порядке? Вот и интересно было бы узнать — где народ обычно сильнее — условно говоря, в Performance или в Scalability Хоть и по субъективным оценкам.


Это надо HR спрашивать, и еще не известно, может они выбрасывают эти чеклисты. То, что они статистики не ведут — это точно можно сказать. Для них главное — вердикт, продолжать или нет.
Re[8]: Eurodiffusion. Design
От: Phacochoerus  
Дата: 02.08.05 07:01
Оценка:
Здравствуйте, chelovek, Вы писали:
C>Если через агентство устраиваться, то сначала идешь в агентство на собеседование.

Ну так отошли резюме напрямую к нам, делов-то...
Re[7]: Eurodiffusion. Design: "Эталон"
От: _VladimirV_  
Дата: 02.08.05 07:11
Оценка:
Здравствуйте, Gaperton, Вы писали:


G>Вот это тестовое задание, решенное одним из кандидатов. Решение очень понравилось.

G>http://www.rsdn.ru:80/File/20496/Euro.zip

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

Это для решения одной небольшой задачки, короче прикололся над эталоном ...
Re[5]: Eurodiffusion. Design
От: AntZ  
Дата: 02.08.05 07:22
Оценка:
LF>На самом деле все намного проще — надо просто просить кандидатов на доске написать код, допустим перевенуть строку. Данное задание несмотря на свою легкость сразу показывает твой уровень, и подтверждает ты ли делал тестовое задание или нет

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

А решение простецкое — два указателя, один на первый символ, другой на последний. Меняемся значениями, первый инкрементируется, второй декрементируется и т.д. пока не сравняются или второй не станет меньше первого. Здесь проверяются не способности, а знание правильного решения.
Re[7]: Eurodiffusion. Design
От: AntZ  
Дата: 02.08.05 07:23
Оценка:
Подразумевается "правильное" решение с двумя указателями идущими на встречу друг другу. Не все его находят "не отходя от кассы".

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


LF>>>На самом деле все намного проще — надо просто просить кандидатов на доске написать код, допустим перевенуть строку.

LF>>>Данное задание несмотря на свою легкость сразу показывает твой уровень, и подтверждает ты ли делал тестовое задание или нет

L>>Как правило это плохой способ.

L>>90% людей на собеседовании нервничают — с перепугу даже знающий человек может написать чёрт знает что. А тестовое задание делается дома, в спокойной обстановке и показывает возможности человека куда более реально.

LF>задание — перевернуть строчку, уровень если не школы то 1к университета. Интересно что это с психикой кандидата, если с перепугу не может такое написать, то темболее зачем его брать.
Re[9]: Eurodiffusion. Design
От: chelovek  
Дата: 02.08.05 07:27
Оценка:
Здравствуйте, Phacochoerus, Вы писали:

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

C>>Если через агентство устраиваться, то сначала идешь в агентство на собеседование.

P>Ну так отошли резюме напрямую к нам, делов-то...

История такова:
1. Я разместил резюме на job.ru, ...
2. HR из CQG спросила не хотите ли к нам в Зеленоград разработчиком (т.е. не старшим).
3. Я ответил, что в Зеленоград не хочу — только в Москву.
4. HR из CQG сказала, что сообщит, если будет возможность в Москву.
5. Я увидел на rabota.ru объявление агентства "...в Московский офис..."
6. На собеседовании в агентстве уточнилось, что это CQG и что Зеленоград они (агентство) тоже Москвой считают.
Но агент сказала, что уточнит — может можно пока в Зеленоград, а потом в Москву.
7. Прошла неделя и агентство мне ответило, что CQG решило меня в данный момент не рассматривать.

Мне кажется, что пока разговор завершен ...
Re[6]: Eurodiffusion. Design
От: LaFlour Австралия blog: http://spaces.live.com/laflour
Дата: 02.08.05 07:37
Оценка:
Здравствуйте, AntZ, Вы писали:

LF>>На самом деле все намного проще — надо просто просить кандидатов на доске написать код, допустим перевенуть строку. Данное задание несмотря на свою легкость сразу показывает твой уровень, и подтверждает ты ли делал тестовое задание или нет


AZ>Знаю многих отличных программеров которые не смогут найти подходящее решение "не отходя от кассы". С другой стороны многие "нули" которые знают решение этой задачки с легкостью пройдут "тест".


AZ> Здесь проверяются не способности, а знание правильного решения.


тут не надо искать ПРАВИЛЬНОГО решения, а надо показать что ты вообще умеешь мыслить.
Меня бы смутил кандидат который позиционируется на ведущего разработчика но который
бы не написал ни одной строчки.
Никто его не завставляет писать код под грохотом пулеметов, 5 минут подумай и пиши. Этого достаточно для такого задания
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[8]: Eurodiffusion. Design: "Эталон"
От: Gaperton http://gaperton.livejournal.com
Дата: 05.08.05 12:47
Оценка:
Здравствуйте, _VladimirV_, Вы писали:

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



G>>Вот это тестовое задание, решенное одним из кандидатов. Решение очень понравилось.

G>>http://www.rsdn.ru:80/File/20496/Euro.zip

_VV>да уж, на мой сромнейший взлгяд довольно большой так называемый овердэзайн, проявлюящийся в большом количестве ненужных вещей (опять же мое скромнейшее), например там два неймспейса (!), выделен целый файл длиной 230 строк для декларации типов (!) и т.д. и т.п.


Любопытно было бы взглянуть на ваш код. Не боитесь?

_VV>Это для решения одной небольшой задачки, короче прикололся над эталоном ...

Прикалывайтесь на здоровье. Тем не менее, добрый совет тем, кто хочет работать в CQG. Жизнь, может быть, несправедливая и неправильная штука, но многие проверяющие дествительно считают этот код очень адекватным. И дикое количество неймспейсов (целых 2!) + наличие целого файла для декларации типов ни капельки не портит впечатление. Скажем так, в массе своей проверяющие обращают внимание на другое.
Re[9]: Eurodiffusion. Design: "Эталон"
От: nixxxin  
Дата: 05.08.05 18:50
Оценка:
G>Любопытно было бы взглянуть на ваш код. Не боитесь?
_VV>>Это для решения одной небольшой задачки, короче прикололся над эталоном ...
G>Прикалывайтесь на здоровье. Тем не менее, добрый совет тем, кто хочет работать в CQG. Жизнь, может быть, несправедливая и неправильная штука, но многие проверяющие дествительно считают этот код очень адекватным. И дикое количество неймспейсов (целых 2!) + наличие целого файла для декларации типов ни капельки не портит впечатление. Скажем так, в массе своей проверяющие обращают внимание на другое.

Решал я эту задачку. Ваши ребята (Николай и Саша) сказали, что мой код им очень понравился. Судя по тому, что на собеседовании мне не было задано ни одного технического вопроса — никаких косячков они не обнаружили.
Так вот. Я с огромным трудом читал этот код. С трудом мог понять что и где там делается. И полностью согласен с _VladimirV_. Это не эталон.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.