Re[23]: Ответ сотрудника Яндекса
От: sdf
Дата: 01.07.12 10:55
Оценка: -1
Здравствуйте, MTD, Вы писали:

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


>>>Ну так сравнивать будем?

sdf>>Понятия не имею.

MTD>Отчего так? Изобретенного вами алгоритма не существует?

Существует.

sdf>>В таком виде не вижу смыслf — на отсортированным в обратном порядке данных ваш агоритм будет работат хуже чем реалзиация из STL.


MTD>Потому я и говорил, что надо уточнить, что за входные данные. Для упорядоченного массива готов изобрести алгоритм со сложностью O(1)

Вот-вот. Понаберут таких по обьявлениям, что с первого раза ни условия, и временные характеристики аглритмов не тестируют, а потом не работает ничего.

Алгоритм должен быть один и он должен с одинаковой предсказуемой скоростью работать на любых данных.
Re[24]: Ответ сотрудника Яндекса
От: MTD https://github.com/mtrempoltsev
Дата: 01.07.12 11:08
Оценка: :)
Здравствуйте, sdf, Вы писали:

MTD>>Отчего так? Изобретенного вами алгоритма не существует?

sdf>Существует.

Да, ладно

MTD>>Потому я и говорил, что надо уточнить, что за входные данные. Для упорядоченного массива готов изобрести алгоритм со сложностью O(1)

sdf>Вот-вот. Понаберут таких по обьявлениям, что с первого раза ни условия, и временные характеристики аглритмов не тестируют, а потом не работает ничего.

Это вы про себя? Самокритично. Я несколько раз просил уточнить условия.

sdf>Алгоритм должен быть один и он должен с одинаковой предсказуемой скоростью работать на любых данных.


Садитесь — два.
Re[24]: Потестируем алгоритмы?
От: MTD https://github.com/mtrempoltsev
Дата: 01.07.12 11:22
Оценка: 6 (1) +1 :)
Результаты моего слегка модифицированного алгоритма по сравнению с std::nth_element (мой первый):

Размер массива: 100 000 000
Размер выборки: 1 000

Случайные данные:
0.33 s
0.91 s

Отсортированные по убыванию:
7.68 s
6.13 s

Отсортированные по возрастанию:
0.34 s
0.44 s


А что покажет ваш алгоритм?
Re[25]: Ответ сотрудника Яндекса
От: sdf
Дата: 01.07.12 11:23
Оценка: -1
Здравствуйте, MTD, Вы писали:

MTD>>>Потому я и говорил, что надо уточнить, что за входные данные. Для упорядоченного массива готов изобрести алгоритм со сложностью O(1)

sdf>>Вот-вот. Понаберут таких по обьявлениям, что с первого раза ни условия, и временные характеристики аглритмов не тестируют, а потом не работает ничего.

MTD>Это вы про себя?

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

sdf>>Алгоритм должен быть один и он должен с одинаковой предсказуемой скоростью работать на любых данных.

MTD>Садитесь — два.
самокритично, да. К слову, существует небольшоая модификация вашего алгоритма, которая сделает его работающим с предскауемой скоростью на любых данных в рамках много исходного условия. Сами вы пока не догадались, какая. Подсказать?

Впрочем, как я понял, в Яндекс вы не пошли, так что они со мной согласны. Если вам охота что-то мне про мой алгоритм доказать — не старайтесь. Вы своим примером уже доказали, чт плохо зная алгоритмы и не умея их тестировать, легко сесть в лужу.
Re[25]: Потестируем алгоритмы?
От: sdf
Дата: 01.07.12 11:32
Оценка: -2
Здравствуйте, MTD, Вы писали:

MTD>Результаты моего слегка модифицированного алгоритма по сравнению с std::nth_element (мой первый):


MTD>
MTD>Размер массива: 100 000 000
MTD>Размер выборки: 1 000

MTD>Случайные данные:
MTD>0.33 s
MTD>0.91 s

MTD>Отсортированные по убыванию:
MTD>7.68 s
MTD>6.13 s

MTD>Отсортированные по возрастанию:
MTD>0.34 s
MTD>0.44 s
MTD>


MTD>А что покажет ваш алгоритм?


Если честно, мне уже смешно.
Вы мне показываете какие-то циферки без кода и без данных, без описания того, что у ва за машина, как вы проводили тестирование. Я вам что, должен сейчас просто показывать какие-то другие циферки?

Повторяю еще раз — мой алоритм сидит внутри продакшен-кода, работает с данными, лежашими в виде больших файлов на диске, использет всякие дополнительные особенности кеширования доступа к диску в конкретной ОС. Что и как вы предлагаете сравнивать? Я сравнивал разные реализации, когда писал свой алгоритм, решение с heapsort работало где-то в 1,2 раза медленне, решение quickselect "в лоб" работало медленнее, чем моё (хотя оно на него больше всего похоже).
Re[26]: Ответ сотрудника Яндекса
От: MTD https://github.com/mtrempoltsev
Дата: 01.07.12 11:35
Оценка:
Здравствуйте, sdf, Вы писали:

MTD>>Это вы про себя?

sdf>Нет, я о вас. В условии не было ничего сказано про то, что данные не могут обладать какими-то опредлеенными свойствами. В реальный жизни вам эт отоже никто заранее не скажет.

Вы на каком курсе учитесь? Эх, немного вас просвещу. Сначала исследуют какого рода данные обрабатываются, на этом основании принимается решение о том, какой алгоритм использовать. То, что вы об этом промолчали, хотя я спрашивал, однозначно говорит, что вы либо изначально юлили с целью оставить лазейку, либо просто никогда ничего кроме лабораторных не делали.

sdf>Оцентивать сложность алгоритма и тестировать нужно уметь самостоятельно.


Хорошо, хоть это вы понимаете, но не до конца. Ничего с опытом придет.

sdf>>>Алгоритм должен быть один и он должен с одинаковой предсказуемой скоростью работать на любых данных.

MTD>>Садитесь — два.
sdf> самокритично, да.

Увы — это про вас. Странно, кто вас тянет за язык, говорить такие глупости.

sdf>К слову, существует небольшоая модификация вашего алгоритма, которая сделает его работающим с предскауемой скоростью на любых данных в рамках много исходного условия. Сами вы пока не догадались, какая. Подсказать?


Я бы предпочел, чтобы вы привели свой алгоритм — пусть это будет ваш триумф Порвет он мой как тузик и всем докажет как важно знать тонкости сортировок.

sdf>Впрочем, как я понял, в Яндекс вы не пошли, так что они со мной согласны.


Зато вы им подойдете — там много таких студентов работают, вам будут рады. Правда поиск с каждым годом хуже, но это уже тема другого разговора.

sdf>Если вам охота что-то мне про мой алгоритм доказать — не старайтесь. Вы своим примером уже доказали, чт плохо зная алгоритмы и не умея их тестировать, легко сесть в лужу.


Парень, хорош болтать как девченка — code talks, bullshit walks
Re[26]: Потестируем алгоритмы?
От: MTD https://github.com/mtrempoltsev
Дата: 01.07.12 11:41
Оценка: +1
Здравствуйте, sdf, Вы писали:

sdf>Если честно, мне уже смешно.


Ну так смейтесь, мне тоже весело

sdf>Вы мне показываете какие-то циферки без кода и без данных, без описания того, что у ва за машина, как вы проводили тестирование. Я вам что, должен сейчас просто показывать какие-то другие циферки?


Это только для начала разговора. Если вы решитесь, мы обгорим условия и все протестируем как положено.

sdf>Повторяю еще раз — мой алоритм сидит внутри продакшен-кода,


У вас, что говнокод размазанный по 100 файлам?

sdf>работает с данными, лежашими в виде больших файлов на диске,


Ну и что?

sdf>использет всякие дополнительные особенности кеширования доступа к диску в конкретной ОС.


Вы меня пугаете.

sdf>Что и как вы предлагаете сравнивать?


Ваш алгоритм и мой. Хорош уже юлить
Re[27]: Ответ сотрудника Яндекса
От: sdf
Дата: 01.07.12 11:45
Оценка: -1
Здравствуйте, MTD, Вы писали:

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


MTD>>>Это вы про себя?

sdf>>Нет, я о вас. В условии не было ничего сказано про то, что данные не могут обладать какими-то опредлеенными свойствами. В реальный жизни вам эт отоже никто заранее не скажет.

MTD>Вы на каком курсе учитесь?

Я уже закончил университет
> Эх, немного вас просвещу.
Не надо меня просвещать, вы со своими знаниями сначал разберитесь.

>Сначала исследуют какого рода данные обрабатываются, на этом основании принимается решение о том, какой алгоритм использовать.\

Дада. Вам и сказали. что данные — это несколько теабайт double-ов. больше про них незивестно ничего, потому что получаться они будут от источника, который вы не котроллируете и предсказать характер данных в нем не можете. Если у вас не хватает воображения представить себе такой источик данных, мне вас жаль. Откою тайну — они есть. К слву, за умение писать алгоритмы, которые работают с данными с одинаковой и предскадуемой стороостью, хорошо платят.
sdf>>Оцентивать сложность алгоритма и тестировать нужно уметь самостоятельно.

MTD>Хорошо, хоть это вы понимаете, но не до конца. Ничего с опытом придет.

Жаль, что это плохо понимаете вы. Вы не протестировали случай с убывающей последовательностью, прежде чем говорить что ваш алгоритм работает лучше nth_elemrnt. Более того, вы самонадеяно заявили, что протестировали, когда вам сказали, что на таких данных он будет работать меленнее. Заметьте, кстати, я ваш код не запускал

MTD>Увы — это про вас. Странно, кто вас тянет за язык, говорить такие глупости.

Пока что фонтан глупостей тут исходит только от вас.

MTD>Я бы предпочел, чтобы вы привели свой алгоритм — пусть это будет ваш триумф Порвет он мой как тузик и всем докажет как важно знать тонкости сортировок.

Ваш алгоритм как тузик грелку рвет даже стандатрый STL-евский. Зачем мне напрягаться и выкусывать из-под NDA мой алгоритм?

MTD>Зато вы им подойдете — там много таких студентов работают, вам будут рады. Правда поиск с каждым годом хуже, но это уже тема другого разговора.

Возможно, я им подойду, но они вряд ли подойдут мне.

sdf>>Если вам охота что-то мне про мой алгоритм доказать — не старайтесь. Вы своим примером уже доказали, чт плохо зная алгоритмы и не умея их тестировать, легко сесть в лужу.


MTD>Парень, хорош болтать как девченка — code talks, bullshit walks

Sure. You code have already said pretty much everything.
Re[28]: Ответ сотрудника Яндекса
От: MTD https://github.com/mtrempoltsev
Дата: 01.07.12 11:49
Оценка: :)
Здравствуйте, sdf, Вы писали:

sdf>Я уже закончил университет


Свежо предание, да верится с трудом

sdf>Ваш алгоритм как тузик грелку рвет даже стандатрый STL-евский. Зачем мне напрягаться и выкусывать из-под NDA мой алгоритм?


Возможно потому, что его нет?
Re[27]: Потестируем алгоритмы?
От: sdf
Дата: 01.07.12 11:50
Оценка: -1 :))
Здравствуйте, MTD, Вы писали:

MTD>Ну так смейтесь, мне тоже весело

Вот и отлично. Хоршо, когда все смеются.

MTD>У вас, что говнокод размазанный по 100 файлам?

Нет.

sdf>>работает с данными, лежашими в виде больших файлов на диске,

MTD>Ну и что?
Ничего.

sdf>>использет всякие дополнительные особенности кеширования доступа к диску в конкретной ОС.

MTD>Вы меня пугаете.
Да я вообще страшный. Бу.

sdf>>Что и как вы предлагаете сравнивать?

MTD>Ваш алгоритм и мой. Хорош уже юлить
Хорошо, я спрошу по-другому, раз вы так не понимаете.
Сравниваем мы не алгоритмы, а реализации алгоритмов.
Как вы предлагаете сравнивать реализации в свете того, что я сказал про реализацию моего алгоритма?
Я вижу пока только один способ — вы пишете код, который умеет читать бинарный файл, в котором подряд записан терабайт переменных типа double (IEEE 754 64 бита), даете его мне и я запускают ваш и свой алгоритм на своем железе. Но вы же результатам все равно не поверите.
Re[29]: Ответ сотрудника Яндекса
От: sdf
Дата: 01.07.12 11:53
Оценка: -2
Здравствуйте, MTD, Вы писали:

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


sdf>>Я уже закончил университет


MTD>Свежо предание, да верится с трудом


Да не верьте, кто вас заставляет

sdf>>Ваш алгоритм как тузик грелку рвет даже стандатрый STL-евский. Зачем мне напрягаться и выкусывать из-под NDA мой алгоритм?


MTD>Возможно потому, что его нет?

Еще раз — не почему а зачем? Уливливаете разницу?
То, что ваш алгоритм хуже, чем STL-евский, уже доказано. Что мой пример того, что знание как работает quicksort нужно, чтобы эффективно решить мою задачу это уже подтвердило. Зачем мне делать что-то еще?

Если вы поставили целью убедить меня, что моего алгоритма нет — вы сразу скажите, проще будет
Re[28]: Потестируем алгоритмы?
От: MTD https://github.com/mtrempoltsev
Дата: 01.07.12 11:59
Оценка:
Здравствуйте, sdf, Вы писали:

sdf>>>Что и как вы предлагаете сравнивать?

MTD>>Ваш алгоритм и мой. Хорош уже юлить
sdf>Хорошо, я спрошу по-другому, раз вы так не понимаете.
sdf>Сравниваем мы не алгоритмы, а реализации алгоритмов.

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

sdf>Как вы предлагаете сравнивать реализации в свете того, что я сказал про реализацию моего алгоритма?

sdf>Я вижу пока только один способ — вы пишете код, который умеет читать бинарный файл, в котором подряд записан терабайт переменных типа double (IEEE 754 64 бита), даете его мне и я запускают ваш и свой алгоритм на своем железе. Но вы же результатам все равно не поверите.

Это уже за деньги.
Re[30]: Ответ сотрудника Яндекса
От: MTD https://github.com/mtrempoltsev
Дата: 01.07.12 12:00
Оценка: :)
Здравствуйте, sdf, Вы писали:

sdf>>>Ваш алгоритм как тузик грелку рвет даже стандатрый STL-евский. Зачем мне напрягаться и выкусывать из-под NDA мой алгоритм?


MTD>>Возможно потому, что его нет?

sdf>Еще раз — не почему а зачем?

Слив засчитан Всего хорошего!
Re[29]: Потестируем алгоритмы?
От: sdf
Дата: 01.07.12 12:04
Оценка: -2
Здравствуйте, MTD, Вы писали:

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


sdf>>>>Что и как вы предлагаете сравнивать?

MTD>>>Ваш алгоритм и мой. Хорош уже юлить
sdf>>Хорошо, я спрошу по-другому, раз вы так не понимаете.
sdf>>Сравниваем мы не алгоритмы, а реализации алгоритмов.

MTD>Хорош уже юлить Уже раз 5 все переигрываете, но даже при такой постановке вопроса — это не существенно, так как сколько не оптимизируй пузырек, быстрая сортировка все равно будет лучше.

Я ниуда не перепрыгиваю. Я с самого начала сказал про NDA и про то, что мне неохота выдергивать куски рализации чтобы что-то доказывать.
Пассаж про пузырек, оптимизацию, бструю сортировку — к чему тут? Я задал вам конкретный вопрос и предложил свой вариант ответа на него. Вас мой ответ не устроил, но вместо своего ответа вы разродились какой-то банальшиной.

MTD>Это уже за деньги.

Извините, я по воскресеньям не подаю.
Re[31]: Ответ сотрудника Яндекса
От: sdf
Дата: 01.07.12 12:04
Оценка:
Здравствуйте, MTD, Вы писали:

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


sdf>>>>Ваш алгоритм как тузик грелку рвет даже стандатрый STL-евский. Зачем мне напрягаться и выкусывать из-под NDA мой алгоритм?


MTD>>>Возможно потому, что его нет?

sdf>>Еще раз — не почему а зачем?

MTD>Слив засчитан Всего хорошего!

И вам не хворать!
Re[29]: Потестируем алгоритмы?
От: SkyDance Земля  
Дата: 02.07.12 01:33
Оценка: +2
MTD>Хорош уже юлить

На современном языке это называется на "юлить", а "троллить".
Поздравляю, вас затроллили Вы потратили свое время на то, чтобы писать (ненужный) код, и доказать какому-то неизвестно кому из интернета неизвестно что.
Re[30]: Потестируем алгоритмы?
От: MTD https://github.com/mtrempoltsev
Дата: 02.07.12 06:02
Оценка:
Здравствуйте, SkyDance, Вы писали:

SD>Поздравляю, вас затроллили


Как жить дальше

SD>Вы потратили свое время на то, чтобы писать (ненужный) код


Я люблю писать код — just for fun
Re[12]: Ответ сотрудника Яндекса
От: vie... Россия  
Дата: 02.07.12 07:00
Оценка: +3 :)
Здравствуйте, sdf, Вы писали:

sdf>Мне совершенно неохота выдирать этот алгоритм из продакшен-кода под NDA и его тут показывать, чтобы что-то вам доказывать. Я привел пример в ответ на забавную просьбу. Попробуйте решить эту задачу сами твк, чтобы решение работало быстрее, чем построение хипа из массива и последовательный вызов heap-pop N раз и чтобы оно работало эффективно, когда весь массив не умещается в памяти, вы поймете, что пространство для изобретения там есть и оно очень большое.


слив засчитан. пустотреп
Re[13]: Ответ сотрудника Яндекса
От: sdf
Дата: 02.07.12 07:08
Оценка:
Здравствуйте, vie..., Вы писали:

V>слив засчитан. пустотреп

Пришел vie...., громко злопнул дверью и ушел
Re: Собеседование в питерском офисе Яндекса
От: ff01  
Дата: 20.03.13 16:29
Оценка: 19 (7) :)
Сходил на собеседование в питерский офис. А обсуждения в данной ветке ознакомился уже после того, как составил своё впечатление. За несколько дней перед этим очным общением было часовое интервью по скайпу(С++, общий кругозор по технологиям).

На очном собеседовании,
условно делится на четыре периода по часу, каждый велся одним или двумя ребятами. Первые три периода — это вопросы по С++, STL, потом о многопоточном-параллельном программировании и кое-что по алгоритмам. Развеселило, когда во время третьего часа предложили написать на листочке сортировку пузырьком. Четвертый час/период сводился к игре в проектирование некоторого сервиса.
После этих четырех-пяти часов общения можно было остаться еще на четыре часа — в одиночестве писать задачку на ноуте. Говорили, что некоторые справляются с задачкой и быстрее чем за четыре часа, а кто-то сидит за ней и по пять часов.

Про вопросы,
похоже всем кандидатам предлагается одна и та же сто лет в обед обкатанная пачка вопросов. Вне зависимости от заявленного опыта или вакансии. Были как и откровенно дебильные, так и вполне нормальные.
Не наблюдалось обилия задачек про гномиков и уточек с лисичками. Некое подобие чего-то такого было в количестве пары штук, в конце третьего периода, сразу после написания сортировки пузырьком Возможно их было мало потому, что на часть из них честно отвечал, что уже знакомы. Или же сдавался через пять-десять минут из уважения к своему и чужому времени.
К дебильным вопросам отношу сродни уже упоминавшегося здесь printf и что он выведет. За последние десять лет сменив более трех софтовых контор так нигде и не пользовался printf/sprintf. Уже элементарно не помню нюансов его работы. Хотя, быть может, такие вопросы служат индикатором натаскивался ли кандидат специально на прохождение технических интервью.
Была заметна разница в формулировках тех вопросов, которые из опросника и тех, что появлялись по ходу разговора. У последних может чувствоваться размытость с неточностью и потому способны поставить в тупик. Тратишь время уточняя что же именно спрашивает человек, ибо слишком много возможных вариантов.

Про собеседующих,
поведение нареканий не вызывает. Ведут себя корректно и с выдержкой, достойно. Используемый опросник им навязана, т.е. спущена кем-то сверху. Отсебятины не лепят, но и шаг вправо, шаг влево сделать не боятся. Есть впечатление, что обязанность собеседовать кандидатов у них принудительная. Т.к. манера общения изрядно отличается от того, как проводят собеседование менеджеры или тимлиды, когда ищут людей к себе в команду.
Так понял, что все ребята были из команды браузера. По именем представлялись, свою роль и сферу ответственности в проекте никак не обозначали.

Организационная составляющая,
заметно, что в дизайн офиса вложено много средств, а в переговорной нет элементарной вешалки, да и изрядно душно. Окон нет, вентиляция работает лишь номинально, душно было уже когда заходили в переговорную. Ребята идут общаться друг за другом без перерывов — сидишь в переговорной безвылазно. Несколько часов в духоте и непрерывном общении сможет выдержать далеко не каждый. Если же невыспавшийся и простужен, то голова становится квадратной от духоты уже буквально через полчаса.
Ребята приходят с ноутами, если возник спорный момент — нет проблемы что-то быстренько посмотреть.
Нелепо и непривычно выглядит необходимость писать код на листочке, в то время как рядом сидит собеседующий и в ожидании твоего ответа активно стучит по клавишам ноута.
Тонкий маркер с собой можно и не брать — доска конечно есть и как обычно все маркеры с толстым стержнем, но писать код на доске не придется.

Чего не было во время очного собеседования,
ничего про отличия C++03 и C++11, ничего про паттерны проектирования с идиомами, ничего про графы или компьютерные сети. Никаких вопросов про внутреннюю кухню и системные вещи windows'ов. Про деревья и хэш таблицы сугубо номинально, поверхностно. Такое впечатление, что это всё не вклинивается по времени в спущенный кем-то сверху опросник.
Ни под каким соусом не хотели идти на обсуждение тех задач, что у них сейчас есть в проекте. Совершенно непонятно чем именно можно было бы у них заниматься. Предлагал подписать NDA, да поговорить несколько минут по конкретным задачам в проекте. Мол если меня не устроит, так и не придется целый день тратить на собеседование. Предложение проигнорировали, перешли к вопросам типа, а скажите что выведет printf вот в таком то случае.

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

Спасибо, что дочитали. Текст был набран после собеседования и ещё до отклика из яндекса о степени моей профпригодности. Привязка по времени всего изложенного — март 2013-го.
Цель поста — повествование о том подходе, который питерский яндекс использует в конкурентной борьбе с другими компаниями за основной производственный ресурс.
yandex яндекс собеседование
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.