Как пройти собеседование в Яндекс
От: MTD https://github.com/mtrempoltsev
Дата: 04.05.12 13:49
Оценка: 26 (9) +8 :))) :)))
Моя очередь немного поныть

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

Начало. С ходу предложили отсортировать массив целых положительных чисел. Сказал, что не буду изобретать ничего, а возьму std::sort, если сортировать надо часто подумаю о более подходящем алгоритме и структурах данных. Если сортировать надо много и набор данных специфический изучу вопрос и подберу подходящий метод сортировки. Посмотрели разочарованно. Поинтересовались что внутри std::sort, ответил, что скорее всего quick sort. Спросили про его сложность, сказал, что O(n * log n) и O(n * n) на уже упорядояенном массиве. Попросили рассказать как он работатет. Рассказал в общих чертах, что делится массив на 2 части, затем рекурсивно повторяется алгоритм к двум частям и т.д. до конца. Снова посмотрели разочарованно.

Спросили. что лучше std::set или hash_set. Сказал, что если памяти достаточно, то скорее всего hash_set будет более предпочтителен. Далее рассказал про сложность std::set, что внутри скорее всего красно-черное дерево, что колизии в хеш-таблицах разрешаются методом цепочек и еще одним методом, но я про него забыл. Снова посмотрели разочарованно. Я сказал: ребята, сказали бы, что гонять будете по алгоритмам я бы повторил, а так институт я 11 лет назад закончил.

Спросили про порядок конструирования/уничтожения:

class A {
    std::string s;
};

class B : A {
    std::vector<int> v;
};
B b;


Ну это у меня от зубов отскакивает.

Спросили, что это такое:

std::vector<int> * p = new std::vector<int>(1 << 20);


Сказал, что 1 сдвинули на 20 разрядов влево и с этим размером создали вектор. Немного поговорили про конструкторы вектора, про то как работает new. Рассказал, что выделяется память, потом зовется конструктор, если есть исключение, то память освобождается. Рассказал про то, какие умные указатели бывают.

Поехали дальше. Что это такое, говорят:

printf("%d", (int *)2 + 3);



Отвечаю, что фигня. Что кастится двойка к указателю, что вообще бессмысленно и указатель сдвигается на sizeof(int) * 3. Спросили про приоритет операций, сказал, что смутно помню — использую скобки и всех заставляю. Посмотрели разочарованно.

После этого попрощались и исчезли оставив меня в недоумении — WTF почему меня вообще не спросили о том, чем я занимался, какие проекты завершил, какие библиотеки написал? Ну я особо не переживал — ходил ради интереса.

Вывод. Если ты недавно закончил вуз — полный вперед, тебя там ждут, что будут спрашивать ты уже знаешь
Re: Как пройти собеседование в Яндекс
От: Handie  
Дата: 04.05.12 13:59
Оценка: 11 (5) +9 -1 :)
MTD>Моя очередь немного поныть

Overqualified
Re: Как пройти собеседование в Яндекс
От: StandAlone  
Дата: 04.05.12 14:00
Оценка: 3 (1) +3 :)
Здравствуйте, MTD, Вы писали:

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


Как-то так, да. Прошел недавно небольшое ралли по собеседованиям.
Основная масса собеседующих не желает выяснить, что ты знаешь.
Она страстно жаждет выяснить то, чего ты не знаешь.
Где логика, где смысл —

Хотя про квиксорт можно было и про переключение на insertion sort вспомнить, и про защиту от худшего случая, и насчет показателя оптимальности three-way-qsort в лучшем случае, и расход памяти в сравнении с merge sort, и еще дохрена всего, что я помню из только что прочитанной Algorithms, 4th Edition
Когда на одном недавнем собеседовании начал все это излагать, собеседующий с недовольным лицом меня прервал и перешел на следующие вопросы в надежде где-нибудь уличить и заорать с восторгом — Агаа, ты не знаешь, чем отличаются детали реализации словаря и хеш-таблицы,( сколько бит в слове байт, в каком ухе у меня звенит, you name it) !...
Re: Как пройти собеседование в Яндекс
От: alpha21264 СССР  
Дата: 04.05.12 14:06
Оценка:
Здравствуйте, MTD, Вы писали:

MTD>Моя очередь немного поныть


MTD>На днях ответил на вопросы на сайте Яндекса — мне ответили, договорились о собеседовании по скайпу. Пообщался, не скажу, что с удовольствием с двумя молодыми людьми. Нет, мне не хамили, не давили, просто осталось недоумение от беседы. Почему читаем дальше.


Характер интервью Яндекса сильно зависит от того, в какой отдел ты нанимался.
Меня интервьюировали аж три раза (в три разных подразделения) и каждый раз по разному.
Так что будь готов, что тебе еще раз позвонят. И повтори алгоритмы

Течёт вода Кубань-реки куда велят большевики.
Re: Как пройти собеседование в Яндекс
От: Donz Россия http://donz-ru.livejournal.com
Дата: 04.05.12 14:09
Оценка: 1 (1) +2
Здравствуйте, MTD, Вы писали:

MTD>Начало. С ходу предложили отсортировать массив целых положительных чисел. Сказал, что не буду изобретать ничего, а возьму std::sort, если сортировать надо часто подумаю о более подходящем алгоритме и структурах данных. Если сортировать надо много и набор данных специфический изучу вопрос и подберу подходящий метод сортировки. Посмотрели разочарованно. Поинтересовались что внутри std::sort, ответил, что скорее всего quick sort. Спросили про его сложность, сказал, что O(n * log n) и O(n * n) на уже упорядояенном массиве.


Откуда N^2 на уже упорядоченном массиве?
Re: Как пройти собеседование в Яндекс
От: Ахмед  
Дата: 04.05.12 14:10
Оценка: +2
Здравствуйте, MTD, Вы писали:

MTD>После этого попрощались и исчезли оставив меня в недоумении — WTF почему меня вообще не спросили о том, чем я занимался, какие проекты завершил, какие библиотеки написал? Ну я особо не переживал — ходил ради интереса.


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


К чему этот мазохизм, я не понимаю, какой смысл ходить на такие собеседования? Ты ведь прекрасно знал — что там будет.
Re: Как пройти собеседование в Яндекс
От: StandAlone  
Дата: 04.05.12 14:15
Оценка:
Здравствуйте, MTD, Вы писали:

MTD> Далее рассказал про сложность std::set, что внутри скорее всего красно-черное дерево, что колизии в хеш-таблицах разрешаются методом цепочек и еще одним методом, но я про него забыл. Снова посмотрели разочарованно. Я сказал: ребята, сказали бы, что гонять будете по алгоритмам я бы повторил, а так институт я 11 лет назад закончил.


Rehashing. Забыть про это сложно, потому что у цепочек сложность выборки порядка O(n/m), а у рехашинга порядка 4\3(!) при филл-факторе 0.5.
Впечатляющая разница, как и в потреблении памяти. Правда, теоретическое обоснование результатов для рехашинга лично мне обосновать слабо, там нехилая математика и сплошной теорвер с формулой Бернулли.


MTD>
MTD>printf("%d", (int *)2 + 3);
MTD>


MTD>Отвечаю, что фигня. Что кастится двойка к указателю, что вообще бессмысленно и указатель сдвигается на sizeof(int) * 3. Спросили про приоритет операций, сказал, что смутно помню — использую скобки и всех заставляю. Посмотрели разочарованно.


Указатель на int — uint вроде бы, 2^32 при компиляции в x32, результат будет uint +int = uint(5), а вот что уже с uint сделает спецификатор d, сие мне неведомо.
Re[2]: Как пройти собеседование в Яндекс
От: MTD https://github.com/mtrempoltsev
Дата: 04.05.12 14:45
Оценка:
Здравствуйте, StandAlone, Вы писали:

SA>Rehashing. Забыть про это сложно


А я вот забыл, что есть еще один помню, а как работает

SA>Указатель на int — uint вроде бы, 2^32 при компиляции в x32, результат будет uint +int = uint(5), а вот что уже с uint сделает спецификатор d, сие мне неведомо.


Это не так.
Re[2]: Как пройти собеседование в Яндекс
От: MTD https://github.com/mtrempoltsev
Дата: 04.05.12 14:46
Оценка:
Здравствуйте, Ахмед, Вы писали:

А>К чему этот мазохизм, я не понимаю, какой смысл ходить на такие собеседования? Ты ведь прекрасно знал — что там будет.


Нет, не знал, теперь знаю
Re: Как пройти собеседование в Яндекс
От: volodya777  
Дата: 04.05.12 14:53
Оценка: 1 (1)
Здравствуйте, MTD, Вы писали:

MTD>Моя очередь немного поныть


MTD>На днях ответил на вопросы на сайте Яндекса — мне ответили, договорились о собеседовании по скайпу. Пообщался, не скажу, что с удовольствием с >двумя молодыми людьми. Нет, мне не хамили, не давили, просто осталось недоумение от беседы. Почему читаем дальше.


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

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

такое ощущение что компания ориентирована на прием вчерашних студентов
Re: Как пройти собеседование в Яндекс
От: volodya777  
Дата: 04.05.12 15:00
Оценка:
MTD>Начало. С ходу предложили отсортировать массив целых положительных чисел. Сказал, что не буду изобретать ничего, а возьму std::sort, если

они ожидали услышать про radix sort

если ты не знаешь этот алгоритм, вряд ли сходу его изобретешь, но он дает линейную сложность O(N) для массива целых положительных чисел
Re: Как пройти собеседование в Яндекс
От: Miroff Россия  
Дата: 04.05.12 15:03
Оценка: 1 (1)
Здравствуйте, MTD, Вы писали:

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


В общем-то да. Насколько я могу судить из общения с инсайдерами, не-студенты обычно попадают в Яндекс по рекомендации кого-то из команды.
Re: Как пройти собеседование в Яндекс
От: minorlogic Украина  
Дата: 04.05.12 15:33
Оценка: 1 (1) +3
Ответы звучат разумными.
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: Как пройти собеседование в Яндекс
От: minorlogic Украина  
Дата: 04.05.12 15:37
Оценка:
Здравствуйте, volodya777, Вы писали:

V>они ожидали услышать про


Это предположение или вы собеседовали ?
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: Как пройти собеседование в Яндекс
От: Mr.Cat  
Дата: 04.05.12 15:41
Оценка: +1
Здравствуйте, volodya777, Вы писали:
V>radix sort
Русская википедия — это ппц какой-то. Сравни с http://en.wikipedia.org/wiki/Radix_sort.
Re[2]: Как пройти собеседование в Яндекс
От: bastrakov Россия http://bastrakof.livejournal.com/
Дата: 04.05.12 17:11
Оценка:
Здравствуйте, volodya777, Вы писали:

V>такое ощущение что компания ориентирована на прием вчерашних студентов


тема уже лет несколько назад нарисовал такую пирамидку, где он ясно показал, кто такие "все остальные". и несмотря на то, что на пирамидке выделена вершина, сходится то она в точку. одну. и эта точка строит компанию под себя. во
Re: Как пройти собеседование в Яндекс
От: PlusMyTwitterFace  
Дата: 04.05.12 17:22
Оценка:
MTD>Отвечаю, что фигня. Что кастится двойка к указателю, что вообще бессмысленно и указатель сдвигается на sizeof(int) * 3

Я так и не понял, честно говоря, что именно они хотели услышать?
Re: яндекс же
От: bazis1 Канада  
Дата: 04.05.12 18:43
Оценка: +1 -1 :)
вполне ожидаемо. грубо говоря, есть 2 типа контор:
1. где программистам разрешается думать
2. где программисты стучат по клавишам, а думают за них менеджеры

отличить просто по соотношению программистов/менеджеров и количеству уровней менеджмента. яндекс — тупо контора второго типа. многим людям такие понравится, т.к. спросу с кодера тоже никакого, сиди себе да стучи по клавишам без риска увольнения.
Re[2]: Как пройти собеседование в Яндекс
От: dilmah США  
Дата: 04.05.12 21:46
Оценка:
MTD>>Отвечаю, что фигня. Что кастится двойка к указателю, что вообще бессмысленно и указатель сдвигается на sizeof(int) * 3

PMT>Я так и не понял, честно говоря, что именно они хотели услышать?


это не такой и плохой вопрос.
Есть люди, которые не задумывались, что в адресной арифметике происходит неявное умножение на sizeof.
Видимо, они хотят отсеять таких людей (если они при этом декларируют свой опыт в С/C++)
Re: Как пройти собеседование в Яндекс
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 04.05.12 21:59
Оценка: 7 (2) +4 -5
Здравствуйте, MTD, Вы писали:

MTD>После этого попрощались и исчезли оставив меня в недоумении — WTF почему меня вообще не спросили о том, чем я занимался, какие проекты завершил, какие библиотеки написал? Ну я особо не переживал — ходил ради интереса.


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


Народ из ГемДева так же влет на вопросы ответит.
Я это к чему, ты не допускаешь что для них эти знания реально являются более критичными, нежели те проекты что ты завершил? Или то, что завершенные тобой проекты с предполагаемыми задачами коррелируют слабо, а вот как раз то, о чем тебя спросили будет использоваться часто? Ну и как варинт, если бы ты ответил на эти вопросы, дальше бы спросили про твои проекты...
По мне так, тебя это возмущает потому, что спросили то, чего ты не знаешь, вместо того, что ты знаешь. Ну, нашла коса на камень, бывает
Re: Как пройти собеседование в Яндекс
От: zeeker  
Дата: 04.05.12 23:55
Оценка:
Здравствуйте, MTD, Вы писали:

MTD>Моя очередь немного поныть


Чего ныть-то? Не сложилось и ладно. Может тебе наоборот повезло, как знать.
У меня много раз было — разные отделы одной и той же конторы собеседуют по-разному. Ходил в одну большую фирму три раза. Первый раз взяли, но я не захотел. Второй раз не взяли. Третий раз взяли и я захотел.

По опыту давно убедился, что интервью — это в большей степени установка психологического контакта. Если ты тупо Нравишься, c тобой интересно говорить, тебя интересно слушать и т.п. — тогда твои знания особо никого не волнуют.
И наоборот — если ты супер мозг, но не вписываешься социальным портретом в коллектив — никто тебя туда не пустит.
Скорее всего это твой случай. Я не говорю что ты плохой, наоборот — может тебе повезло. Ищи во всем позитифф.
Re: Как пройти собеседование в Яндекс
От: 0x8000FFFF Россия  
Дата: 05.05.12 05:12
Оценка: -2 :)
Я не собираюсь идти в такие конторы аля Yandex под начало руководителя какого-то отдела, только руководителем...
Так собеседование только с руководством вышестоящего звена, потому как владею технологиями которых у Yandex нет и не будет скоро х)
Re[2]: Как пройти собеседование в Яндекс
От: MTD https://github.com/mtrempoltsev
Дата: 05.05.12 06:07
Оценка: 2 (2) +1
Здравствуйте, kaa.python, Вы писали:

KP>Народ из ГемДева так же влет на вопросы ответит.


Рад за них.

KP>Я это к чему, ты не допускаешь что для них эти знания реально являются более критичными, нежели те проекты что ты завершил?


Почему не допускаю? Допускаю. Я про другое говорил.

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


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

KP>По мне так, тебя это возмущает потому


Меня ничего не возмущает, не надо мне приписывать то, что я не говорил. Мое мнение — хозяин барин, если их все устраивает, то не вижу никаких проблем.
Re[2]: Как пройти собеседование в Яндекс
От: MTD https://github.com/mtrempoltsev
Дата: 05.05.12 06:09
Оценка:
Здравствуйте, zeeker, Вы писали:

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


MTD>>Моя очередь немного поныть


Z>Чего ныть-то? Не сложилось и ладно. Может тебе наоборот повезло, как знать.


Про ныть — это шутка была

Z>По опыту давно убедился, что интервью — это в большей степени установка психологического контакта. Если ты тупо Нравишься, c тобой интересно говорить, тебя интересно слушать и т.п. — тогда твои знания особо никого не волнуют.

Z>И наоборот — если ты супер мозг, но не вписываешься социальным портретом в коллектив — никто тебя туда не пустит.

Это очевидно. Вот я парень обаятельный, даже странно, что осечка вышла

Z>Скорее всего это твой случай. Я не говорю что ты плохой, наоборот — может тебе повезло. Ищи во всем позитифф.


Спасибо, друг, твой совет мне очень помог
Re[3]: Как пройти собеседование в Яндекс
От: _ABC_  
Дата: 05.05.12 06:22
Оценка:
Здравствуйте, MTD, Вы писали:

MTD>Это очевидно. Вот я парень обаятельный, даже странно, что осечка вышла


По зарплатным не подошел ты им, скорее всего. Ну и умнее будущих руководителей может быть тоже показался.
Re[2]: Как пройти собеседование в Яндекс
От: Donz Россия http://donz-ru.livejournal.com
Дата: 05.05.12 07:07
Оценка: +1
Здравствуйте, 0x8000FFFF, Вы писали:

FFF>Я не собираюсь идти в такие конторы аля Yandex под начало руководителя какого-то отдела, только руководителем...

FFF>Так собеседование только с руководством вышестоящего звена, потому как владею технологиями которых у Yandex нет и не будет скоро х)

Спасибо, что сообщил!
Тебя очень прет от твоих знаний, но не с кем поделиться твоей крутостью?
Re[2]: Как пройти собеседование в Яндекс
От: Larvef Германия  
Дата: 05.05.12 08:35
Оценка: +1
Здравствуйте, zeeker, Вы писали:
Z>По опыту давно убедился, что интервью — это в большей степени установка психологического контакта. Если ты тупо Нравишься, c тобой интересно говорить, тебя интересно слушать и т.п. — тогда твои знания особо никого не волнуют.
Z>И наоборот — если ты супер мозг, но не вписываешься социальным портретом в коллектив — никто тебя туда не пустит.
Z>Скорее всего это твой случай. Я не говорю что ты плохой, наоборот — может тебе повезло. Ищи во всем позитифф.

Абсолютная правда. Сколько раз было, когда выходишь с собеседования с чувством, что с интервьюером получился приятный разговор (причем в большинстве случаев без влезания в технические дебри, а просто собеседование-знакомство) и собеседник понравился как человек, а ты ему — то в 100% случаев в тот же день или через несколько дней следует приглашение на работу.
Re: Как пройти собеседование в Яндекс
От: NikeByNike Россия  
Дата: 05.05.12 09:42
Оценка:
Здравствуйте, MTD, Вы писали:

Печально. У меня в скайпе поспрашивали про знаковый сдвиг. Я попытался объяснить, что всегда свожу ситуацию к беззнаковой логике, но остался непонятым.
Нужно разобрать угил.
Re[2]: Как пройти собеседование в Яндекс
От: Abyx Россия  
Дата: 05.05.12 09:52
Оценка:
Здравствуйте, NikeByNike, Вы писали:

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


NBN>Печально. У меня в скайпе поспрашивали про знаковый сдвиг. Я попытался объяснить, что всегда свожу ситуацию к беззнаковой логике, но остался непонятым.


это UB, IIRC.
In Zen We Trust
Re[3]: Как пройти собеседование в Яндекс
От: NikeByNike Россия  
Дата: 05.05.12 10:02
Оценка:
Здравствуйте, Abyx, Вы писали:

NBN>>Печально. У меня в скайпе поспрашивали про знаковый сдвиг. Я попытался объяснить, что всегда свожу ситуацию к беззнаковой логике, но остался непонятым.


A>это UB, IIRC.


Что именно UB?
Нужно разобрать угил.
Re[4]: Как пройти собеседование в Яндекс
От: Abyx Россия  
Дата: 05.05.12 10:09
Оценка:
Здравствуйте, NikeByNike, Вы писали:

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


NBN>>>Печально. У меня в скайпе поспрашивали про знаковый сдвиг. Я попытался объяснить, что всегда свожу ситуацию к беззнаковой логике, но остался непонятым.


A>>это UB, IIRC.


NBN>Что именно UB?


поразрядные операции с числами со знаком.
In Zen We Trust
Re: Как пройти собеседование в Яндекс
От: koekto5  
Дата: 05.05.12 10:18
Оценка: 2 (2) +5 :))) :))) :)))
Здравствуйте, MTD, Вы писали:

MTD>После этого попрощались и исчезли оставив меня в недоумении — WTF почему меня вообще не спросили о том, чем я занимался, какие проекты завершил, какие библиотеки написал? Ну я особо не переживал — ходил ради интереса.


Здесь вроде ничего нового нет. Состоявшиеся люди в гуглы, микрософты и яндексы не идут.

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


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

Если есть талант и умеешь работать, то работай на своих клиентов, открывай свою компанию, запускай свой стартап.
Если умеешь работать, но свой бизнес открывать лень, работай на небольшие конторы, где тебя заметят.
Если не умеешь работать и нет таланта, тогда вызубри алгоритмы и иди в яндекс. Как-нибудь затеряешься там.
Re[2]: Как пройти собеседование в Яндекс
От: koekto5  
Дата: 05.05.12 10:20
Оценка: +3 :)
Здравствуйте, StandAlone, Вы писали:

SA>Как-то так, да. Прошел недавно небольшое ралли по собеседованиям.

SA>Основная масса собеседующих не желает выяснить, что ты знаешь.
SA>Она страстно жаждет выяснить то, чего ты не знаешь.
SA>Где логика, где смысл —

Зонный менталитет. Пахан хочет опустить новичка и срезать зарплату.
А потом удивляются, что все нормальные люди куда-то исчезли.
Re[5]: Как пройти собеседование в Яндекс
От: NikeByNike Россия  
Дата: 05.05.12 10:21
Оценка:
Здравствуйте, Abyx, Вы писали:

NBN>>Что именно UB?


A>поразрядные операции с числами со знаком.


Арифметический сдвиг?
Нужно разобрать угил.
Re[3]: Как пройти собеседование в Яндекс
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 05.05.12 10:27
Оценка: +1 :))) :))) :))
Здравствуйте, bastrakov, Вы писали:

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


V>>такое ощущение что компания ориентирована на прием вчерашних студентов


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

Только в России она перевёрнута.
Sic luceat lux!
Re[6]: Как пройти собеседование в Яндекс
От: Abyx Россия  
Дата: 05.05.12 11:16
Оценка: :)
Здравствуйте, NikeByNike, Вы писали:

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


NBN>>>Что именно UB?


A>>поразрядные операции с числами со знаком.


NBN>Арифметический сдвиг?


действительно, я немного ошибся — UB только для E1 << E2, если E1 отрицательное, или если результат E1 << E2 больше максимального значения типа E1.
In Zen We Trust
Re[2]: Как пройти собеседование в Яндекс
От: uzhas Ниоткуда  
Дата: 05.05.12 14:33
Оценка:
Здравствуйте, StandAlone, Вы писали:

SA>Указатель на int — uint вроде бы, 2^32 при компиляции в x32, результат будет uint +int = uint(5)

указатель на int — это указатель на int =)
далее вспоминаем арифметику над указателями:
T* x = ...;
x + 15 <- означает увеличение указателя на 15 * sizeof(T)


в нашем случае имеем
int* p = (int*)2;
p + 3 - сдвигаем указатель на 3 * sizeof(int) = 3 * 4 (стандартный размер int на популярных компиляторах) = 12

int* p2 = (int*)14

теперь передаем это значение в printf, можно усомниться как оно будет передаваться, но скорее всего в стек кладется значение 14, ведь это значение указателя (на x64 туда тоже положится 14, только много лидирующих нулей будет, то есть байт больше)
в итоге на экране видим 14, подозреваю, что на x64 мы увидим 0
пример: http://ideone.com/3Yb0L
Re[2]: Как пройти собеседование в Яндекс
От: minorlogic Украина  
Дата: 05.05.12 15:06
Оценка:
Здравствуйте, volodya777, Вы писали:


V>потом вторую задачу — написать алгоритм радикс сорт (целочисленная сортировка).


Сколько времени давали на это? Какой именно радикс сорт (их много вариантов)?
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re: Как пройти собеседование в Яндекс
От: Sash_xp  
Дата: 05.05.12 20:25
Оценка:
Здравствуйте, MTD, Вы писали:

MTD>Начало. С ходу предложили отсортировать массив целых положительных чисел. Сказал, что не буду изобретать ничего, а возьму std::sort, если сортировать надо часто подумаю о более подходящем алгоритме и структурах данных. Если сортировать надо много и набор данных специфический изучу вопрос и подберу подходящий метод сортировки. Посмотрели разочарованно.


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

MTD>Поинтересовались что внутри std::sort, ответил, что скорее всего quick sort. Спросили про его сложность, сказал, что O(n * log n) и O(n * n) на уже упорядояенном массиве.


Давно уже рандомизиованные версии quick sort используются. Упорядоченный массив слишком часто встечается.

MTD>Попросили рассказать как он работатет. Рассказал в общих чертах, что делится массив на 2 части, затем рекурсивно повторяется алгоритм к двум частям и т.д. до конца. Снова посмотрели разочарованно.


Ключевой момент — partitioning забыли? Когда выбирается элемент и массив делится на 2 части — в одной элементы меньше выбранного в другой больше. Ну куда равные выбранного определить не так важно.

MTD>Спросили. что лучше std::set или hash_set. Сказал, что если памяти достаточно, то скорее всего hash_set будет более предпочтителен. Далее рассказал про сложность std::set, что внутри скорее всего красно-черное дерево, что колизии в хеш-таблицах разрешаются методом цепочек и еще одним методом, но я про него забыл. Снова посмотрели разочарованно. Я сказал: ребята, сказали бы, что гонять будете по алгоритмам я бы повторил, а так институт я 11 лет назад закончил.


Не сложно по запросу "собеседование в Яндексе" узнать про характер задаваемых вопросов.


MTD>После этого попрощались и исчезли оставив меня в недоумении — WTF почему меня вообще не спросили о том, чем я занимался, какие проекты завершил, какие библиотеки написал? Ну я особо не переживал — ходил ради интереса.


Многие конторы в последнее время утверждают — нам не важно где вы учились и что делали. Нам важно, что вы можете сделать для нас.
Re[3]: Как пройти собеседование в Яндекс
От: Олег К.  
Дата: 05.05.12 21:54
Оценка: 1 (1)
MTD>>>Отвечаю, что фигня. Что кастится двойка к указателю, что вообще бессмысленно и указатель сдвигается на sizeof(int) * 3

PMT>>Я так и не понял, честно говоря, что именно они хотели услышать?


D>это не такой и плохой вопрос.

D>Есть люди, которые не задумывались, что в адресной арифметике происходит неявное умножение на sizeof.
D>Видимо, они хотят отсеять таких людей (если они при этом декларируют свой опыт в С/C++)

То как этот вопрос поставлен делает его именно плохим. Ты пишешь такой код как в вопросе?

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

Школоло в общем проводило интервью (не только из-за этого вопроса).
Re[2]: Как пройти собеседование в Яндекс
От: Олег К.  
Дата: 05.05.12 22:07
Оценка: +1
KP>Народ из ГемДева так же влет на вопросы ответит.

Так тс и ответил ведь. Уж как минимум на личное интервью должны были пригласить.

KP>Я это к чему, ты не допускаешь что для них эти знания реально являются более критичными, нежели те проекты что ты завершил? Или то, что завершенные тобой проекты с предполагаемыми задачами коррелируют слабо, а вот как раз то, о чем тебя спросили будет использоваться часто? Ну и как варинт, если бы ты ответил на эти вопросы, дальше бы спросили про твои проекты...

KP>По мне так, тебя это возмущает потому, что спросили то, чего ты не знаешь, вместо того, что ты знаешь. Ну, нашла коса на камень, бывает

Тут все намного проще. Это были просто понты со стороны школолошников и неумение провести/поговорить на интервью а не какие-то критические знания которые требуются Яндексу.

З.Ы. Следуя твоей логике, им нужно интервьюировать не просто плюсовиков, а плюсовиков с Гугла чтобы не тратить время остальных. И да, сдается мне что в своем коде они все-таки используют std::sort<>() а не какой-нибудь самопальный радикс сорт.
Re[4]: Как пройти собеседование в Яндекс
От: dilmah США  
Дата: 05.05.12 22:21
Оценка: :)
ОК>Можно было, к примеру, сказать что есть массив интов по такому-то адресу. Какой адрес у элемента по третьему индексу, к примеру?

в такой постановке ответ становится слишком очевидным. Если кандидату и в дальнейшей работе все нужно будет разжевывать, то его ценность резко снижается Как он код ревью будет проводить?
Re[5]: Как пройти собеседование в Яндекс
От: Олег К.  
Дата: 05.05.12 23:53
Оценка:
ОК>>Можно было, к примеру, сказать что есть массив интов по такому-то адресу. Какой адрес у элемента по третьему индексу, к примеру?

D>в такой постановке ответ становится слишком очевидным. Если кандидату и в дальнейшей работе все нужно будет разжевывать, то его ценность резко снижается Как он код ревью будет проводить?


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

И, кстати, от четко поставленной задачи выигрывают все (не обязательно про интервью).
Re[3]: Как пройти собеседование в Яндекс
От: 0x8000FFFF Россия  
Дата: 06.05.12 09:02
Оценка:
Здравствуйте, Donz, Вы писали:

D>Здравствуйте, 0x8000FFFF, Вы писали:


FFF>>Я не собираюсь идти в такие конторы аля Yandex под начало руководителя какого-то отдела, только руководителем...

FFF>>Так собеседование только с руководством вышестоящего звена, потому как владею технологиями которых у Yandex нет и не будет скоро х)

D>Спасибо, что сообщил!


Пожалуйста х)
Re[3]: Как пройти собеседование в Яндекс
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 06.05.12 10:43
Оценка: -2
Здравствуйте, Олег К., Вы писали:

KP>>Народ из ГемДева так же влет на вопросы ответит.


ОК>Так тс и ответил ведь. Уж как минимум на личное интервью должны были пригласить.


Ну может недостаточно хорошо ответил. Тут же только одна сторона отписалась, мало-ли.

ОК>Тут все намного проще. Это были просто понты со стороны школолошников и неумение провести/поговорить на интервью а не какие-то критические знания которые требуются Яндексу.


Я бы не стал называть разработчиков Яндекса школолошниками, как минимум их продукты показывают что это не так.

ОК>З.Ы. Следуя твоей логике, им нужно интервьюировать не просто плюсовиков, а плюсовиков с Гугла чтобы не тратить время остальных. И да, сдается мне что в своем коде они все-таки используют std::sort<>() а не какой-нибудь самопальный радикс сорт.


Я не знаю что именно преследуют в Гугле и Яндексе устраивая такие собеседования, просто предполагаю что они им зачем-то нужны. И это что-то явно более важное чем дать возможность разработчикам почесать ЧСВ.
Re[2]: Как пройти собеседование в Яндекс
От: vladimir_i СССР  
Дата: 06.05.12 15:51
Оценка: +1
Здравствуйте, volodya777, Вы писали:


MTD>>Начало. С ходу предложили отсортировать массив целых положительных чисел. Сказал, что не буду изобретать ничего, а возьму std::sort, если


V>они ожидали услышать про radix sort


V>если ты не знаешь этот алгоритм, вряд ли сходу его изобретешь, но он дает линейную сложность O(N) для массива целых положительных чисел

Зависимость не только от N, но еще и от разрядности чисел.
Re: Зачем quick sort?
От: vladimir_i СССР  
Дата: 06.05.12 16:01
Оценка: :))
Здравствуйте, MTD, Вы писали:

MTD>Моя очередь немного поныть


MTD>На днях ответил на вопросы на сайте Яндекса ...


MTD>Начало. С ходу предложили отсортировать массив целых положительных чисел. Сказал, что не буду изобретать ничего, а возьму std::sort, если сортировать надо часто подумаю о более подходящем алгоритме и структурах данных. Если сортировать надо много и набор данных специфический изучу вопрос и подберу подходящий метод сортировки. Посмотрели разочарованно. Поинтересовались что внутри std::sort, ответил, что скорее всего quick sort. Спросили про его сложность, сказал, что O(n * log n) и O(n * n) на уже упорядояенном массиве. Попросили рассказать как он работатет. Рассказал в общих чертах, что делится массив на 2 части, затем рекурсивно повторяется алгоритм к двум частям и т.д. до конца. Снова посмотрели разочарованно.


MTD>...


Есть только один православный алгоритм сортировки — heapsort. Все остальные методы — говно.
Ибо всегда сортирует за O(n*Log(n)) и требует ровно O(1) памяти, т.к. сортирует внутри самого массива.
Re[4]: Как пройти собеседование в Яндекс
От: MTD https://github.com/mtrempoltsev
Дата: 06.05.12 16:04
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Ну может недостаточно хорошо ответил. Тут же только одна сторона отписалась, мало-ли.


Знаешь, мне тоже другую сторону было бы интересно послушать. Я писал в скайп по которому общались сообщение следующего содержания: "Здравствуйте! Бла-бла. Буду очень Вам благодарен, если сообщите, что больше всего повлияло на ваше решение. Спасибо!" — увы и ах, молчание

KP>Я бы не стал называть разработчиков Яндекса школолошниками, как минимум их продукты показывают что это не так.


Это правда, продукты достойные. Правда не без недостатков. Например, для улучшения поиска я бы на их месте ввел бы для сайтов флажок "магазин" и показывал бы такие сайты в выдаче, скажем в первой пятерке, а потом уже остальные. А то хочешь почитать отзывы на монитор, пишешь "модель отзывы" и в выдаче одни магазины
Re[2]: Как пройти собеседование в Яндекс
От: alpha21264 СССР  
Дата: 06.05.12 16:23
Оценка:
Здравствуйте, koekto5, Вы писали:

K>Если есть талант и умеешь работать, то работай на своих клиентов, открывай свою компанию, запускай свой стартап.

K>Если умеешь работать, но свой бизнес открывать лень, работай на небольшие конторы, где тебя заметят.

И будешь ты обслуживать склад-торговлю, а может быть даже банки.

K>Если не умеешь работать и нет таланта, тогда вызубри алгоритмы и иди в яндекс. Как-нибудь затеряешься там.


И будешь прозябать в в каком-нибудь машинно переводе или извлечении смысла.

Течёт вода Кубань-реки куда велят большевики.
Re[2]: Зачем quick sort?
От: Handie  
Дата: 06.05.12 17:49
Оценка:
_>Есть только один православный алгоритм сортировки — heapsort. Все остальные методы — говно.
_>Ибо всегда сортирует за O(n*Log(n)) и требует ровно O(1) памяти, т.к. сортирует внутри самого массива.

Вот православные программеры как раз проблемы и создают. Во первых, кто сказал что O(1) по памяти это главный критерий? Если памяти навалом, то Counting Sort даст O(n).
Re[4]: Как пройти собеседование в Яндекс
От: Олег К.  
Дата: 06.05.12 18:14
Оценка:
KP>>>Народ из ГемДева так же влет на вопросы ответит.

ОК>>Так тс и ответил ведь. Уж как минимум на личное интервью должны были пригласить.


KP>Ну может недостаточно хорошо ответил. Тут же только одна сторона отписалась, мало-ли.


Допустим было все так как описал тс. С твоей точки зрения, стоило его пригласить на фейс ту фейс или нет?

ОК>>Тут все намного проще. Это были просто понты со стороны школолошников и неумение провести/поговорить на интервью а не какие-то критические знания которые требуются Яндексу.


KP>Я бы не стал называть разработчиков Яндекса школолошниками, как минимум их продукты показывают что это не так.


Вот смотри. Компания Самсунг. Известна всему миру. Богатая компания. Продукты покупаются повсюду. Конечно, может, ее продукты не идеальные но они работают, людям они нравятся раз компания процветает. Но ты-то знаешь кто работает внутри, как работается внутри, какого качества код и подобное.

Яндекс ничем не отличается от Самсунга. Не сомневаюсь, идиоты, болтуны и карьеристы и прочий подобный люд также наблюдается и в Яндексе. И чем больше компания растет, тем больше этого будет. Парадокс, однако.

ОК>>З.Ы. Следуя твоей логике, им нужно интервьюировать не просто плюсовиков, а плюсовиков с Гугла чтобы не тратить время остальных. И да, сдается мне что в своем коде они все-таки используют std::sort<>() а не какой-нибудь самопальный радикс сорт.


KP>Я не знаю что именно преследуют в Гугле и Яндексе устраивая такие собеседования, просто предполагаю что они им зачем-то нужны. И это что-то явно более важное чем дать возможность разработчикам почесать ЧСВ.


Наивно искать черную кошку в темной комнате тем более что ее там нет. Не сомневаюсь что не смотря на все эти собеседования, там у них есть и утечки памяти, и код написанный в стиле "меня Александреску в полнолуние укусил," код который вообще не так работает как задумывалось, километровые функции с глубокой вложенностью и прочий букет.
Re[4]: Как пройти собеседование в Яндекс
От: uzhas Ниоткуда  
Дата: 06.05.12 19:40
Оценка: +1
Здравствуйте, kaa.python, Вы писали:

KP>Я бы не стал называть разработчиков Яндекса школолошниками, как минимум их продукты показывают что это не так.

их манера проводить интервью показывает, что это так. и это мнение основано не на поверхностных изучениях их "продуктов", а сформировалось после личной беседы во время собеседования, о чем здесь некоторые, включая меня и ТС, пишут
Re[5]: Как пройти собеседование в Яндекс
От: SingleUseAccount  
Дата: 06.05.12 19:48
Оценка: +1
Здравствуйте, MTD, Вы писали:

MTD>Это правда, продукты достойные. Правда не без недостатков. Например, для улучшения поиска я бы на их месте ввел бы для сайтов флажок "магазин" и показывал бы такие сайты в выдаче, скажем в первой пятерке, а потом уже остальные. А то хочешь почитать отзывы на монитор, пишешь "модель отзывы" и в выдаче одни магазины


Намного полезнее был бы флажок "я не желаю смотреть коммерческий мусор", вообще убирающий магазины из выдачи.
Re[5]: Как пройти собеседование в Яндекс
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 06.05.12 22:51
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК>Допустим было все так как описал тс. С твоей точки зрения, стоило его пригласить на фейс ту фейс или нет?


Полностью зависит от того, кого они ищут. Если требуется алгоритмист — нет. А во всех остальных случаях подобные вопросы задавать довольно глупо.
Re[5]: Как пройти собеседование в Яндекс
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 06.05.12 22:54
Оценка:
Здравствуйте, uzhas, Вы писали:

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


Я не сталкивался ни с одной компанией, где бы школолошники проводили собеседования. Предположить что именно такой компанией является Яндекс мне довольно сложно. Скорей всего, просто исторически сложилось так, чт в компании работал народ хорошо разбирающийся в алгоритмах, ну и дальше таких же набирают.
Re[5]: Как пройти собеседование в Яндекс
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 06.05.12 22:58
Оценка:
Здравствуйте, MTD, Вы писали:

MTD>Знаешь, мне тоже другую сторону было бы интересно послушать. Я писал в скайп по которому общались сообщение следующего содержания: "Здравствуйте! Бла-бла. Буду очень Вам благодарен, если сообщите, что больше всего повлияло на ваше решение. Спасибо!" — увы и ах, молчание


А что за позиция хоть была?
Re[5]: Как пройти собеседование в Яндекс
От: SkyDance Земля  
Дата: 07.05.12 01:08
Оценка: 3 (3) +7
D>в такой постановке ответ становится слишком очевидным. Если кандидату и в дальнейшей работе все нужно будет разжевывать, то его ценность резко снижается Как он код ревью будет проводить?

Я в code review предпочитаю отметать все конструкции, использование которых выглядит странно или неоправданно. Вот тот самый упомянутый printf с malformed строкой и не менее кривым параметром — пример того, что я точно не пустил бы через code review, причем даже разбираться бы не стал, что оно там делает.
Re[6]: Как пройти собеседование в Яндекс
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 07.05.12 03:40
Оценка:
Здравствуйте, kaa.python, Вы писали:

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


Вру, сталкивался. Спирит, Но то что там песец-песец, можно уже было понять пока дойдешь до их офиса
Re[7]: Как пройти собеседование в Яндекс
От: dilmah США  
Дата: 07.05.12 03:45
Оценка:
KP>>Я не сталкивался ни с одной компанией, где бы школолошники проводили собеседования.

KP>Вру, сталкивался. Спирит, Но то что там песец-песец, можно уже было понять пока дойдешь до их офиса


там такой фюрер на входе, школоло не пройдет
Re[4]: Как пройти собеседование в Яндекс
От: sysenter  
Дата: 07.05.12 04:52
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Я не знаю что именно преследуют в Гугле и Яндексе устраивая такие собеседования, просто предполагаю что они им зачем-то нужны. И это что-то явно более важное чем дать возможность разработчикам почесать ЧСВ.


Тем не менее это интервью в Яндексе много лучше чем интервью в меил.ру где начинают с вопросов про гномиков, уточек/озеро/лисичку.))
Re[5]: Как пройти собеседование в Яндекс
От: sysenter  
Дата: 07.05.12 04:56
Оценка: :))) :))
Здравствуйте, uzhas, Вы писали:

KP>>Я бы не стал называть разработчиков Яндекса школолошниками, как минимум их продукты показывают что это не так.

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

Не, это в mail.ru набирают школолошников, а в Яндекс берут бывших студентов т.е. людей с высшим образованием))
Re[5]: Как пройти собеседование в Яндекс
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 07.05.12 05:29
Оценка:
Здравствуйте, sysenter, Вы писали:

S>Тем не менее это интервью в Яндексе много лучше чем интервью в меил.ру где начинают с вопросов про гномиков, уточек/озеро/лисичку.))


Ну даже и не знаю Вопросы про уточек/озеро/лисичку легко решить видя их впервые, что не скажешь по какую-то хитрую сортировку или поиск.
Re[5]: Как пройти собеседование в Яндекс
От: Vzhyk  
Дата: 07.05.12 08:30
Оценка:
06.05.2012 19:04, MTD написал:

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

> улучшения поиска я бы на их месте ввел бы для сайтов флажок "магазин" и
> показывал бы такие сайты в выдаче, скажем в первой пятерке, а потом уже
> остальные. А то хочешь почитать отзывы на монитор, пишешь "модель
> отзывы" и в выдаче одни магазины
А у них, что не пиши, в выдаче всегда одни магазины. Гугл как искал так
и ищет лучше (кроме варианта магазинов).
Posted via RSDN NNTP Server 2.1 beta
Re[7]: Как пройти собеседование в Яндекс
От: Vzhyk  
Дата: 07.05.12 08:36
Оценка:
07.05.2012 6:40, kaa.python написал:

> Вру, сталкивался. Спирит, Но то что там песец-песец, можно уже было

> понять пока дойдешь до их офиса
Это наверное ты так попал, там работает достаточно много очень грамотных
ребят и продукты у них приличные. Фактически одна из немногих контор в
СНГ, которая делает свои очень высокотехнологичные продукты. В их
области, пожалуй смогу назвать еще только одну: ЦРТ.
Posted via RSDN NNTP Server 2.1 beta
Re[5]: Как пройти собеседование в Яндекс
От: volodya777  
Дата: 07.05.12 08:57
Оценка:
D>в такой постановке ответ становится слишком очевидным. Если кандидату и в дальнейшей работе все нужно будет разжевывать, то его ценность резко >снижается Как он код ревью будет проводить?

сразу возникают нехорошие подозрения, что работа заключается в рефакторинге говнокода
Re[2]: Как пройти собеседование в Яндекс
От: carpenter Голландия  
Дата: 07.05.12 09:32
Оценка: 9 (2)
Здравствуйте, kaa.python, Вы писали:


KP>Народ из ГемДева так же влет на вопросы ответит.

KP>Я это к чему, ты не допускаешь что для них эти знания реально являются более критичными, нежели те проекты что ты завершил?

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

Я например о сортировках только перед собеседованием почитываю, в остальное время и не помню какие там есть вообще.

Вот мне кажеться интереснее спросить как отсортировать скажем вектор обьектов по члену класса этого объекта,
и посмотреть заюзает ли он стандаотный сорт и лямбду, или же будет писать собственный велосипед.
Весь мир — Кремль, а люди в нем — агенты
Re[6]: Как пройти собеседование в Яндекс
От: MTD https://github.com/mtrempoltsev
Дата: 07.05.12 15:55
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>А что за позиция хоть была?


http://company.yandex.ru/job/vacancies/dev_search_developer.xml
Re[7]: Как пройти собеседование в Яндекс
От: Vzhyk  
Дата: 07.05.12 16:00
Оценка:
07.05.2012 18:55, MTD написал:

> http://company.yandex.ru/job/vacancies/dev_search_developer.xml

Все с ними ясно.

Но "Если вы опытный специалист и хотели бы работать в Яндексе, но не
нашли для себя подходящей вакансии, не отчаивайтесь, а напишите нам.
Вдруг мы договоримся?
Подробнее:
http://company.yandex.ru/job/vacancies/dev_search_developer.xml"
Posted via RSDN NNTP Server 2.1 beta
Re[7]: Как пройти собеседование в Яндекс
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 07.05.12 22:41
Оценка:
Здравствуйте, MTD, Вы писали:

MTD>http://company.yandex.ru/job/vacancies/dev_search_developer.xml


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

знание классических алгоритмов и структур данных;

Re[6]: Как пройти собеседование в Яндекс
От: frogkiller Россия  
Дата: 07.05.12 22:53
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Полностью зависит от того, кого они ищут. Если требуется алгоритмист — нет. А во всех остальных случаях подобные вопросы задавать довольно глупо.


Вот интересно, как народ себе представляет, какого рода рабочий код придётся писать человеку на позиции "разработчик поиска"? Даже не важно, в Яндексе, в Гугле или Бинге.
Курица — это инструмент, с помощью которого одно яйцо производит другие.
Re[7]: Как пройти собеседование в Яндекс
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 07.05.12 23:03
Оценка: 2 (1)
Здравствуйте, frogkiller, Вы писали:

F>Вот интересно, как народ себе представляет, какого рода рабочий код придётся писать человеку на позиции "разработчик поиска"? Даже не важно, в Яндексе, в Гугле или Бинге.


Лично я трактую требования так:

хорошее знание C++;

В компании гора говнокода/кода написанного поклонниками Александреску, в котором слабый C++ разработчик не разберется.

знание классических алгоритмов и структур данных

Требования по скорости/потреблению памяти у разрабатываемых приложений высокие. Надо не только уметь пользоваться STL но и знать как реализован тот или иной контейнер/алгоритм и уметь придумать решение, если ничего подходящего в стандартной библиотеки нет.

опыт разработки параллельных/многопоточных приложений

Не менее больная тема для большинства разработчиков, чем алгоритмы. Требуется что бы человек не только знал что такое потоки, объекты синхронизации и т.д., но и умел ими пользоваться в нагруженных приложениях.

ответственность и аккуратность, умение тестировать собственный код

Этот пункт можно по разному трактовать.


Итого: судя по описанию вакансии, придется поддерживать/дорабатывать старый, далеко не всегда простой, многпоточный код, работающий в системе критичной к скорости работы и затратам памяти.
Re[8]: Как пройти собеседование в Яндекс
От: frogkiller Россия  
Дата: 07.05.12 23:17
Оценка:
Здравствуйте, kaa.python, Вы писали:

F>>Вот интересно, как народ себе представляет, какого рода рабочий код придётся писать человеку на позиции "разработчик поиска"? Даже не важно, в Яндексе, в Гугле или Бинге.


KP>Итого: судя по описанию вакансии, придется поддерживать/дорабатывать старый, далеко не всегда простой, многпоточный код, работающий в системе критичной к скорости работы и затратам памяти.


Ты описываешь характеристики (замечу, что в случае как минимум Яндекса попадание не очень точное) кода, я же имел ввиду в первую очередь его содержательную часть, предметную область, так сказать.
Курица — это инструмент, с помощью которого одно яйцо производит другие.
Re[6]: Как пройти собеседование в Яндекс
От: modev  
Дата: 08.05.12 03:08
Оценка:
Здравствуйте, Vzhyk, Вы писали:

V>А у них, что не пиши, в выдаче всегда одни магазины. Гугл как искал так

V>и ищет лучше (кроме варианта магазинов).

Яндекс просто не умеет бороться с накрутками сео. Наберите в яндексе официальный сайт сапсан, сайт rzd.ru не появляется нигде, зато появляется куча помоечек-посредников, которые за приличную комиссию продают билеты.
С каким-нибудь аллегро ситуация еще хуже, там оф сайтов два, vr.fi и rzd.ru (о чем яндекс не знает), но с индексацией зарубежных сайтов у яндекса большие проблемы, еще больше чем с сеошниками.
Примеры не надуманные, это были жалобы от непродвинутых пользователей, первый раз пытавшихся билеты купить самостоятельно. Я понимаю, что опытные путешественники такое никогда искать не будут, ибо и так все знают.
Re[8]: Как пройти собеседование в Яндекс
От: MTD https://github.com/mtrempoltsev
Дата: 08.05.12 09:58
Оценка:
Здравствуйте, kaa.python, Вы писали:

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


MTD>>http://company.yandex.ru/job/vacancies/dev_search_developer.xml


KP>Ну тогда вопросы про алгоритмы и ожидание того что человек их знает, на мой взгляд, вполне логичный момент. Они же даже в основных требованиях (коих там всего ничег) указли:


KP>

KP>знание классических алгоритмов и структур данных;


Ну это ты так трактуешь, я же под этим понимаю знать какие алгоритмы существуют, когда они применяются, какая у них алгоритмическая сложность. В любом случае это не более, чем наши с тобой предположения
Re[7]: Как пройти собеседование в Яндекс
От: Vzhyk  
Дата: 08.05.12 11:02
Оценка:
08.05.2012 6:08, modev написал:

> Яндекс просто не умеет бороться с накрутками сео.

> яндекса большие проблемы, еще больше чем с сеошниками.
Так да. Какие манагеры, такой и результат.
Posted via RSDN NNTP Server 2.1 beta
Re: Ответ сотрудника Яндекса
От: dkotlyarov Россия  
Дата: 11.05.12 11:22
Оценка: 20 (6) +1 -2 :)
Максим, добрый день.

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

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

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

Если вы хорошо знаете С++ и алгоритмы, обладаете смелостью браться за сложные задачи и желанием постоянно изучать что-то новое, мы ждем вас на собеседовании. При любом исходе вы получите интересный опыт или обнаружите пробелы в знаниях, что тоже полезно.

От себя лично хочу прорекламировать вакансии в команде Яндекс.Картинок:
Разработчик качества поиска
Разработчик инфраструктуры робота
Разработчик алгоритмов компьютерного зрения

Приходите!

--
Дмитрий Котляров,
Руководитель разработки Яндекс.Картинок
Re[2]: Ответ сотрудника Яндекса
От: minorlogic Украина  
Дата: 11.05.12 11:45
Оценка:
Здравствуйте, dkotlyarov, Вы писали:



Спасибо за ответ с другой стороны.

Очень интересно стало вот по этому кусочку, прокоментируете?

Начало. С ходу предложили отсортировать массив целых положительных чисел. Сказал, что не буду изобретать ничего, а возьму std::sort, если сортировать надо часто подумаю о более подходящем алгоритме и структурах данных. Если сортировать надо много и набор данных специфический изучу вопрос и подберу подходящий метод сортировки. Посмотрели разочарованно. Поинтересовались что внутри std::sort, ответил, что скорее всего quick sort. Спросили про его сложность, сказал, что O(n * log n) и O(n * n) на уже упорядояенном массиве. Попросили рассказать как он работатет. Рассказал в общих чертах, что делится массив на 2 части, затем рекурсивно повторяется алгоритм к двум частям и т.д. до конца. Снова посмотрели разочарованно.


Ибо совсем непонятно в каком контексте вы ожидаете услышать ответ (задачу то уже спалили).



D>От себя лично хочу прорекламировать вакансии в команде Яндекс.Картинок:

D>Разработчик качества поиска
D>Разработчик инфраструктуры робота
D>Разработчик алгоритмов компьютерного зрения

D>Приходите!


Да мы бы с радостью если бы не москва .
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: Ответ сотрудника Яндекса
От: Vzhyk  
Дата: 11.05.12 12:11
Оценка: +1
11.05.2012 14:22, dkotlyarov написал:

> Если вы хорошо знаете С++ и алгоритмы, обладаете смелостью браться за

> сложные задачи и желанием постоянно изучать что-то новое, мы ждем вас на
> собеседовании. При любом исходе вы получите интересный опыт или
> обнаружите пробелы в знаниях, что тоже полезно.
>
> От себя лично хочу прорекламировать вакансии в команде Яндекс.Картинок:
> Разработчик качества поиска
> <http://company.yandex.ru/job/vacancies/search_quality.xml&gt;
> Разработчик инфраструктуры робота
> <http://company.yandex.ru/job/vacancies/infrastructure_multimedia_services.xml&gt;
> Разработчик алгоритмов компьютерного зрения
> <http://company.yandex.ru/job/vacancies/dev_computer_vision.xml&gt;
>
> Приходите!

Так, небольшое замечание, имхо, для успешного решения этих задач вам
скорее нужен специалист, который знает матан, га, твимс, цос
и не на уровне института, ну и матлаб (как язык программирования и
инструмент), чтобы это описать не только в формулах,
но и в виде работающего алгоритма, и только в последнюю очередь "хорошо
знаете С++ и алгоритмы, обладаете смелостью браться за
сложные задачи и желанием постоянно изучать что-то новое, мы ждем вас на
собеседовании."
Но, как говориться каждый ССЗБ и сам делает свой выбор.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: Ответ сотрудника Яндекса
От: MTD https://github.com/mtrempoltsev
Дата: 11.05.12 12:52
Оценка: +1
Здравствуйте, dkotlyarov, Вы писали:

D>Максим, добрый день.


Дмитрий, спасибо за ответ! Жаль, что через форум, а не в качестве резюме по собеседованию — я всегда благодарен, за критику.

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


Это я понял и сделал определенные выводы, впрочем вам видней.

D>Что касается данной вакансии, то на нее мы ищем человека с хорошими знаниями алгоритмов и С++. Об этом, кстати, написано в требованиях к вакансии, поэтому удивительно, что вопросы по алгоритмам стали для Вас неожиданностью.


Они не стали для меня неожиданностью, просто как-то так вышло, что не пишу быструю сортировку, хотя могу если будет надо. Про сортировку за O(n), да, не знал, но я много чего другого знаю и умею находить информацию, в любом случае это не важно. А вот что понимается под знаниями С++ я не уловил, может способность писать запутанный код? Ну тогда я точно не подхожу — я пишу так чтобы было очевидно любому.

D>Кроме того, Вы забыли упомянуть некоторые вопросы, на которые не смогли дать ответ (ну спасибо, что хоть их не спалили ).


Насколько я помню, описано довольно точно, но я могу ошибаться. Буду признателен, если поправите (можно в почту).

D>Вывод, конечно, делать Вам, но я бы подытожил иначе.


Дмитрий, нет проблем, я уже неоднократно в этой теме говорил — вам видней как подбирать людей с которыми вам работать.
Re[2]: Как пройти собеседование в Яндекс
От: k55 Ниоткуда  
Дата: 11.05.12 20:07
Оценка:
Здравствуйте, Donz, Вы писали:

D>Откуда N^2 на уже упорядоченном массиве?


Все зависит от выбора серединного элемента. В случае если это будет всегда левый элемент и на вход подают отсортированном массиве "1234567"
то вся прелесть от qsort теряется. Т.к. деления на пополам не происходит.
Если есть желание — найдется 1000 возможностей.
Если нет желания — найдется 1000 причин.
Re[3]: Как пройти собеседование в Яндекс
От: Donz Россия http://donz-ru.livejournal.com
Дата: 11.05.12 21:02
Оценка:
Здравствуйте, k55, Вы писали:

D>>Откуда N^2 на уже упорядоченном массиве?

k55>Все зависит от выбора серединного элемента. В случае если это будет всегда левый элемент и на вход подают отсортированном массиве "1234567"

И причем тут отсортированный массив? Единственная причина N^2 на квиксорте — это плохо выбранный пивот.
Re[4]: Как пройти собеседование в Яндекс
От: NikeByNike Россия  
Дата: 11.05.12 21:35
Оценка:
Здравствуйте, Donz, Вы писали:

k55>>Все зависит от выбора серединного элемента. В случае если это будет всегда левый элемент и на вход подают отсортированном массиве "1234567"


D>И причем тут отсортированный массив? Единственная причина N^2 на квиксорте — это плохо выбранный пивот.


А есть метод его правильно выбирать, кроме как используя рандом?
Нужно разобрать угил.
Re[5]: Как пройти собеседование в Яндекс
От: nen777w  
Дата: 11.05.12 23:24
Оценка:
Здравствуйте, NikeByNike, Вы писали:

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


k55>>>Все зависит от выбора серединного элемента. В случае если это будет всегда левый элемент и на вход подают отсортированном массиве "1234567"


D>>И причем тут отсортированный массив? Единственная причина N^2 на квиксорте — это плохо выбранный пивот.


NBN>А есть метод его правильно выбирать, кроме как используя рандом?


BFPRT
Re[3]: Ответ сотрудника Яндекса
От: dkotlyarov Россия  
Дата: 12.05.12 06:37
Оценка:
M>Очень интересно стало вот по этому кусочку, прокоментируете?

M>

M>Начало. С ходу предложили отсортировать массив целых положительных чисел. Сказал, что не буду изобретать ничего, а возьму std::sort, если сортировать надо часто подумаю о более подходящем алгоритме и структурах данных. Если сортировать надо много и набор данных специфический изучу вопрос и подберу подходящий метод сортировки. Посмотрели разочарованно. Поинтересовались что внутри std::sort, ответил, что скорее всего quick sort. Спросили про его сложность, сказал, что O(n * log n) и O(n * n) на уже упорядояенном массиве. Попросили рассказать как он работатет. Рассказал в общих чертах, что делится массив на 2 части, затем рекурсивно повторяется алгоритм к двум частям и т.д. до конца. Снова посмотрели разочарованно.


M>Ибо совсем непонятно в каком контексте вы ожидаете услышать ответ (задачу то уже спалили).


Данный вопрос — это повод поговорить про алгоритмы сортировки: какие алгоритмы эффективны в той или иной ситуации, каков принцип их работы, сложность и т.д. Приведенный ответ — это шаг в верном направлении. Он не плох по форме, но плох по содержанию, т.к. с одной строны он неполный, а с другой — содержит грубые ошибки и ряд неточностей, на некоторые из которых уже указали в комментариях.
Re[3]: Ответ сотрудника Яндекса
От: dkotlyarov Россия  
Дата: 12.05.12 07:03
Оценка: :)))
V>Так, небольшое замечание, имхо, для успешного решения этих задач вам
V>скорее нужен специалист, который знает матан, га, твимс, цос
V>и не на уровне института, ну и матлаб (как язык программирования и
V>инструмент), чтобы это описать не только в формулах,
V>но и в виде работающего алгоритма,

С++ и алгоритмы — это необходимое требование к данным вакансиям, но не для всех вакансий оно достаточное. Более полную информацию можно получить в описаниях вакансий по ссылкам.

V>и только в последнюю очередь "хорошо

V>знаете С++ и алгоритмы, обладаете смелостью браться за
V>сложные задачи и желанием постоянно изучать что-то новое, мы ждем вас на
V>собеседовании."

Это не вполне справедливо. Если мы видим, что канидат обладает высоким потенциалом, мы можем закрыть глаза на отсутствие у него некоторых специальных знаний с тем расчетом, что он быстро восполнит их недостаток.
Re[4]: Ответ сотрудника Яндекса
От: Handie  
Дата: 12.05.12 09:52
Оценка: +3 :)
D>Данный вопрос — это повод поговорить про алгоритмы сортировки: какие алгоритмы эффективны в той или иной ситуации, каков принцип их работы, сложность и т.д. Приведенный ответ — это шаг в верном направлении. Он не плох по форме, но плох по содержанию, т.к. с одной строны он неполный, а с другой — содержит грубые ошибки и ряд неточностей, на некоторые из которых уже указали в комментариях.

Ну, тема сортировки это эпическая проблема в Yandex. Еще в первом пришествии "Собеседование в Яндекс" на тысяче постов разбиралась Radix Sort c разбором личностных качеств кандидатов и психологическими портретами собеседователей в Yandex. Такое ощущение, что других задач в Yandex нет.

Я думаю, что сортировка является стандартным отработанным фильтром кандидатов в Яндекс. Все кого берут в компанию как правило проходят через "сортировочные" тесты, в результате которых кандидаты сортируются на первый и второй сорт. Потом эти люди применяют сортировку когда становятся собеседователями. А еще говорят что в Yandex нет корпоративной культуры

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

Я работаю на последнем месте почти три года, сортировку не написал ни разу. C++ конечно позволяет издеваться над кандидатами, а вот как например сделать сортировку на node.js? myArray.sort( function(item1, item2) { item1.id-item2.id; }); Любой сорт написанный на JavaScript проиграет внутреннему sort написанному на C++ кроме самых вырожденных случаев. В реальных сервисах time to market куда важнее написания собственного сорта.
Re[5]: Ответ сотрудника Яндекса
От: dkotlyarov Россия  
Дата: 12.05.12 11:31
Оценка: 2 (2) +4 -1 :))) :))
H>Я работаю на последнем месте почти три года, сортировку не написал ни разу. C++ конечно позволяет издеваться над кандидатами, а вот как например сделать сортировку на node.js? myArray.sort( function(item1, item2) { item1.id-item2.id; }); Любой сорт написанный на JavaScript проиграет внутреннему sort написанному на C++ кроме самых вырожденных случаев. В реальных сервисах time to market куда важнее написания собственного сорта.

Не поверите, но я тоже ни разу не писал сортировку по работе. Тем не менее продолжаю утверждать, что для решения определенного класса задач необходимо ЗНАТЬ алгоритмы и структуры данных, а не уметь искать их в интернете. Потому что задача обычно состоит не в том, чтобы написать еще одну реализацию сортировки, а в том, чтобы решить конкретную прикладную задачу, используя базовые алгоритмы и структуры данных как конструктор (или как источник идей).
Re[3]: Ответ сотрудника Яндекса
От: dkotlyarov Россия  
Дата: 12.05.12 11:49
Оценка: -3
MTD>Они не стали для меня неожиданностью, просто как-то так вышло, что не пишу быструю сортировку, хотя могу если будет надо. Про сортировку за O(n), да, не знал, но я много чего другого знаю и умею находить информацию, в любом случае это не важно.

С тем же успехом можно сказать "я не знаком с ядерной физикой, но знаю, где библиотека". На мой взгляд, это звучит неубедитьльно.
Почему мы проверяем именно знания алгоритмов, а не умение искать их в интернете, я ответил здесь
Автор: dkotlyarov
Дата: 12.05.12
.

MTD>А вот что понимается под знаниями С++ я не уловил, может способность писать запутанный код? Ну тогда я точно не подхожу — я пишу так чтобы было очевидно любому.


Под этим понимаются уверенные ответы на простые вопросы. Как я уже сказал, в стенограмме не видно ни Ваших сомнений, ни метаний в поисках истины. Когда в азах сомневается студент — это можно понять, но для разработчика с опытом такое уже недопустимо и, на мой взгляд, говорит о поверхностности.
Re[4]: Ответ сотрудника Яндекса
От: MTD https://github.com/mtrempoltsev
Дата: 12.05.12 12:06
Оценка: 3 (3) +6
Здравствуйте, dkotlyarov, Вы писали:

D>С тем же успехом можно сказать "я не знаком с ядерной физикой, но знаю, где библиотека". На мой взгляд, это звучит неубедитьльно.


Дмитрий, я вам ничего не доказываю.

D>Почему мы проверяем именно знания алгоритмов, а не умение искать их в интернете, я ответил здесь
Автор: dkotlyarov
Дата: 12.05.12
.


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

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


Еще раз — вам видней, я ничего вам доказывать не собираюсь.

Это просто собеседование — вы смотрите на меня, я на вас. Вы делаете выводы, я тоже. У меня есть опыт успешно завершенных проектов, которые как вы любите говорить "работают 24 часа в сутки 7 дней в неделю". Я не нуждаюсь в одобрении и не горю сменить работу — она у меня есть и хорошо оплачивается. Поэтому я знаю себе цену и возможно, в отличии от вчерашнего студента у меня от зубов не отскакивают детали быстрой сортировки, но я могу изучить предметную область и написать надежный код, который будет легко поддерживать и развивать. Удачи вам в поиске. Я в свою очередь тоже определенные выводы сделал.
Re[4]: Ответ сотрудника Яндекса
От: MxMsk Португалия  
Дата: 12.05.12 12:35
Оценка:
Здравствуйте, dkotlyarov, Вы писали:

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

Здесь есть интересный момент. Базовые вещи со временем уже откладываются на подсознательном уровне. Ты вроде пишешь код правильно, но сходу сформулировать, почему, не всегда удается. Недавно тоже было собеседование, и я поймал себя на этом. Мне дают код, я отвечаю правильно, но когда просят объяснить, сижу и туплю, пытаясь вытянуть информацию из глубин мозга. Конечно, в итоге это удается, но может выглядеть, будто кандидат "плавает". В такие моменты важно чутье интервьюера.

Я еще хотел сказать по поводу Radix Sort. Если первый вопрос действительно прозвучал так, как сказал ТС, не лучше было бы ввести человека в контекст? Например, задать вопрос точнее. "У вас есть массив только положительных целых чисел. Какой бы вы предложили алгоритм, способный максимально быстро отсортировать такой массив?". Мне кажется, указание на приоритет скорости лучше укажет кандидату направление мысли.
Re[6]: Ответ сотрудника Яндекса
От: Handie  
Дата: 12.05.12 12:35
Оценка:
D>Не поверите, но я тоже ни разу не писал сортировку по работе. Тем не менее продолжаю утверждать, что для решения определенного класса задач необходимо ЗНАТЬ алгоритмы и структуры данных, а не уметь искать их в интернете. Потому что задача обычно состоит не в том, чтобы написать еще одну реализацию сортировки, а в том, чтобы решить конкретную прикладную задачу, используя базовые алгоритмы и структуры данных как конструктор (или как источник идей).

В общем, чего и требовалось доказать. Сортировка — это способ сортировать кандидатов.
Вот нифига не помню как написать квик сорт или красно-черное дерево. Ни то, ни другое никогда не писал сам.

Более того, постепенно становлюсь противником языков с указателями, ручным управлением памяти и структурами данных основанных на указателях. Парадокс, но портировав низко и средненагруженные проекты с C++ на Node.js получили потерю производительности в 1,5-3 раза при сокращении времени девелопмента в 5-10 раз.

Думаю, в Yandex тенденция сваливания с C/С++ тоже должна иметь место для некритичных проектов
Re[2]: Ответ сотрудника Яндекса
От: BNL  
Дата: 12.05.12 12:45
Оценка:
Здравствуйте, dkotlyarov, Вы писали:

D>Если вы хорошо знаете С++ и алгоритмы, обладаете смелостью браться за сложные задачи и желанием постоянно изучать что-то новое, мы ждем вас на собеседовании. При любом исходе вы получите интересный опыт или обнаружите пробелы в знаниях, что тоже полезно.


Привет, Дмитрий!

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

Кстати по поводу radix sort, я бы на вашем месте уже бы начал давать что то другое , например heap sort или хотя бы тот же qsort с условием чтобы не сливал стандартному сильно.
Re[4]: Ответ сотрудника Яндекса
От: Handie  
Дата: 12.05.12 12:49
Оценка: 8 (2) +2
D>Под этим понимаются уверенные ответы на простые вопросы. Как я уже сказал, в стенограмме не видно ни Ваших сомнений, ни метаний в поисках истины. Когда в азах сомневается студент — это можно понять, но для разработчика с опытом такое уже недопустимо и, на мой взгляд, говорит о поверхностности.

Дмитрий, морализаторство совсем не красит руководителя.

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

Например на вопрос как я отношусь к С++ я могу ответить двумя способами.

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

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

Оба ответа — абсолютно правильные. Который из них Вам нравится больше? Не зная Вас персонально я не знаю какой вариант я бы Вам предложил
Re[3]: Ответ сотрудника Яндекса
От: Handie  
Дата: 12.05.12 12:54
Оценка:
BNL>От себя могу сказать что интервью в яндексе действительно прикольные и я не пожалел что на них сходил. Единственное что для меня немного сгладило впечатление это какая то туманность итоговых ответов мне. Я был на двух очных собеседованиях в двух разных командах (последнее было в вашу в январе), сразу после собеседований мне говорили что все ок, но потом по почте сообщали что то в духе "мы сейчас не можем вам предложить эту работу".

А у меня собеседование было тупейшим. Шесть-семь человек попеременно задавали вопросы, атмосферка была крайне неприятной. Наверное в Yandex не знают, что собеседование огромной толпой оставляет очень неприятные ощущения.
Re[4]: Ответ сотрудника Яндекса
От: NikeByNike Россия  
Дата: 12.05.12 13:06
Оценка:
Здравствуйте, Handie, Вы писали:

H>А у меня собеседование было тупейшим. Шесть-семь человек попеременно задавали вопросы, атмосферка была крайне неприятной. Наверное в Yandex не знают, что собеседование огромной толпой оставляет очень неприятные ощущения.


ИМХО это ещё и очень неэффективная трата времени. Эффективней сделать несколько собеседовний с отдельными людьми и их последующим внутренним обсуждением.
Нужно разобрать угил.
Re[5]: Ответ сотрудника Яндекса
От: Handie  
Дата: 12.05.12 13:10
Оценка:
MTD>Это просто собеседование — вы смотрите на меня, я на вас. Вы делаете выводы, я тоже. У меня есть опыт успешно завершенных проектов, которые как вы любите говорить "работают 24 часа в сутки 7 дней в неделю". Я не нуждаюсь в одобрении и не горю сменить работу — она у меня есть и хорошо оплачивается. Поэтому я знаю себе цену и возможно, в отличии от вчерашнего студента у меня от зубов не отскакивают детали быстрой сортировки, но я могу изучить предметную область и написать надежный код, который будет легко поддерживать и развивать. Удачи вам в поиске. Я в свою очередь тоже определенные выводы сделал.

Смотрите ответ #1 к этому посту. http://rsdn.ru/forum/job/4725584.1.aspx
Автор: Handie
Дата: 04.05.12


Примерно то-же самое при устройстве в MS и Google. Там никого не волнует Ваш предыдущий опыт, наличие проектов на GitHub. Там будут задачки про гномиков, написания quick-sort и прочая хрень.

Чтобы пройти собеседования в Yandex нужно натаскиваться на сортировки и поиски — написать каждую сортировку по памяти пару раз. Уважающий себя профи натаскиваться на сортировки вечером после работы не будет.

Мне например работа в Yandex не нужна Я слишком хорошо понимаю что такое большая контора с тысячей программеров и насколько рутинной и неинтересной может быть работа там. При этом есть чуть менее престижные конторы но с похожими направлениями, более высокими зарплатами и меньшим пафосом. Просто в Yandex народ рвется из-за раскрученности расказов о бесплатных печеньках, суперпроектах и элитарности этой суперкомпании.
Re[5]: Ответ сотрудника Яндекса
От: Handie  
Дата: 12.05.12 13:11
Оценка:
NBN>ИМХО это ещё и очень неэффективная трата времени. Эффективней сделать несколько собеседовний с отдельными людьми и их последующим внутренним обсуждением.

Ну, типа вся команда сразу мучит человека Кстати, то-же самое было и не только в Yandex
Re[4]: Ответ сотрудника Яндекса
От: Константин Л. Франция  
Дата: 12.05.12 13:11
Оценка: :)
Здравствуйте, dkotlyarov, Вы писали:

MTD>>Они не стали для меня неожиданностью, просто как-то так вышло, что не пишу быструю сортировку, хотя могу если будет надо. Про сортировку за O(n), да, не знал, но я много чего другого знаю и умею находить информацию, в любом случае это не важно.


D>С тем же успехом можно сказать "я не знаком с ядерной физикой, но знаю, где библиотека". На мой взгляд, это звучит неубедитьльно.

D>Почему мы проверяем именно знания алгоритмов, а не умение искать их в интернете, я ответил здесь
Автор: dkotlyarov
Дата: 12.05.12
.


о, оказывается сортировки по сложности сопоставимы с ядерной физикой?

[]
Re[6]: Ответ сотрудника Яндекса
От: NikeByNike Россия  
Дата: 12.05.12 13:28
Оценка:
Здравствуйте, Handie, Вы писали:

NBN>>ИМХО это ещё и очень неэффективная трата времени. Эффективней сделать несколько собеседовний с отдельными людьми и их последующим внутренним обсуждением.


H>Ну, типа вся команда сразу мучит человека Кстати, то-же самое было и не только в Yandex


В других подразделениях Яндекса — не так.
Нужно разобрать угил.
Re[5]: Ответ сотрудника Яндекса
От: dkotlyarov Россия  
Дата: 12.05.12 13:48
Оценка: 4 (1)
MM>Я еще хотел сказать по поводу Radix Sort. Если первый вопрос действительно прозвучал так, как сказал ТС, не лучше было бы ввести человека в контекст? Например, задать вопрос точнее. "У вас есть массив только положительных целых чисел. Какой бы вы предложили алгоритм, способный максимально быстро отсортировать такой массив?". Мне кажется, указание на приоритет скорости лучше укажет кандидату направление мысли.

А разве из моего комментария следует, что мы ожидаем услышать именно про radix sort? Более того, из постановки вопроса тоже нельзя заключить, что radix sort в данном случае будет наиболее эффективен. Хотя знание данного алгоритма и является плюсом, его незнание не особо критично. Если кандидат может связно объяснить процесс выбора подходящего алгоритма сортировки "в зависимости от", то этот ответ засчитывается.
Re: Как пройти собеседование в Яндекс
От: qwerty_100  
Дата: 12.05.12 15:01
Оценка: 33 (5) +7
Программистом интересно работать только тогда,
когда ты стал специалистом или хочешь им стать в
конкретной предметной области. Например, в цифровой
обработке сигналов или изображений или еще в чем-то.
Например, если работаешь с 1С — то надо знать хорошо
что-то соответствующее — ту же бухгалтерию.
Судя по по требованиям, собеседующих из Яндекса
совершенно не интересуют специалисты в заявленной
области — обработке изображений. Какая, нафиг, сортировка
если им нужен специалист в области машинноого зрения.
Им нужен просто программист, которого можно послать
затыкать любое узкое место. Скорее всего поддерживать
уже написанный код.
Сортировки конечно знать хорошо,
но даже полное их незнание не играет никакой роли
если ты являешься хорошим специалистом в определенной
области и доказал (тем с кем рядом работал) что можешь
решать в ней конкретные задачи.

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

Предположим, что кто-то в возрасте 40-50 лет пришел
в Яндекс устраиваться на указанную позицию. Если ты работаешь
два десятка лет в программировании, то уже не помнишь,
ни про какие сортировки. Есть готовые написанные тобой, или
еще кем-то уже готовые образцы. И хочешь или не хочешь,
то как это работает уже забыл, но откуда это взять — знаешь.
Например, когда я еще учился программированию много лет назад
у меня была книга Уэзерелла "Этоды для программистов" и там
в одной главе было предложено реализовать несколько вариантов
турнирных сортировок. В порядке повышения собственной квалификации
я выполнил этот этюд. Но сейчас, по прошествии многих лет
ничего из этого не помню, хотя связан по роду своей работы
с написанием достаточно сложного софта связанного с математикой.
И то что я это не помню мне никак не мешает в моей работе.

Сложилась, такая ситуация, что если ты приходишь
устраиваться на работу, и в какой-то области являешься
специалистом, то скорее всего тебя никуда не возьмут.
Скажут скорее всего следующее:
"это все хорошо, что вы нам про себя рассказали,
и вы такой крутой специалист, но теперь, будьте добры,
отсортируйте этот массив".
"Ах, да вы что-то долго возитесь —
тут работы всего на пять минут. А говорили про себя, что вы все
знаете"
"И приходят же тут устраиваться на работу всякие — только
время наше отнимают".
Re[5]: Ответ сотрудника Яндекса
От: dkotlyarov Россия  
Дата: 12.05.12 15:43
Оценка: +1 -1 :)))
H>Неоднократно был в ситуации когда на вопрос интервьюера я задумывался не о том, как правильно ответить на вопрос, а о том что хочет от меня этот конкретный человек услышать.
H>Например на вопрос как я отношусь к С++ я могу ответить двумя способами.
H>...
H>Оба ответа — абсолютно правильные. Который из них Вам нравится больше? Не зная Вас персонально я не знаю какой вариант я бы Вам предложил

В подобных случаях могу лишь посоветовать отвечать честно. Вряд ли вы ставите перед собой цель проникнуть на конкретное предприятие, а скорее ищете место, где (среди прочего) вам будет еще и комфортно работать. В этом случае важно заренее понять, яляетесь ли вы единомышленниками с теми людьми, с кем предстоит работать вместе. Отвечая на вопросы честно, вы увеличиваете вероятность того, что сделаете правильный выбор.
Re[3]: Ответ сотрудника Яндекса
От: dkotlyarov Россия  
Дата: 12.05.12 16:03
Оценка:
BNL>От себя могу сказать что интервью в яндексе действительно прикольные и я не пожалел что на них сходил. Единственное что для меня немного сгладило впечатление это какая то туманность итоговых ответов мне. Я был на двух очных собеседованиях в двух разных командах (последнее было в вашу в январе), сразу после собеседований мне говорили что все ок, но потом по почте сообщали что то в духе "мы сейчас не можем вам предложить эту работу".

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

BNL>Кстати по поводу radix sort, я бы на вашем месте уже бы начал давать что то другое , например heap sort или хотя бы тот же qsort с условием чтобы не сливал стандартному сильно.


"Что-то другое" у нас тоже есть, но и radix sort я пока тоже со счетов не списываю
Re[2]: Ответ сотрудника Яндекса
От: Паблик Морозов  
Дата: 12.05.12 16:06
Оценка: +4 -4 :))) :))) :)))
Здравствуйте, dkotlyarov, Вы писали:

А почему вы используете С++ вместо языка программирования?
Re: Как пройти собеседование в Яндекс
От: trop Россия  
Дата: 12.05.12 16:26
Оценка: 1 (1)
Здравствуйте, MTD, Вы писали:

если не секрет, какую вилку предлагали за озвученные знания?
-
Re[4]: Ответ сотрудника Яндекса
От: minorlogic Украина  
Дата: 12.05.12 16:45
Оценка:
Здравствуйте, dkotlyarov, Вы писали:

D>"Что-то другое" у нас тоже есть, но и radix sort я пока тоже со счетов не списываю


Офтоп конечн, но какой именно radix sort вы хотите услышать? LSD MSD, in place, и т.п. ? Действительно ли есть люди в яндексе которые считают что radix sort можно реализовать за час (ходят и такие слухи)?

Могу предложить новый вопрос по реализации BWT! Или минимизация расхода памяти для операции merge двух отсортированных множест, их варианты для random iterator and sequential.

P.S. gamedev ы должны на ура проходить подобные собеседования.
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[4]: Ответ сотрудника Яндекса
От: elmal  
Дата: 12.05.12 17:29
Оценка: +10
Здравствуйте, dkotlyarov, Вы писали:

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

А какие проблемы в сомнениях? К вам пришел вполне зрелый специалист, имеющий опыт в интересующей вашей фирме области. Который также, как и вы, проводит собеседования и фильтрует кандидатов. И который, благодаря тому, что обладает весьма солидным опытом и квалификацией, вправе ожидать, что с ним будут разговаривать о вещах поинтереснее, посерьезнее и посложнее, чем реализации сортировок. Пришел исключительно с остаточными знаниями, на которых не так чтоб сильно и облажался — для остаточных знаний, которые он последний раз на практике применял 10 лет назад, это очень хороший результат. И который, вполне возможно, обладает большей реальной квалификацией.
Вот вопрос такой. Вернее два. Первый вопрос — если вас попросить внезапно без подготовки на время вывести формулу корней квадратного уравнения, доказать теорему Пифагора, а также дать определение предела — вы уверены, что ответите на это без запинки, как тогда, когда это все сдавали на экзаменах? Вот мне кажется, что все таки это маловероятно. И второй вопрос — уверены ли вы, что те люди, которые 3 года назад блестяще прошли ваше же собеседование, пройдут его сейчас уверенно и без сомнений (при условии, что они не проводят эти собеседования и занимаются рабочими вопросами)? Точно ли они будут отвечать лучше, чем отвечал топикстартер?
Re[5]: Ответ сотрудника Яндекса
От: BNL  
Дата: 12.05.12 18:04
Оценка:
Здравствуйте, minorlogic, Вы писали:

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


D>>"Что-то другое" у нас тоже есть, но и radix sort я пока тоже со счетов не списываю


M>Офтоп конечн, но какой именно radix sort вы хотите услышать? LSD MSD, in place, и т.п. ? Действительно ли есть люди в яндексе которые считают что radix sort можно реализовать за час (ходят и такие слухи)?


Думаю, условия насчет часа не является невыполнимым, я реализовал примерно за час. В условии было сказано что это должен быть radix и он должен обгонять std::sort на как можно меньшем объеме данных.
Я выбрал LSD вариант, хотя были небольшие опасения что он хуже работает с кэшем. Но вплоть до сотен тысяч элементов он был быстрее.
Re[4]: Ответ сотрудника Яндекса
От: BNL  
Дата: 12.05.12 18:09
Оценка:
Здравствуйте, dkotlyarov, Вы писали:

D>Хм. Вероятно, тут возникло какое-то недоразумение. В конце очного интервью мы говорим кандидату берем / не берем / подумаем еще столько-то дней. Если мы думаем, а потом решаем, что не берем, то приходит такое письмо. Я могу попытаться понять, почему в тот раз возникло недопонимание, если вы сообщите мне в личку свои данные. В любом случае простите за неясность.


Я лишь имел ввиду что предпочел бы услышать почему не взяли
Re[6]: Ответ сотрудника Яндекса
От: minorlogic Украина  
Дата: 12.05.12 18:09
Оценка:
Здравствуйте, BNL, Вы писали:

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


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


D>>>"Что-то другое" у нас тоже есть, но и radix sort я пока тоже со счетов не списываю


M>>Офтоп конечн, но какой именно radix sort вы хотите услышать? LSD MSD, in place, и т.п. ? Действительно ли есть люди в яндексе которые считают что radix sort можно реализовать за час (ходят и такие слухи)?


BNL>Думаю, условия насчет часа не является невыполнимым, я реализовал примерно за час. В условии было сказано что это должен быть radix и он должен обгонять std::sort на как можно меньшем объеме данных.

BNL>Я выбрал LSD вариант, хотя были небольшие опасения что он хуже работает с кэшем. Но вплоть до сотен тысяч элементов он был быстрее.

Подозреваю , что LSD вариант использовал дополнительную память ? А реализация за час так память под все элементы? Если так , то условия сравнения с std::sort, не совсем корректны.

А если обгонял std::sort до сотен тысяч (за час реализации) , то снимаю шляпу
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[5]: Ответ сотрудника Яндекса
От: dkotlyarov Россия  
Дата: 12.05.12 19:56
Оценка:
M>Офтоп конечн, но какой именно radix sort вы хотите услышать? LSD MSD, in place, и т.п. ?

Способ реализации остается на усмотрение кандидата.

M>Действительно ли есть люди в яндексе которые считают что radix sort можно реализовать за час (ходят и такие слухи)?


Мы не ставим условие "успеть за 60 минут" (наоборот, время не ограничено), но встречаются люди, которые делают это довольно быстро (бывает даже, что минут за 40).
Re[2]: Как пройти собеседование в Яндекс
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 12.05.12 20:59
Оценка:
Здравствуйте, trop, Вы писали:

T>если не секрет, какую вилку предлагали за озвученные знания?


У них довольно смешные ЗП. У меня пару-тройку раз общение с Яндексом заканчивалось на ответе на вопрос "сколько вы хотите денег"
Re[3]: Как пройти собеседование в Яндекс
От: NikeByNike Россия  
Дата: 12.05.12 22:18
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>У них довольно смешные ЗП.


Какие — не подскажешь? Можно в личку.
Нужно разобрать угил.
Re[4]: Как пройти собеседование в Яндекс
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 13.05.12 03:47
Оценка:
Здравствуйте, NikeByNike, Вы писали:

KP>>У них довольно смешные ЗП.

NBN>Какие — не подскажешь? Можно в личку.

Так этой информации в публичном доступе вагон и маленькая тележка, даже в вакансиях на РСДН-е есть Обычные вилки 80-110 до налогов.

UPD. хотя я вот припомнил то, что за месяц до моего отъезда в Корею, они позвали пообщаться на уже вполне нормальную ЗП, но у меня уже был подписан контракт.
Re[5]: Ответ сотрудника Яндекса
От: trop Россия  
Дата: 13.05.12 06:19
Оценка:
Здравствуйте, elmal, Вы писали:

imho мелочи важны,
есть вещи которые в определенных случаях делать нельзя или не рекомендуется,
можно пройти по типичным ошибкам и понять
реально ли человек занимался задачей, знает ли нюансы и может ли их объяснить;
и наоборот, спрашивать об особенностях с которыми можно столкнуться
и запомнить только углубившись в решение

а то алгоритмы вызубрит, а на деле окажется ,что приняли дол#ае#а
-
Re[6]: Ответ сотрудника Яндекса
От: trop Россия  
Дата: 13.05.12 06:21
Оценка: 8 (1) +1
Здравствуйте, trop, Вы писали:
T>а то алгоритмы вызубрит, а на деле окажется ,что приняли дол#ае#а

часто приличных кандидатов отсеивают в пользу студентов, у них ожидания меньше,
продать их можно за тот же ценник, а на качество продукта как-то по барабану, если он работает
-
Re[5]: Как пройти собеседование в Яндекс
От: trop Россия  
Дата: 13.05.12 06:40
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>>>У них довольно смешные ЗП.

KP>Обычные вилки 80-110 до налогов.

за смешными деньгами едут в москву люди из регионов

мне тут рассказали ,что для того чтобы медику устроиться на работу
в карету скор.помощи в москве (85тр), надо забашлять 100 главврачу
-
Re[7]: Ответ сотрудника Яндекса
От: elmal  
Дата: 13.05.12 06:50
Оценка:
Здравствуйте, trop, Вы писали:

T>часто приличных кандидатов отсеивают в пользу студентов, у них ожидания меньше,

T>продать их можно за тот же ценник, а на качество продукта как-то по барабану, если он работает
Да, такое есть, но такое выгодно в основном в аутсорсе. Когда продукт развивать уже не будем, ибо он не собственный — за годик сделали, а потом это все пусть другие разгребают. Но в данном то случае здесь не аутсорс, человекочасы не продают, и потом этот же продукт требуется и поддерживать и развивать. Вот тут уже политика весьма странная.
Re[6]: Как пройти собеседование в Яндекс
От: placement_new  
Дата: 13.05.12 14:18
Оценка:
Здравствуйте, trop, Вы писали:

T>Здравствуйте, kaa.python, Вы писали:


KP>>>>У них довольно смешные ЗП.

KP>>Обычные вилки 80-110 до налогов.

T>за смешными деньгами едут в москву люди из регионов


T>мне тут рассказали ,что для того чтобы медику устроиться на работу

T>в карету скор.помощи в москве (85тр), надо забашлять 100 главврачу

Дело в том, что для тех требований, которые Яндекс требует на входе, это деньги смешные.
Ибо в Москве достаточно вакансий, где никто и не слышал про существование radix sort.
Re[7]: Как пройти собеседование в Яндекс
От: BNL  
Дата: 13.05.12 15:10
Оценка: -2
Здравствуйте, placement_new, Вы писали:

_>Дело в том, что для тех требований, которые Яндекс требует на входе, это деньги смешные.

_>Ибо в Москве достаточно вакансий, где никто и не слышал про существование radix sort.

Яндекс не требует ничего сверхъестественного, это базовые знания computer science. Посмотрите
программы в Stanford или MIT.
Re[2]: Как пройти собеседование в Яндекс
От: MTD https://github.com/mtrempoltsev
Дата: 13.05.12 15:33
Оценка:
Здравствуйте, trop, Вы писали:

T>если не секрет, какую вилку предлагали за озвученные знания?


До этого не дошли, все что говорилось у меня описано, ничего сверх того кроме здравствуйте и досвидания.
Re[8]: Как пройти собеседование в Яндекс
От: NikeByNike Россия  
Дата: 13.05.12 17:30
Оценка: 1 (1) +3
Здравствуйте, BNL, Вы писали:

BNL>Яндекс не требует ничего сверхъестественного, это базовые знания computer science. Посмотрите

BNL>программы в Stanford или MIT.

Ну и что, что базовые? Это не значит, что проф. программист должен их помнить. Я и квиксорт бы не помнил, если бы не писал про него на лурке.
Знать нужно детали своей предметной области и уметь быстро осваивать новые, а не помнить то, что никогда не понадобится.
Нужно разобрать угил.
Re[8]: Как пройти собеседование в Яндекс
От: placement_new  
Дата: 13.05.12 18:25
Оценка:
Здравствуйте, BNL, Вы писали:

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


_>>Дело в том, что для тех требований, которые Яндекс требует на входе, это деньги смешные.

_>>Ибо в Москве достаточно вакансий, где никто и не слышал про существование radix sort.

BNL>Яндекс не требует ничего сверхъестественного, это базовые знания computer science. Посмотрите

BNL>программы в Stanford или MIT.

Я и не говорил обратного. Меня даже скорее забавляют эти недовольства политикой собеседования Яндекса...
Я говорю лишь в сравнеии к другим московским конторам и вакансиям.
Re[9]: Как пройти собеседование в Яндекс
От: BNL  
Дата: 13.05.12 19:27
Оценка:
Здравствуйте, placement_new, Вы писали:

_>Я и не говорил обратного. Меня даже скорее забавляют эти недовольства политикой собеседования Яндекса...

_>Я говорю лишь в сравнеии к другим московским конторам и вакансиям.

Много платить сразу имеет смысл человеку с relevant experience. Я не сомневаюсь что если на собеседование в яндекс придет человек с недюжинными познаниями в области data mining или computer vision то ему не поскупятся дать много. Если рассматривать людей без вышеозначенного опыта, то для яндекса очевидно более привлекательным является умный и мотивированны вчерашний студент, для которого высокая зарплата не так важна. Вышесказанное верно и в отношении других контор, просто они не пишут критичный к скорости код, соответственно и платят за знания нужные им.
Re[4]: Ответ сотрудника Яндекса
От: BNL  
Дата: 13.05.12 20:10
Оценка:
Здравствуйте, Handie, Вы писали:

H>А у меня собеседование было тупейшим. Шесть-семь человек попеременно задавали вопросы, атмосферка была крайне неприятной. Наверное в Yandex не знают, что собеседование огромной толпой оставляет очень неприятные ощущения.


Если это были люди из разных команд, то мне кажется что это лучше, так как вероятность того что ты получишь no hire из-за субъективной оценки одного интервьюера ниже.
Re[5]: Ответ сотрудника Яндекса
От: elmal  
Дата: 14.05.12 05:00
Оценка:
Здравствуйте, BNL, Вы писали:

BNL>Если это были люди из разных команд, то мне кажется что это лучше, так как вероятность того что ты получишь no hire из-за субъективной оценки одного интервьюера ниже.

Вообще то, когда собеседует толпа, для hire требуется единогласное одобрение кандидата всеми, кто собеседовал. Ибо во всех книжках написано, что не должно быть никаких сомнений в кандидате — лучше отказать сотне превосходных специалистов, чем взять одного посредственного. Так что при толпе уровень субъективизма выше. Да и, как показывает практика, толпой стараются собеседовать в том случае, если видят, что идет весьма серьезный кандидат, как раз в таком случае вопросы и задачки стараются позаковыристей дать.
Re[10]: Как пройти собеседование в Яндекс
От: qwerty_100  
Дата: 14.05.12 05:06
Оценка: 2 (2) +2
Здравствуйте, BNL, Вы писали:

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


_>>Я и не говорил обратного. Меня даже скорее забавляют эти недовольства политикой собеседования Яндекса...

_>>Я говорю лишь в сравнеии к другим московским конторам и вакансиям.

BNL>Много платить сразу имеет смысл человеку с relevant experience. Я не сомневаюсь что если на собеседование в яндекс придет человек с недюжинными познаниями в области data mining или computer vision то ему не поскупятся дать много. Если рассматривать людей без вышеозначенного опыта, то для яндекса очевидно более привлекательным является умный и мотивированны вчерашний студент, для которого высокая зарплата не так важна. Вышесказанное верно и в отношении других контор, просто они не пишут критичный к скорости код, соответственно и платят за знания нужные им.


А как они узнают, что пришедший к ним устраиваться на работу,
который, как вы говорите — "человек с недюжинными познаниями в области data mining или computer vision",
действительно таковым является, если ему для того чтобы продолжить разговор, предлагают
в обязательном прядке решить задачу, которую лучше решит только что окончивший вуз студент.
К тому же если о пришедшем к ним специалисте они ничего до этого не знали.
Получается замкнутый круг — чтобы доказать что ты специалист в конкретной области,
то для устройства на новую работу следует проходить соревнование со вчерашними студентами,
у которых "в области data mining или computer vision" не сопоставимо более низкие знания и опыт.
Но у них от зубов отлетают названия всех существующих сортировок.
Если человек действительно является специалистом, то он на такие условия тестирования никогда
не согласится. В результате такого подхода в настоящее время потерялся опыт многих людей
и (не только в области программирования — а и в любой другой). Зачастую, вследствие этого
во многих местах изобретается велосипед по качеству гораздо худший чем уже существующий.
Примером этому служит вся окружающая нас жизнь — то что умели делать
двадцать лет назад в большинстве областей уже делать не можем ни то что на том же уровне,
но и гораздо на более низком.
Re[8]: Как пройти собеседование в Яндекс
От: elmal  
Дата: 14.05.12 05:08
Оценка:
Здравствуйте, BNL, Вы писали:

BNL>Яндекс не требует ничего сверхъестественного, это базовые знания computer science. Посмотрите

BNL>программы в Stanford или MIT.
Ну есть там radix sort — и что? Во вводных курсах. Что то у меня сомнения большие, что от выпускников MIT и Stanford будут через 15 лет после сдачи экзамена по всему этому, будут гонять по сортировкам и ожидать, что они будут бойко рассказывать. Ну ведь не пишут они сортировку эту каждый день, вот в чем дело. Те, кто собеседуют — да, им напоминают про сортировки каждый день, в результате помнят.
Определение предела — это тоже базовое знание, причем школьное. Однако что то мне подсказывает, что те, кому за 25 (а то и раньше), уже это весьма серьезно подзабудут.
Re[10]: Как пройти собеседование в Яндекс
От: elmal  
Дата: 14.05.12 06:01
Оценка: +1
Здравствуйте, BNL, Вы писали:

BNL> Вышесказанное верно и в отношении других контор, просто они не пишут критичный к скорости код, соответственно и платят за знания нужные им.

Да что привязались к критичному по скорости коду? Во всяких неправославных буржундиях (как минимум в MIT, Stanford, Berkely) говорится с первых вводных курсов о том, как нужно писать программы, практически с первой лекции. В частности там говорится, что программа должна быть понятна, корректна, расширяема и поддерживаема — это основное. Если программа такой является, то ее не составит труда сделать быстрой. А вот если делать изначально быструю программу, в которой проблема с понятностью, корректностью, расширяемостью и поддерживаемостью — вот тут вляпаешься по самое небалуйся, ибо сожрешь весь бюджет и профукаешь все сроки. А в российских вузах даже рекурсии боятся при реализации алгоритмов, сразу же всеми силами заставляют студентов делать сверхоптимальную итеративную версию, в которой сам черт голову сломит и без поллитра не разберешься. Типа начинают с мегаоптимальности, экономя даже на вызове подпрограмм. Без проектирования, безо всего. А потом и оказывается, что малейшая ошибка критична, ибо ее потом скопипастят в тысячу мест, и потом чтоб ее исправить — придется тратить кучу времени и денег.
Re[4]: Ответ сотрудника Яндекса
От: AndreyM16  
Дата: 14.05.12 06:08
Оценка:
Здравствуйте, dkotlyarov, Вы писали:

D>С++ и алгоритмы — это необходимое требование к данным вакансиям, но не для всех вакансий оно достаточное. Более полную информацию можно получить в описаниях вакансий по ссылкам.


D>Это не вполне справедливо. Если мы видим, что канидат обладает высоким потенциалом, мы можем закрыть глаза на отсутствие у него некоторых специальных знаний с тем расчетом, что он быстро восполнит их недостаток.


Имхо, специальные знания в C++ и алгоритмах восполняются быстрее чем в матан, цос, обработке изображений и т.д.
Re[11]: Как пройти собеседование в Яндекс
От: MTD https://github.com/mtrempoltsev
Дата: 14.05.12 06:20
Оценка: :))
Здравствуйте, elmal, Вы писали:

E>Типа начинают с мегаоптимальности, экономя даже на вызове подпрограмм. Без проектирования, безо всего. А потом и оказывается, что малейшая ошибка критична, ибо ее потом скопипастят в тысячу мест, и потом чтоб ее исправить — придется тратить кучу времени и денег.


Из практики — загрузка данных занимала минут 10, что было много. Один молодой знаток тонкостей оптимизаций, принялся за дело, ну там ++i писать вместо i++, inline добавлять и прочее. Работа кипела, но толку было мало. Тогда я взял профайлер, посмотрел, что 99% времени программа занимается поиском в массиве (там объекты лежали с идентификаторами, собственно надо было их искать и что-то с ними делать), после чего взял std::map<id, object> и получил загрузку секунд за 10.
Re[11]: Как пройти собеседование в Яндекс
От: hrensgory Россия  
Дата: 14.05.12 06:46
Оценка:
On 14.05.2012 09:06, qwerty_100 wrote:

> В результате такого подхода в настоящее время потерялся

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

Хм. Кстате, согласен.

--
WBR,
Serge.
Posted via RSDN NNTP Server 2.1 beta
Re[4]: Ответ сотрудника Яндекса
От: Vzhyk  
Дата: 14.05.12 09:45
Оценка:
12.05.2012 10:03, dkotlyarov написал:

> Более полную информацию можно

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

Да и так уже все понятно.
Posted via RSDN NNTP Server 2.1 beta
Re[7]: Ответ сотрудника Яндекса
От: Vzhyk  
Дата: 14.05.12 10:10
Оценка:
12.05.2012 16:28, NikeByNike написал:

> В других подразделениях Яндекса — не так.

Не верю. Ты знаешь как собеседуют во всех других подразделениях? А может
это у них такой корпоративный стандарт собеседований?
Posted via RSDN NNTP Server 2.1 beta
Re[6]: Ответ сотрудника Яндекса
От: Vzhyk  
Дата: 14.05.12 10:13
Оценка:
12.05.2012 18:43, dkotlyarov написал:

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

Так они же оба и честные и правильные.
Posted via RSDN NNTP Server 2.1 beta
Re[12]: Как пройти собеседование в Яндекс
От: о_О
Дата: 14.05.12 10:16
Оценка: +1
Здравствуйте, MTD, Вы писали:

MTD>Из практики — загрузка данных занимала минут 10, что было много. Один молодой знаток тонкостей оптимизаций, принялся за дело, ну там ++i писать вместо i++, inline добавлять и прочее.

капитан спешит напомнить, что возраст не имеет значения, если человек дурак
Re[8]: Ответ сотрудника Яндекса
От: Vzhyk  
Дата: 14.05.12 10:22
Оценка: +1
13.05.2012 9:50, elmal написал:

> Да, такое есть, но такое выгодно в основном в аутсорсе. Когда продукт

> развивать уже не будем, ибо он не собственный — за годик сделали, а
> потом это все пусть другие разгребают. Но в данном то случае здесь не
> аутсорс, человекочасы не продают, и потом этот же продукт требуется и
> поддерживать и развивать. Вот тут уже политика весьма странная.
Нет не странная, называется "на наш век хватит". Во многих продуктовых
продукты еще хуже, чем в аутсорсинговых.
Вот, если продукт перестанут покупать, тогда может и задумаются, а так
пока покупают. Я Яндекс, что продает, рекламу. А поиск и остальные
финтифлюшки им нужны, только чтобы привлекать потребителей, то бишь
важнее опять же реклама финтифлюшки, а не ее качество.
Posted via RSDN NNTP Server 2.1 beta
Re[6]: Ответ сотрудника Яндекса
От: Vzhyk  
Дата: 14.05.12 10:28
Оценка:
14.05.2012 8:00, elmal написал:

> Вообще то, когда собеседует толпа, для hire требуется единогласное

> одобрение кандидата всеми, кто собеседовал. Ибо во всех книжках
> написано, что не должно быть никаких сомнений в кандидате — лучше
> отказать сотне превосходных специалистов, чем взять одного
> посредственного. Так что при толпе уровень субъективизма выше. Да и, как
> показывает практика, толпой стараются собеседовать в том случае, если
> видят, что идет весьма серьезный кандидат, как раз в таком случае
> вопросы и задачки стараются позаковыристей дать.
Это значит всего-лишь одно: собеседующие пытаются всеми силами не взять
этого кандидата, просто боятся, что если кандидат придет, их могут
уволить за слабые знания, не повысят зарплату и т.д. — куча придуманных
и не очень страхов.
Понятно, что это бред, но на большинстве подобных собеседований именно
это и происходит.
Posted via RSDN NNTP Server 2.1 beta
Re[7]: Ответ сотрудника Яндекса
От: elmal  
Дата: 14.05.12 10:38
Оценка:
Здравствуйте, Vzhyk, Вы писали:

V>Это значит всего-лишь одно: собеседующие пытаются всеми силами не взять

V>этого кандидата, просто боятся, что если кандидат придет, их могут
V>уволить за слабые знания, не повысят зарплату и т.д. — куча придуманных
V>и не очень страхов.
Именно это — бред. За свою шкуру точно никто не боится. Причина другая — просто не умеют определять квалификацию. Ибо их самих брали в студенческом возрасте именно такими вопросами, и как можно собеседовать по другому, они просто не знают. Плюс корпоративные правила, спускаемые сверху существуют. Которые тоже написаны очень давно, и написаны тем, кого в то время интересовал исключительно набор студентов, ибо в те времена фирма просто не могла себе позволить специалистов дороже, да и задач для специалистов не было. А далее легаси, продолжаем все делать по старому.
Re[8]: Ответ сотрудника Яндекса
От: Vzhyk  
Дата: 14.05.12 10:42
Оценка:
14.05.2012 13:38, elmal написал:

> За свою шкуру точно никто не боится.

Ну конечно, у человека, посути, только это и есть основной мотив. Ну а
правдоподобных объяснений можно придумать бесконечно много, вплоть до
Луны в созведии Тельца.
Posted via RSDN NNTP Server 2.1 beta
Re[9]: Ответ сотрудника Яндекса
От: elmal  
Дата: 14.05.12 10:52
Оценка:
Здравствуйте, Vzhyk, Вы писали:

V>Ну конечно, у человека, посути, только это и есть основной мотив.

Шкурный мотив на самом деле есть. Боязнь ответственности. Чем дороже приходит специалист, тем выше цена ошибки найма. Соответственно предпочтут не взять вообще никого или взять по знакомству, чем думать о том, как собеседовать людей, отличных от студентов. А тут, чтоб прособеседовать человека не по корпоративным стандартам, нужно брать на себя огромную ответственность. А главное правило в таких делах — не допускать, чтоб ты оказался крайним. Потому все делается просто — берем и задаем шаблонные вопросы, одобренные кем то вышестоящим и очень давно. Если не взяли кандидата — ничего страшного. Если взяли, а он не тянет — я не виноват, я действовал строго в соответствии с инструкцией.
Re[6]: Ответ сотрудника Яндекса
От: Handie  
Дата: 14.05.12 14:25
Оценка: 1 (1) +1
D>В подобных случаях могу лишь посоветовать отвечать честно. Вряд ли вы ставите перед собой цель проникнуть на конкретное предприятие, а скорее ищете место, где (среди прочего) вам будет еще и комфортно работать. В этом случае важно заренее понять, яляетесь ли вы единомышленниками с теми людьми, с кем предстоит работать вместе. Отвечая на вопросы честно, вы увеличиваете вероятность того, что сделаете правильный выбор.

Как уже было сказано. Есть десять способов ответить и правильно и честно. Я на самом деле считаю что C++ очень мощный язык и я на самом деле считаю что это крайне опасный и архаичный язык.

Комфортность работы не зависит с единомышленниками я работаю или нет. Меня вполне устраивают люди мыслящие иначе.
Re[9]: Как пройти собеседование в Яндекс
От: BNL  
Дата: 14.05.12 19:46
Оценка: +2 :))
Здравствуйте, NikeByNike, Вы писали:

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

NBN>Знать нужно детали своей предметной области и уметь быстро осваивать новые, а не помнить то, что никогда не понадобится.

Квиксорт нужно не "помнить" а понимать Так же как деревья, бинарный поиск и т.д.
По поводу того что важно быть специалистом в своей предметно области и уметь быстро осваивать новое — согласен на 100%. Но как Вы предлагаете это определять на собеседовании ? Верить тому что написано в резюме ? Обзванивать предыдущих работодателей ? В конце концов то что яндекс, гугл, майкрософт на собеседованиях спрашивают про алгоритмы и структуры даннных хорошо известно, значит человек который "быстро осваивает новое" запросто может взять в руки Кормена или Седжвика и освежить необходимое в памяти
Re[10]: Как пройти собеседование в Яндекс
От: MTD https://github.com/mtrempoltsev
Дата: 15.05.12 06:07
Оценка:
Здравствуйте, BNL, Вы писали:

BNL>В конце концов то что яндекс, гугл, майкрософт на собеседованиях спрашивают про алгоритмы и структуры даннных хорошо известно, значит человек который "быстро осваивает новое" запросто может взять в руки Кормена или Седжвика и освежить необходимое в памяти


С одной поправкой — что человеку очень хочется там работать, а чтобы это понять, для начала нужно посмотреть на людей с которыми возможно предстоит работать, проекты, рабочее место и зарплатный уровень. Но это справедливо, для человека с опытом, а не для студента.
Re[11]: Как пройти собеседование в Яндекс
От: UA Украина  
Дата: 15.05.12 07:33
Оценка:
Здравствуйте, qwerty_100, Вы писали:

_> Примером этому служит вся окружающая нас жизнь — то что умели делать

_>двадцать лет назад в большинстве областей уже делать не можем ни то что на том же уровне,
_>но и гораздо на более низком.

Примеры?
Re[12]: Как пройти собеседование в Яндекс
От: qwerty_100  
Дата: 15.05.12 07:48
Оценка:
Здравствуйте, UA, Вы писали:

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


_>> Примером этому служит вся окружающая нас жизнь — то что умели делать

_>>двадцать лет назад в большинстве областей уже делать не можем ни то что на том же уровне,
_>>но и гораздо на более низком.

UA>Примеры?


А вы сами не видите ?
На этом сайте за последнее время в другом форуме уже несколько
дней обсуждают крушение суперджета. Вот вам и пример — за последние
двадцать лет не могут ввести в строй ни один отечественный пассажирский
самолет. Хотя тот же суперджет на 80% процентов состоит из импортных
комплектующих — следовательно даже и он не является отечественным.
Больше примеров приводить не буду — имеющий глаза увидит.
Re[12]: Как пройти собеседование в Яндекс
От: MTD https://github.com/mtrempoltsev
Дата: 15.05.12 08:31
Оценка:
Здравствуйте, UA, Вы писали:

_>> Примером этому служит вся окружающая нас жизнь — то что умели делать

_>>двадцать лет назад в большинстве областей уже делать не можем ни то что на том же уровне,
_>>но и гораздо на более низком.

UA>Примеры?


Поиск Яндекса. Три года назад по запросу CMake он выдавал в первой десятке сайт Выкуп битых автомобилей в Моcкве. Теперь он выдает в придачу твитерную ленту Дмитрия любителя хип-хопа и сайт с говорящим названием seobuilding
Re[13]: Как пройти собеседование в Яндекс
От: UA Украина  
Дата: 15.05.12 09:23
Оценка:
Здравствуйте, qwerty_100, Вы писали:

_> А вы сами не видите ?

_>На этом сайте за последнее время в другом форуме уже несколько
_>дней обсуждают крушение суперджета. Вот вам и пример — за последние
_>двадцать лет не могут ввести в строй ни один отечественный пассажирский
_>самолет. Хотя тот же суперджет на 80% процентов состоит из импортных
_>комплектующих — следовательно даже и он не является отечественным.
_> Больше примеров приводить не буду — имеющий глаза увидит.

Мне кажется что там больше связано с ошибкой диспетчера или пилота.
Re[13]: Как пройти собеседование в Яндекс
От: UA Украина  
Дата: 15.05.12 09:31
Оценка:
Здравствуйте, MTD, Вы писали:

UA>>Примеры?


MTD>Поиск Яндекса. Три года назад по запросу CMake он выдавал в первой десятке сайт Выкуп битых автомобилей в Моcкве. Теперь он выдает в придачу и сайт с говорящим названием seobuilding


Не использую. Cейчас он выдает оба этих результата на первой странице проверил ради интереса. Прогресс как видите
Re[14]: Как пройти собеседование в Яндекс
От: De-Bill  
Дата: 15.05.12 09:54
Оценка:
UA>Мне кажется что там больше связано с ошибкой диспетчера или пилота.

Я даже думаю, что это ошибка того, кто посадил лётчика-испытателя (который привык работать в экстремальных условиях) на демонстрацию гражданского самолёта с кучей пассажиров. Надо было садить обычных пилотов, которые 1000 раз подумают перед тем как изменить курс от изначально выбранного.
Re[13]: Как пройти собеседование в Яндекс
От: Vzhyk  
Дата: 15.05.12 10:58
Оценка:
15.05.2012 11:31, MTD написал:

> Поиск Яндекса. Три года назад по запросу CMake он выдавал в первой

> десятке сайт Выкуп битых автомобилей в Моcкве <http://www.cmake.ru/&gt;.
> Теперь он выдает в придачу твитерную ленту Дмитрия любителя хип-хопа
> < и сайт с говорящим названием seobuilding
> <http://www.seobuilding.ru/wiki/CMake&gt;
Нет, у них поиск получше стал, уже "юных дев" пофиксили.
Posted via RSDN NNTP Server 2.1 beta
Re[14]: Как пройти собеседование в Яндекс
От: qwerty_100  
Дата: 15.05.12 11:29
Оценка: +1 -1
Здравствуйте, UA, Вы писали:

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


_>> А вы сами не видите ?

_>>На этом сайте за последнее время в другом форуме уже несколько
_>>дней обсуждают крушение суперджета. Вот вам и пример — за последние
_>>двадцать лет не могут ввести в строй ни один отечественный пассажирский
_>>самолет. Хотя тот же суперджет на 80% процентов состоит из импортных
_>>комплектующих — следовательно даже и он не является отечественным.
_>> Больше примеров приводить не буду — имеющий глаза увидит.

UA>Мне кажется что там больше связано с ошибкой диспетчера или пилота.


Истинной причины — виноват ли пилот, диспетчер, что-то отвалилось или
была ошибка в программном обеспечении, мы скорее всего уже никогда
не узнаем. Даже если расшифруют информацию из черных ящиков.
Но возвращаясь к исходной теме, вполне допускаю, что программистов
для написания бортового программного обеспечения набирали из молодых
людей, которые хорошо умеют писать сортировки. Тех же программистов,
которые знают прекрасно, к примеру динамику полета и систему управления
самолетом, но позабыли некоторые моменты, в которых прекрасно разбираются
студенты, по всей видимости сочли не достойными работать в фирмах которые
создают "суперсовременные" самолеты.
Re[15]: Как пройти собеседование в Яндекс
От: UA Украина  
Дата: 15.05.12 14:57
Оценка:
Здравствуйте, qwerty_100, Вы писали:

_> Истинной причины — виноват ли пилот, диспетчер, что-то отвалилось или

_>была ошибка в программном обеспечении, мы скорее всего уже никогда
_>не узнаем. Даже если расшифруют информацию из черных ящиков.
_> Но возвращаясь к исходной теме, вполне допускаю, что программистов
_>для написания бортового программного обеспечения набирали из молодых
_>людей, которые хорошо умеют писать сортировки. Тех же программистов,
_>которые знают прекрасно, к примеру динамику полета и систему управления
_>самолетом, но позабыли некоторые моменты, в которых прекрасно разбираются
_>студенты, по всей видимости сочли не достойными работать в фирмах которые
_>создают "суперсовременные" самолеты.

Не вопрос, можна и студентов набирать, если процесс тестирования и внедрения не оставляет шансов на ошибку. Здесь же еще и вопрос персональной ответственности, есть достаточно много самоуверенных типов которые считают что пишут сходу безбажный код не утруждая себя лишний раз перепроверить и если тестами не покрыли то все рассыпется на какой нить немного нестандартной ситуации.
Re[6]: Ответ сотрудника Яндекса
От: Олег К.  
Дата: 08.06.12 03:55
Оценка:
D>Не поверите, но я тоже ни разу не писал сортировку по работе. Тем не менее продолжаю утверждать, что для решения определенного класса задач необходимо ЗНАТЬ алгоритмы и структуры данных, а не уметь искать их в интернете. Потому что задача обычно состоит не в том, чтобы написать еще одну реализацию сортировки, а в том, чтобы решить конкретную прикладную задачу, используя базовые алгоритмы и структуры данных как конструктор (или как источник идей).

Это жесть. Куда полезней уж спросить как кандидат бы посчитал слова в файле и заодно просто поговорить об std::map<>.

Каа, ты все еще будешь утверждать что в Яндексе непременно нужно знать разные алгоритмы сортировки для их специфичных проектов (вместо того чтобы использовать std::sort<>())?
Re[7]: Ответ сотрудника Яндекса
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 08.06.12 04:02
Оценка:
Здравствуйте, Олег К., Вы писали:

D>>Тем не менее продолжаю утверждать, что для решения определенного класса задач необходимо ЗНАТЬ алгоритмы и структуры данных, а не уметь искать их в интернете.


ОК>Каа, ты все еще будешь утверждать что в Яндексе непременно нужно знать разные алгоритмы сортировки для их специфичных проектов (вместо того чтобы использовать std::sort<>())?


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

Ну и в целом, незнание алгоритмов и структур данных разработчиков ну совсем не красит.
Re[8]: Ответ сотрудника Яндекса
От: Олег К.  
Дата: 08.06.12 04:36
Оценка:
D>>>Тем не менее продолжаю утверждать, что для решения определенного класса задач необходимо ЗНАТЬ алгоритмы и структуры данных, а не уметь искать их в интернете.

ОК>>Каа, ты все еще будешь утверждать что в Яндексе непременно нужно знать разные алгоритмы сортировки для их специфичных проектов (вместо того чтобы использовать std::sort<>())?


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


KP>Ну и в целом, незнание алгоритмов и структур данных разработчиков ну совсем не красит.


Не знаю как ты читал, но он написал что именно что не нужно. Нужно было только чтобы интервью пройти. А дальше std::sort<>(). И потом, ты в проектах чаще используешь стл-овские контейнеры чем std::sort<>(). Уж лучше поговорить о поиске в std::map<> чем заставлять писать какой-то радикс сорт который потом нигде не понадобится потом. Я привел пример стандартной-таки задачи.

И да, вопросов про структуры данных я совсем не увидел.
Re[6]: Ответ сотрудника Яндекса
От: inopressa Россия  
Дата: 25.06.12 18:38
Оценка:
Здравствуйте, dkotlyarov, Вы писали:

H>>Я работаю на последнем месте почти три года, сортировку не написал ни разу. C++ конечно позволяет издеваться над кандидатами, а вот как например сделать сортировку на node.js? myArray.sort( function(item1, item2) { item1.id-item2.id; }); Любой сорт написанный на JavaScript проиграет внутреннему sort написанному на C++ кроме самых вырожденных случаев. В реальных сервисах time to market куда важнее написания собственного сорта.


D>Не поверите, но я тоже ни разу не писал сортировку по работе. Тем не менее продолжаю утверждать, что для решения определенного класса задач необходимо ЗНАТЬ алгоритмы и структуры данных, а не уметь искать их в интернете. Потому что задача обычно состоит не в том, чтобы написать еще одну реализацию сортировки, а в том, чтобы решить конкретную прикладную задачу, используя базовые алгоритмы и структуры данных как конструктор (или как источник идей).



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

Никого не хочу задеть, но очень широко распространено утверждение, что необходимо знание теоретическое тех же алгоритмов сортировки, правда применить его решительно негде. А ты как раз утверждаешь, что тоже теоретически знать — знаешь, по работе не требовалось, но! ты точно знаешь, что оно тебе пригодилось )))) Расскажи, будь другом

P.S. буду ссылаться. Все-таки редкий случай
Re[2]: Как пройти собеседование в Яндекс
От: Stroustrups Cat  
Дата: 27.06.12 14:48
Оценка: -5
Здравствуйте, koekto5, Вы писали:

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


Ну да, дворникам и грузчикам они тоже не нужны.

K>Если умеешь работать, но свой бизнес открывать лень, работай на небольшие конторы, где тебя заметят.

Более крутого бреда не слышал давно.
Работа в маленькой конторе == ковыряние в говнокоде 12 часов в день на примитивных проектах.
Re[3]: Как пройти собеседование в Яндекс
От: qwerty_100  
Дата: 27.06.12 15:37
Оценка: +2
Здравствуйте, Stroustrups Cat, Вы писали:

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


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


SC>Ну да, дворникам и грузчикам они тоже не нужны.


K>>Если умеешь работать, но свой бизнес открывать лень, работай на небольшие конторы, где тебя заметят.

SC>Более крутого бреда не слышал давно.
SC>Работа в маленькой конторе == ковыряние в говнокоде 12 часов в день на примитивных проектах.

Работа в маленькой конторе == ковыряние в говнокоде 12
часов в день на примитивных проектах — Более крутого бреда не слышал давно!!!
Re[7]: Ответ сотрудника Яндекса
От: dilmah США  
Дата: 27.06.12 23:58
Оценка: -1 :)
I>Парень, а ты не мог бы привести пример — где именно тебе пригодилось знание алгоритмов сортировки? Ну к примеру "я, решая задачку ххх внезапно понял, что именно такой подход реализован в алгоритме qsort траляля-ляля-ляля".

здесь механизм в другую сторону работает -- чем выше уровень человека, тем большее кол-во задач и тем большим кол-вом способов он способен решить. Так как задача сортировки настолько фундаментальна, то с высокой вероятностью она попадет в его поле зрения.
Re[7]: Ответ сотрудника Яндекса
От: sdf
Дата: 30.06.12 02:23
Оценка:
Здравствуйте, inopressa, Вы писали:

I>Никого не хочу задеть, но очень широко распространено утверждение, что необходимо знание теоретическое тех же алгоритмов сортировки, правда применить его решительно негде.


Ну например, задача поиска первых минимальных N чисел (т.е., тех, что после сортировки будут идти первыми) в большом несортированом массиве. за O(длины массива) без N проходов по массиву. N << длины массива, массив можно модифицировать.

Для решения используется тот же подоход. что и у quicksort, но с модификациями. Задача возникает при обработке больших обьемов данных довольно часто.
Re[8]: Ответ сотрудника Яндекса
От: MTD https://github.com/mtrempoltsev
Дата: 30.06.12 07:19
Оценка:
Здравствуйте, sdf, Вы писали:

sdf>Ну например, задача поиска первых минимальных N чисел (т.е., тех, что после сортировки будут идти первыми) в большом несортированом массиве. за O(длины массива) без N проходов по массиву. N << длины массива, массив можно модифицировать.


В смысле сделать из массива кучу? Сдается мне пример крайне неудачный
Re[9]: Ответ сотрудника Яндекса
От: sdf
Дата: 30.06.12 07:55
Оценка:
Здравствуйте, MTD, Вы писали:

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


sdf>>Ну например, задача поиска первых минимальных N чисел (т.е., тех, что после сортировки будут идти первыми) в большом несортированом массиве. за O(длины массива) без N проходов по массиву. N << длины массива, массив можно модифицировать.


MTD>В смысле сделать из массива кучу?

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

> Сдается мне пример крайне неудачный

Вполне удачый, вариант с хипом менее эффективный за счет того, что менее эффективно работает к кешем (менее локальный).
Re[8]: Ответ сотрудника Яндекса
От: elmal  
Дата: 30.06.12 08:37
Оценка:
Здравствуйте, sdf, Вы писали:

sdf>Для решения используется тот же подоход. что и у quicksort, но с модификациями. Задача возникает при обработке больших обьемов данных довольно часто.

Ээээ, шеф, это не применение алгоритма сортировки! Это широко известный стандартный алгоритм, кажется называется quick select. Его не надо придумывать, и детали его реализации не надо помнить, он уже 100 раз написан, нужно только знать, что он есть!
А для решения используется более фундаментальный подход — divide and conquer. Именно этот подход и является базисом и именно из этого подхода все выводится, а вовсе не квиксорт!
Re[10]: Ответ сотрудника Яндекса
От: MTD https://github.com/mtrempoltsev
Дата: 30.06.12 09:16
Оценка:
Здравствуйте, sdf, Вы писали:

sdf>Модифицированный quicksort трогает только часть элментов и более эффективен с точки зрения локальности и кеша.


Неплохо бы на реализацию посмотреть, потому как не понятно, что там изобретено. Кроме того не понял, что значит "трогает только часть элментов", пройти по всем элементам придется по условию задачи.
Re[9]: Ответ сотрудника Яндекса
От: sdf
Дата: 30.06.12 15:44
Оценка:
Здравствуйте, elmal, Вы писали:

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


sdf>>Для решения используется тот же подоход. что и у quicksort, но с модификациями. Задача возникает при обработке больших обьемов данных довольно часто.

E>Ээээ, шеф, это не применение алгоритма сортировки!
Действительно, это не применение алгоритма сортировки. Это прменение идей из аглоритма сортировки.

> Это широко известный стандартный алгоритм, кажется называется quick select.

Во-первых, то, что вы имеете в вижу, называется k-order statistic, во-вторых, формулировка моей задачи отличается.

> Его не надо придумывать, и детали его реализации не надо помнить,

> он уже 100 раз написан, нужно только знать, что он есть!
Давайте, найдите мне его готовый.

E>А для решения используется более фундаментальный подход — divide and conquer. Именно этот подход и является базисом и именно из этого подхода все выводится, а вовсе не квиксорт!

А еще любой язык учить не надо — во всех языкаих используется фундаментальный подход — люди откывают и закрывают рот и произносят звуки, из этого подхода все выводится
Re[11]: Ответ сотрудника Яндекса
От: sdf
Дата: 30.06.12 15:52
Оценка:
Здравствуйте, MTD, Вы писали:

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


sdf>>Модифицированный quicksort трогает только часть элментов и более эффективен с точки зрения локальности и кеша.


MTD>Неплохо бы на реализацию посмотреть, потому как не понятно, что там изобретено.

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

> Кроме того не понял, что значит "трогает только часть элментов", пройти по всем элементам придется по условию задачи.

Пройтись придется по всем, но heapsort будет хуже использовать кещ и больше переставлять элементы туда-сюда в процессе работы. На больших объёмах данных он работает заметно хуже модифицированного quicksortа
Re[10]: Ответ сотрудника Яндекса
От: elmal  
Дата: 30.06.12 16:02
Оценка: :)
Здравствуйте, sdf, Вы писали:

sdf>Во-первых, то, что вы имеете в вижу, называется k-order statistic, во-вторых, формулировка моей задачи отличается.

Далеко не уверен, что я это имел в виду.

sdf>Давайте, найдите мне его готовый.

http://dml.cs.byu.edu/~sburton/cs235/notes/view.php?file=PreviousTerms/extra%20notes/rodham/20-sorting-4/QuickSelect.java
Нашел просто гуглом, и, кстати, похоже память меня не подвела, действительно это quickselect. Стандартная институтская программа, вообще то. При этом я на бумажке без подготовки среди ночи квиксорт не напишу! И если б я помнил детали реализации квиксорт — далеко не факт, что я б сходу этот алгоритм вывел, я про него просто знал!
Re[11]: Ответ сотрудника Яндекса
От: sdf
Дата: 30.06.12 16:13
Оценка:
Здравствуйте, elmal, Вы писали:

E>http://dml.cs.byu.edu/~sburton/cs235/notes/view.php?file=PreviousTerms/extra%20notes/rodham/20-sorting-4/QuickSelect.java

E>Нашел просто гуглом, и, кстати, похоже память меня не подвела, действительно это quickselect. Стандартная институтская программа, вообще то. При этом я на бумажке без подготовки среди ночи квиксорт не напишу! И если б я помнил детали реализации квиксорт — далеко не факт, что я б сходу этот алгоритм вывел, я про него просто знал!

М-да. Поколение гугла во всей красе.
Домашнее задание — найти набор входных данных, при которых эта реализация имеет квадратичную сложность работы. И да, я про массивы большого объема, большего, чем Cutoff
Re[12]: Ответ сотрудника Яндекса
От: MTD https://github.com/mtrempoltsev
Дата: 30.06.12 17:22
Оценка:
Здравствуйте, sdf, Вы писали:

MTD>>Неплохо бы на реализацию посмотреть, потому как не понятно, что там изобретено.

sdf>Мне совершенно неохота выдирать этот алгоритм из продакшен-кода под NDA и его тут показывать, чтобы что-то вам доказывать.

Спокойней, мы же просто общаемся

sdf>Я привел пример в ответ на забавную просьбу.


Просьба нормальная — ответ забавный

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


Как только условие уточните, так с удовольствием попробую. Тем более, что сдается мне ни quick select, ни построение кучи для ваших целей не потребуются.
Re[13]: Ответ сотрудника Яндекса
От: sdf
Дата: 30.06.12 17:41
Оценка:
Здравствуйте, MTD, Вы писали:

MTD>Как только условие уточните, так с удовольствием попробую. Тем более, что сдается мне ни quick select, ни построение кучи для ваших целей не потребуются.


Условие то же, что и прежде. Могу уточнить, что данные лежат на диске (для простоты — это несколько терабайт double-ов одним файлом), N порядка 1000. Но вообще уточнять можно бесконечно. Например, что диск не SSD, памяти на машине 32 Гб, и т. д.
Re[14]: Ответ сотрудника Яндекса
От: MTD https://github.com/mtrempoltsev
Дата: 01.07.12 08:34
Оценка: :)
Здравствуйте, sdf, Вы писали:

sdf>Условие то же, что и прежде. Могу уточнить, что данные лежат на диске (для простоты — это несколько терабайт double-ов одним файлом), N порядка 1000. Но вообще уточнять можно бесконечно. Например, что диск не SSD, памяти на машине 32 Гб, и т. д.


Хорошо бы о данных уточнить, но пока этого достаточно:

#include <algorithm>
#include <cassert>
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <iterator>
#include <vector>

#include <boost/progress.hpp>

template <typename T>
class Selector
{
public:
    explicit Selector(size_t limit)
        : Limit_(limit)
        , Data_(limit)
        , Size_(0)
    {
        assert(Limit_ > 0);
    }

    void operator()(const T& value)
    {
        if (Size_ != Limit_)
        {
            Data_[Size_] = value;
            ++Size_;
            Sort();
        }
        else if (value < Data_[Size_ - 1])
        {
            Data_[Size_ - 1] = value;
            Sort();
        }
    }

    const T* Begin() const
    {
        return &*Data_.begin();
    }

    size_t Size() const
    {
        return Size_;
    }

private:
    void Sort()
    {
        for (size_t i = Size_ - 1; i != 0; --i)
        {
            if (Data_[i - 1] > Data_[i])
            {
                std::swap(Data_[i - 1], Data_[i]);
            }
            else
            {
                return;
            }
        }
    }

private:
    const size_t Limit_;
    std::vector<T> Data_;
    size_t Size_;
};

template <typename Iter>
void Print(Iter begin, size_t n)
{
    std::copy(begin, begin + n, std::ostream_iterator<int>(std::cout, " "));
    std::cout << "\n\n";
}

const size_t LIMIT = 1000;
const size_t TOTAL = 200000000;

typedef unsigned ValueT;

int main()
{
    std::vector<ValueT> data(TOTAL);

    srand(time(0));
    std::generate(data.begin(), data.end(), rand);

    {
        boost::progress_timer timer;
        const Selector<ValueT>& selector = std::for_each(data.begin(), data.end(), Selector<ValueT>(LIMIT));
        //Print(selector.Begin(), selector.Size());
    }

    {
        boost::progress_timer timer;
        std::nth_element(data.begin(), data.begin() + LIMIT, data.end());
        //Print(data.begin(), LIMIT);
    }
}


В среднем nth_element (который, как правило O(n)) медленнее моего велосипеда в 3 раза. Очень интересует сравнение с вашим велосипедом.
Re[15]: Ответ сотрудника Яндекса
От: sdf
Дата: 01.07.12 08:38
Оценка:
Здравствуйте, MTD, Вы писали:

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


sdf>>Условие то же, что и прежде. Могу уточнить, что данные лежат на диске (для простоты — это несколько терабайт double-ов одним файлом), N порядка 1000. Но вообще уточнять можно бесконечно. Например, что диск не SSD, памяти на машине 32 Гб, и т. д.


MTD>Хорошо бы о данных уточнить, но пока этого достаточно:

MTD>В среднем nth_element (который, как правило O(n)) медленнее моего велосипеда в 3 раза. Очень интересует сравнение с вашим велосипедом.
Сравнивать будет можно начать тогда, кода ваш велосипед сможет обрабатвыать пару терабайт doubleов, лежащих на диске. Я об этом явно сказал в уточнении.
Re[16]: Ответ сотрудника Яндекса
От: MTD https://github.com/mtrempoltsev
Дата: 01.07.12 08:42
Оценка: :)
Здравствуйте, sdf, Вы писали:

MTD>>В среднем nth_element (который, как правило O(n)) медленнее моего велосипеда в 3 раза. Очень интересует сравнение с вашим велосипедом.


sdf>Сравнивать будет можно начать тогда, кода ваш велосипед сможет обрабатвыать пару терабайт doubleов, лежащих на диске. Я об этом явно сказал в уточнении.


И в чем проблема? Открыли файл и по числу скармливаем моему велосипеду. Надеюсь вы понимаете, что для моего алгоритма нет разницы где лежат данные? Если хотите, можем из любви к истине обговорить условия и протестировать мой алгоритм, написанный за час человеком который не может по памяти написать быструю сортировку, и ваш алгоритм.
Re[17]: Ответ сотрудника Яндекса
От: sdf
Дата: 01.07.12 09:00
Оценка:
Здравствуйте, MTD, Вы писали:

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


MTD>>>В среднем nth_element (который, как правило O(n)) медленнее моего велосипеда в 3 раза. Очень интересует сравнение с вашим велосипедом.


sdf>>Сравнивать будет можно начать тогда, кода ваш велосипед сможет обрабатвыать пару терабайт doubleов, лежащих на диске. Я об этом явно сказал в уточнении.


MTD>И в чем проблема?

Проблем на самом деле куча.
Начать надо, например с того, что ваш код будет тормозить на данных, имеющих внутри отсортированные в обратном порядке куски.
Re[18]: Ответ сотрудника Яндекса
От: MTD https://github.com/mtrempoltsev
Дата: 01.07.12 09:28
Оценка:
Здравствуйте, sdf, Вы писали:

MTD>>И в чем проблема?

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

В теории. Сравнить хотите? Или согласитесь, что пример у вас крайне неудачен?
Re[19]: Ответ сотрудника Яндекса
От: sdf
Дата: 01.07.12 09:33
Оценка:
Здравствуйте, MTD, Вы писали:

MTD>В теории. Сравнить хотите? Или согласитесь, что пример у вас крайне неудачен?

Не в теории, а на практике. Замените массив стучайных чисел массивом от 200000000 до 1 и посмотрите на результат.
Re[20]: Ответ сотрудника Яндекса
От: MTD https://github.com/mtrempoltsev
Дата: 01.07.12 09:44
Оценка:
Здравствуйте, sdf, Вы писали:

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


MTD>>В теории. Сравнить хотите? Или согласитесь, что пример у вас крайне неудачен?

sdf>Не в теории, а на практике. Замените массив стучайных чисел массивом от 200000000 до 1 и посмотрите на результат.

Это я сразу проверил. Ну так сравнивать будем? Надеюсь на сокрушительную победу знания деталей алгоритмов сортировки
Re[21]: Ответ сотрудника Яндекса
От: sdf
Дата: 01.07.12 09:46
Оценка:
Здравствуйте, MTD, Вы писали:

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


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


MTD>>>В теории. Сравнить хотите? Или согласитесь, что пример у вас крайне неудачен?

sdf>>Не в теории, а на практике. Замените массив стучайных чисел массивом от 200000000 до 1 и посмотрите на результат.

MTD>Это я сразу проверил.

Тест и результаты в студию!

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

Понятия не имею. В таком виде не вижу смыслf — на отсортированным в обратном порядке данных ваш агоритм будет работат хуже чем реалзиация из STL.
Re[22]: Ответ сотрудника Яндекса
От: MTD https://github.com/mtrempoltsev
Дата: 01.07.12 10:35
Оценка:
Здравствуйте, sdf, Вы писали:

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

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

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

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


Потому я и говорил, что надо уточнить, что за входные данные. Для упорядоченного массива готов изобрести алгоритм со сложностью O(1)
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 яндекс собеседование
Re[6]: Как пройти собеседование в Яндекс
От: Alexéy Sudachén Чили  
Дата: 20.03.13 17:51
Оценка:
SD>Я в code review предпочитаю отметать все конструкции, использование которых выглядит странно или неоправданно. Вот тот самый упомянутый printf с malformed строкой и не менее кривым параметром — пример того, что я точно не пустил бы через code review, причем даже разбираться бы не стал, что оно там делает.

Как бы не у всех задачи тепличные ))) Те же кто на ревью даже не разбирается.... ну и на кой вы такие нужны? Вот честно задолбался в своё время объяснять подобным борцам за чистоту, что их мнение о прекрасном делает из кода того самого макаронного монстра, которого они так боятся, только красиво причёсанного и с эстонским паспортом. Хотя в теплице, ясен пень, такие ревьюверы особого вреда не приносят. ))))
Re[15]: Ответ сотрудника Яндекса
От: Evgeny.Panasyuk Россия  
Дата: 20.03.13 22:23
Оценка:
Здравствуйте, MTD, Вы писали:

MTD>
MTD>    void operator()(const T& value)
MTD>    {
MTD>        if (Size_ != Limit_)
MTD>        {
MTD>            Data_[Size_] = value;
MTD>            ++Size_;
MTD>            Sort();
MTD>        }
MTD>        else if (value < Data_[Size_ - 1])
MTD>        {
MTD>            Data_[Size_ - 1] = value;
MTD>            Sort();
MTD>        }
MTD>    }
MTD>    void Sort()
MTD>    {
MTD>        for (size_t i = Size_ - 1; i != 0; --i)
MTD>        {
MTD>            if (Data_[i - 1] > Data_[i])
MTD>            {
MTD>                std::swap(Data_[i - 1], Data_[i]);
MTD>            }
MTD>            else
MTD>            {
MTD>                return;
MTD>            }
MTD>        }
MTD>    }
MTD>private:
MTD>    const size_t Limit_;
MTD>    std::vector<T> Data_;
MTD>    size_t Size_;
MTD>};
MTD>


Почему не std::priority_heap (либо std::push_heap/pop_heap)?

MTD>
MTD>        std::nth_element(data.begin(), data.begin() + LIMIT, data.end());
MTD>

MTD>В среднем nth_element (который, как правило O(n)) медленнее моего велосипеда в 3 раза. Очень интересует сравнение с вашим велосипедом.

Почему ты сравниваешь out-of-place алгоритм, с in-place nth_element? Почему ни слова об прямом out-of-place аналоге std::partial_sort_copy?
Re[7]: Как пройти собеседование в Яндекс
От: SkyDance Земля  
Дата: 21.03.13 00:07
Оценка: 1 (1)
AS>Как бы не у всех задачи тепличные ))) Те же кто на ревью даже не разбирается.... ну и на кой вы такие нужны?

Для экономии времени всех тех, кто в будущем будет поддерживать эти "произведения искусства". Если даже у ревьювера это вызывает трудность понимания, значит, у саппортеров и вовсе клин мозга произойдет.
Re[3]: Как пройти собеседование в Яндекс
От: lpc Великобритания  
Дата: 21.03.13 01:08
Оценка: +2 -1
Здравствуйте, MTD, Вы писали:

MTD>И да, эффективную реализацию quick sort я не пишу каждый день, но легко могу написать если будет нужно.


Никто не пишет квик сорт каждый день и все конечно же могут нагуглить готовое решение. Просто есть люди у которых мозга хватает помнить много разных алгоритмов (даже если не долгосрочно, как результат подготовки к интервью), и еще они умеют объяснить все детали этих алгоритмов и например предложить какие то улучшения-ухищрения в ходе интервью. Это совсем не обязательно студенты. Это просто люди у которых мозг это может. Вот таких людей и ищут. Потому что в некоторых компаниях работа такая, много думать над разными хитрыми задачами, а не херачать тонны классов, пусть даже с офигенным ОО дизайном — это просто другой скилл.
Re[3]: Как пройти собеседование в Яндекс
От: lpc Великобритания  
Дата: 21.03.13 01:24
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК>З.Ы. Следуя твоей логике, им нужно интервьюировать не просто плюсовиков, а плюсовиков с Гугла чтобы не тратить время остальных. И да, сдается мне что в своем коде они все-таки используют std::sort<>() а не какой-нибудь самопальный радикс сорт.


Как только данных становится больше некоторого N (или же требования к лейтенси — меньше M), никакие стандартные сортировки и поиски не работают. У нас хоть и не яндекс-гугл, но "библиотечные" функции используются разве что в тестах и при чтении конфигов на старте. В реальности же используются что то более хитрое и очень специфичное, часто двух-трех-фазное, работающее только в данном конкретном месте и случае, но за-то значительно более эффективное. В общем очень наивно думать что сортировки больше никто не пишет.

P.S.: точно такая же ботва и с коллекциями, хешпамы и хешсеты часто не подходят и надо делать какой то гибриды.
Re[4]: Как пройти собеседование в Яндекс
От: mik1  
Дата: 21.03.13 03:42
Оценка: +1
Здравствуйте, lpc, Вы писали:

lpc>P.S.: точно такая же ботва и с коллекциями, хешпамы и хешсеты часто не подходят и надо делать какой то гибриды.


А maps/sets по размеру или по latency не подходят? Latency решается либо лучшей hash-функцией и достаточной capacity коллекции, либо разбиением коллекции на buckets...
Re[2]: Собеседование в питерском офисе Яндекса
От: FlamingWind Россия  
Дата: 21.03.13 05:56
Оценка:
Здравствуйте, ff01, Вы писали:

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

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

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

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

Дело в том, что у Яндекса нет этой самой конкуренции. Компания "на слуху" и толпы бывших студентов всегда готовы к штурму их уровней собеседования. Часть из них Яндекс принимает, часть из принятых затем растет в компании и ищет себе замену из сегодняшних выпускников. Цикл замкнулся.

Вообще заметил, что на должности программистов самые долгие и самые сложные собеседования! Если же приходить на должность выше (начиная с тим лида), то общение СОВЕРШЕННО иное. И не потому, что тим лиду не нужно быть программистом (на практике ему так же приходится решать кучу, зачастую самых ответственных, задач по разработке), а потому, что поток кандидатов на порядки меньше и цена ошибки (причем любого рода) выше! В итоге собеседования проходят в формате рассказа о своих решенных проектах и углубления в интересные его части. И, конечно же, собеседование не затягивается на 8-10 часов в душной "переговорке".
Re[2]: Собеседование в питерском офисе Яндекса
От: Vzhyk  
Дата: 21.03.13 07:26
Оценка:
On 20.03.2013 19:29, ff01 wrote:

> Субъективные впечатления,

> похоже так и не адаптировались к тому, что идет большой поток
> кандидатов.
Ну вот, значит у них все в порядке. Поток большой. При большом потоке
вполне адекватный вариант собеседования.
Posted via RSDN NNTP Server 2.1 beta
Re[4]: Как пройти собеседование в Яндекс
От: Vzhyk  
Дата: 21.03.13 07:56
Оценка:
On 21.03.2013 4:08, lpc wrote:

> Никто не пишет квик сорт каждый день и все конечно же могут нагуглить

> готовое решение. Просто есть люди у которых мозга хватает помнить много
> разных алгоритмов (даже если не долгосрочно, как результат подготовки к
> интервью), и еще они умеют объяснить все детали этих алгоритмов и
> например предложить какие то улучшения-ухищрения в ходе интервью. Это
> совсем не обязательно студенты. Это просто люди у которых мозг это
> может. Вот таких людей и ищут. Потому что в некоторых компаниях работа
> такая, много думать над разными хитрыми задачами, а не херачать тонны
> классов, пусть даже с офигенным ОО дизайном — это просто другой скилл.
25 лет тебе?
Posted via RSDN NNTP Server 2.1 beta
Re: Как пройти собеседование в Яндекс
От: Handie  
Дата: 21.03.13 08:33
Оценка: 1 (1)
У меня было куча собеседований в Yandex, но еще больше я общался с их рекрутерами. Это песня.

Писал мне некий Аркадий Климовский:

Меня зовут Аркадий Климовский, talent-manager компании Яндекс.
Судя по нашей базе, некоторое время назад Вы общались с нашими специалистами по поводу вакансии C/C++ разработчика (и, насколько я вижу, довольно продуктивно J ).
В связи с этим я и решил Вам написать – во-первых, поздравить с наступающим Новым Годом =)
А во-вторых, узнать как у Вас сейчас дела по работе, каковы карьерные планы, где и чем занимаетесь в настоящий момент?


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

Пишет мне рекрутер "Виктория Нефедова":

"Я нашла Ваше резюме на сайте hh.ru и хотела бы предложить Вам рассмотреть вакансию "Разработчик XXXXXXXXXXXXXXXXXX технологий" , открытую в нашей компании.

Отвечаю ей, что с удовольствием рассмотрю вакансию. Приходит ответ — нате тест. Я ей отвечаю — этот тест я делал пять лет назад и не изменился ни тест, ни ответы на этот тест. Мой github — XXX. Викторию ссылки на github не интересуют, ссылки на сделанные интернет сайты тоже — Виктории сказали что надо делать тест (десятилетней давности если я ничего не путаю).

Последний раз был там на собеседовании с Анатоликсом, после некоторого перерыва. Могу сказать что Анатоликс как собеседователь сильно вырос, уже не возникало ощущений похожих в эпическом топике "Собеседование в Яндекс" лет пять назад. Общение оставило вполне приятные ощущения.

Вот рекрутеры и Talent Managers в Yandex очень даже бестолковые. Интересно Климовский работает или попрощались с ним?
Re[2]: Как пройти собеседование в Яндекс
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 21.03.13 09:10
Оценка:
Здравствуйте, Handie, Вы писали:

H>У меня было куча собеседований в Yandex, но еще больше я общался с их рекрутерами. Это песня.


А у меня с ними ни разу дело даже до собеседования не дошло, на обсуждении уровня оплаты Яндекс "отсеивался"
Re[3]: Собеседование в питерском офисе Яндекса
От: ff01  
Дата: 21.03.13 09:16
Оценка:
Здравствуйте, FlamingWind, Вы писали:
FW>Дело в том, что у Яндекса нет этой самой конкуренции. Компания "на слуху" и толпы бывших студентов всегда готовы к штурму их уровней собеседования. Часть из них Яндекс принимает, часть из принятых затем растет в компании и ищет себе замену из сегодняшних выпускников. Цикл замкнулся.
Так было бы чего штурмовать. Один человек со вполне обычной зрительной памятью сходив пообщаться сам — может потом подготовить к этому их собеседованию два-три десятка других желающих.
Было бы желание нагадить — спалил бы здесь все их вопросы, вынудив менять опросник.

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

FW>Вообще заметил, что на должности программистов самые долгие и самые сложные собеседования!

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

Людям с опытом реальной работы интересны в первую очередь иные вещи. Сродни жизненного цикла проекта, степень сложности задач и уровень технических вызовов. Нормальным специалистам банально тоскливо и скучно просиживать штаны на еще одном тепленьком месте в очередном подобии советского НИИ пропитанном коллективной безответственностью. Потеря времени — пробуксовка на месте, одна из форм деградации.
Re[3]: Собеседование в питерском офисе Яндекса
От: ff01  
Дата: 21.03.13 09:23
Оценка: +1
Здравствуйте, Vzhyk, Вы писали:
V>Ну вот, значит у них все в порядке. Поток большой. При большом потоке
V>вполне адекватный вариант собеседования.
Ориентированность очных собеседований на большой поток — признак коллективной безответственности. Когда нет обратной связи с первичными фильтрами, сродни HR'ов и теми, кто проводит первичное общение с кандидатами по телефону/скайпу. А люди проводящие собеседование толком никак не мотивированны на отсмотр кандидатов и одновременно с этим понятия не имеют кого им сейчас не хватает в команде.
Re[2]: Как пройти собеседование в Яндекс
От: Vzhyk  
Дата: 21.03.13 10:22
Оценка:
On 21.03.2013 11:33, Handie wrote:

> talent-manager компании Яндекс.

Кто??? Чуть пивом не подавился, как прочитал.
Жесть.
Posted via RSDN NNTP Server 2.1 beta
Re[4]: Собеседование в питерском офисе Яндекса
От: Vzhyk  
Дата: 21.03.13 10:29
Оценка:
On 21.03.2013 12:23, ff01 wrote:

> Ориентированность очных собеседований на большой поток — признак

> коллективной безответственности.
Но если поток есть, то в чем проблема. Ну ни мне, ни тебе не нравиться
Яндекс и что. Им от этого не холодно — не жарко.
Они зарабатывают деньги рекламой и вполне успешно, причем еще той же
рекламой создают имидж инновационной компании, толпа к ним бежит
собеседоваться, как и бежит покупать айфончики.
Posted via RSDN NNTP Server 2.1 beta
Re[3]: Как пройти собеседование в Яндекс
От: John1979  
Дата: 21.03.13 10:49
Оценка: :)
Здравствуйте, kaa.python, Вы писали:

KP>А у меня с ними ни разу дело даже до собеседования не дошло, на обсуждении уровня оплаты Яндекс "отсеивался"

это потому что ты очень жадный. попросил бы 80 тысяч, и тебе, возможно, посчастливилось бы
Re[5]: Собеседование в питерском офисе Яндекса
От: ff01  
Дата: 21.03.13 11:51
Оценка:
Здравствуйте, Vzhyk, Вы писали:

>> Ориентированность очных собеседований на большой поток — признак

>> коллективной безответственности.
V>Но если поток есть, то в чем проблема. Ну ни мне, ни тебе не нравиться
V>Яндекс и что. Им от этого не холодно — не жарко.

Лично у меня нет никакого отношения к яндексу, ни положительного, ни отрицательного.
С их внутренней кухней не знаком и не считаю нужным напрягать знакомых, дабы понять происходящее внутри. По крайней мере, до тех пор, пока не возникнет понимание есть ли в там что-то интересное лично для меня. Если найдется, то начну уже взвешивать заверения hr'ов о соц.пакете, показания менеджмента об организации процесса разработки и мотивациях персонала. Сопоставляя уже всё это с информацией от знакомых о реальном, фактическом положении дел.

Идеальных компаний не бывает, для разработчика важна лишь та часть компании, в которой ему придется вращаться. Условно говоря, люди составляющие команду на проекте(разработчики, тестеры, продакт менеджмент) и те, кто служат проксёй при взаимодействии со вспомогательными подразделениями.
Положения дел и порядки в других командах могут интересовать лишь косвенно. Только в контексте конкуренции команд за сотрудников, т.к. переход между командами обычно проще чем смена конторы.
Re[3]: Как пройти собеседование в Яндекс
От: Antidote  
Дата: 21.03.13 22:30
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>А у меня с ними ни разу дело даже до собеседования не дошло, на обсуждении уровня оплаты Яндекс "отсеивался"


Ага, и "будущий начальник" смотрел на тебя грустными глазами Вот зачем обсуждать деньги с ним
Чему бы грабли ни учили, а сердце верит в чудеса.
Re[4]: Как пройти собеседование в Яндекс
От: John1979  
Дата: 21.03.13 22:45
Оценка:
Здравствуйте, Antidote, Вы писали:

KP>>А у меня с ними ни разу дело даже до собеседования не дошло, на обсуждении уровня оплаты Яндекс "отсеивался"

A>Ага, и "будущий начальник" смотрел на тебя грустными глазами Вот зачем обсуждать деньги с ним

вообще обычно первый контакт идет с HR, который ведает вилками з/п. и это правильно.
Re[4]: Как пройти собеседование в Яндекс
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 21.03.13 22:53
Оценка: +1
Здравствуйте, Antidote, Вы писали:

A>Ага, и "будущий начальник" смотрел на тебя грустными глазами Вот зачем обсуждать деньги с ним


Я деньги (максимальный потолок вилки) всегда обсуждаю до того как придти на собеседование. Как показывает опыт — полезная практика, отлично экономит время.
Re[5]: Как пройти собеседование в Яндекс
От: Antidote  
Дата: 21.03.13 23:40
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Я деньги (максимальный потолок вилки) всегда обсуждаю до того как придти на собеседование. Как показывает опыт — полезная практика, отлично экономит время.


Cобеседование было по скайпу ввиду удалённого нахождения собеседуемого.
Чему бы грабли ни учили, а сердце верит в чудеса.
Re[5]: Как пройти собеседование в Яндекс
От: Antidote  
Дата: 21.03.13 23:56
Оценка:
Здравствуйте, John1979, Вы писали:

J>вообще обычно первый контакт идет с HR, который ведает вилками з/п. и это правильно.


Ну типа да, но почему-то лично у меня была уверенность, что в Яндексе хорошо платят и поэтому прямых вопросов к HR не было. И да, собеседование было по скайпу, не личное, наверное там и HR был до кучи
Чему бы грабли ни учили, а сердце верит в чудеса.
Re[6]: Как пройти собеседование в Яндекс
От: Antidote  
Дата: 21.03.13 23:57
Оценка:
И да, может платят — но не всем
Чему бы грабли ни учили, а сердце верит в чудеса.
Re[6]: Как пройти собеседование в Яндекс
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 22.03.13 00:02
Оценка:
Здравствуйте, Antidote, Вы писали:

A>Cобеседование было по скайпу ввиду удалённого нахождения собеседуемого.


Кто здесь?
Re[5]: Как пройти собеседование в Яндекс
От: SkyDance Земля  
Дата: 22.03.13 00:03
Оценка: :)
M>А maps/sets по размеру или по latency не подходят? Latency решается либо лучшей hash-функцией и достаточной capacity коллекции, либо разбиением коллекции на buckets...

Неее, мужык, ну ты что! Ты сейчас так все секретные алгоритмы HFT раскроешь непосвященным!
Re[6]: Как пройти собеседование в Яндекс
От: SkyDance Земля  
Дата: 22.03.13 00:05
Оценка:
A>Ну типа да, но почему-то лично у меня была уверенность, что в Яндексе хорошо платят и поэтому прямых вопросов к HR не было.

Я про Гугл тоже так думал.
Поначалу...
Re[7]: Как пройти собеседование в Яндекс
От: Antidote  
Дата: 22.03.13 00:08
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Кто здесь?


А что в этом такого? Это нормально, если собеседуемый находится далеко
Или за мкадом жизни нет?
Чему бы грабли ни учили, а сердце верит в чудеса.
Re[5]: Как пройти собеседование в Яндекс
От: lpc Великобритания  
Дата: 22.03.13 00:11
Оценка:
Здравствуйте, Vzhyk, Вы писали:

V>25 лет тебе?


А тебе видимо 15, может 16.
Re[7]: Как пройти собеседование в Яндекс
От: Antidote  
Дата: 22.03.13 00:12
Оценка:
Здравствуйте, SkyDance, Вы писали:

A>>Ну типа да, но почему-то лично у меня была уверенность, что в Яндексе хорошо платят и поэтому прямых вопросов к HR не было.


SD>Я про Гугл тоже так думал.

SD>Поначалу...

Может тоже платят, да не всем
Чему бы грабли ни учили, а сердце верит в чудеса.
Re[8]: Как пройти собеседование в Яндекс
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 22.03.13 00:13
Оценка:
Здравствуйте, Antidote, Вы писали:

A>А что в этом такого? Это нормально, если собеседуемый находится далеко


Ты говоришь на какую-то тему, которая явно вертится у тебя в голове, но не прослеживается в постах на форуме.

A>Или за мкадом жизни нет?


Нет, нету. Я проверял — там все печально
Re[9]: Как пройти собеседование в Яндекс
От: Antidote  
Дата: 22.03.13 00:21
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Ты говоришь на какую-то тему, которая явно вертится у тебя в голове, но не прослеживается в постах на форуме.


Эээ...я говорю про интервью в Яндекс, по скайпу. Никакой заХадочности, к сожалению
А что должно в постах просвечиваться? Я на rsdn так, поболтать

A>>Или за мкадом жизни нет?


KP>Нет, нету. Я проверял — там все печально


Ну тогда нет проблем, для тебя я не существую, потому как "за мкадом"
Чему бы грабли ни учили, а сердце верит в чудеса.
Re[10]: Как пройти собеседование в Яндекс
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 22.03.13 00:23
Оценка:
Здравствуйте, Antidote, Вы писали:

A>А что должно в постах просвечиваться? Я на rsdn так, поболтать


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

A>Ну тогда нет проблем, для тебя я не существую, потому как "за мкадом"


И меня тоже не существует. МКАД — он такой
Re[11]: Как пройти собеседование в Яндекс
От: Antidote  
Дата: 22.03.13 00:33
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Да я о том говорю, что совершенно не понял твоей нити рассуждений и каким образом ты перепрыгнул от "спрашивать ЗП до собеседования" на "собеседование по Skype".


Так вот же и говорю, была уверенность, что Яндекс платит хорошо, прямых вопросов к HR не было. После отсылки резюме письмо от HR с назначением времени интервью, всё. В объяве вилки не было
Итого: час на интервью и в конце обсуждение денег.
Это к вопросу потери времени на интервью, в моём случае всего час — некритично, зато познавательно Вживую идти — это да, лучше спросить заранее.

KP>И меня тоже не существует. МКАД — он такой


Вот и поговорили
Чему бы грабли ни учили, а сердце верит в чудеса.
Re[3]: Как пройти собеседование в Яндекс
От: jazzer Россия Skype: enerjazzer
Дата: 22.03.13 01:47
Оценка: +2
Здравствуйте, Mr.Cat, Вы писали:

MC>Русская википедия — это ппц какой-то.


http://ru.wikipedia.org/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%9F%D1%80%D0%B0%D0%B2%D1%8C%D1%82%D0%B5_%D1%81%D0%BC%D0%B5%D0%BB%D0%BE
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[4]: Как пройти собеседование в Яндекс
От: Miroff Россия  
Дата: 22.03.13 03:07
Оценка:
Здравствуйте, jazzer, Вы писали:

J>http://ru.wikipedia.org/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%9F%D1%80%D0%B0%D0%B2%D1%8C%D1%82%D0%B5_%D1%81%D0%BC%D0%B5%D0%BB%D0%BE


Толку-то, если русский раздел захватили бюрократы которые откатывают правки направо и налево.
Re[6]: Как пройти собеседование в Яндекс
От: John1979  
Дата: 22.03.13 06:15
Оценка:
Здравствуйте, Antidote, Вы писали:

A>Ну типа да, но почему-то лично у меня была уверенность, что в Яндексе хорошо платят и поэтому прямых вопросов к HR не было.

а зря, спрашивать нужно всегда. увы, очень часто предположения оказываются ложными и тупо тратится время.
Re[12]: Как пройти собеседование в Яндекс
От: John1979  
Дата: 22.03.13 06:18
Оценка:
Здравствуйте, Antidote, Вы писали:


A>Это к вопросу потери времени на интервью, в моём случае всего час — некритично, зато познавательно

тут час, там час. эдак часов не напасешься
Re[6]: Как пройти собеседование в Яндекс
От: Vzhyk  
Дата: 22.03.13 08:37
Оценка:
On 22.03.2013 3:11, lpc wrote:

> А тебе видимо 15, может 16.

Так бы сразу и писал.
Posted via RSDN NNTP Server 2.1 beta
Re[7]: Как пройти собеседование в Яндекс
От: MTD https://github.com/mtrempoltsev
Дата: 22.03.13 08:50
Оценка: +1
Здравствуйте, Vzhyk, Вы писали:

>> А тебе видимо 15, может 16.

V>Так бы сразу и писал.

Увы, коллега, нельзя отфильровать сообщения по возрасту автора, поэтому приходится иногда и таких читать
Re[4]: Ответ сотрудника Яндекса
От: JazzzMaster Россия  
Дата: 01.04.13 13:05
Оценка: +1
Здравствуйте, dkotlyarov, Вы писали

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


Наличию сомнений у человека есть прекрасное объяснение в виде эффекта Даннинга-Крюгера.
Re: Как пройти собеседование в Яндекс
От: _Artem_ Россия  
Дата: 22.08.13 13:27
Оценка: 1 (1)
Здравствуйте, MTD, Вы писали:

Сегодня с ними собеседовался. Осталось такое же впечатление.
Re[2]: Как пройти собеседование в Яндекс
От: sw.engineer.spb.ru  
Дата: 22.08.13 21:54
Оценка: 3 (2)
Здравствуйте, _Artem_, Вы писали:

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


_A_>Сегодня с ними собеседовался. Осталось такое же впечатление.

Собеседовался днем раньше. В Спб офис. Впечатления положительные. Но стало понятно, что нужны люди, обладающие математической подготовкой (т.е. 1,2-й курсы (комбинаторика, теорвер) по вышке должны быть в голове). И это в принципе, для их задач справедливо. Понравилась атмосфера собеседования: ищут людей на своей волне — решаешь задачку, реально рады, не можешь — подсказывают, как только могут, но в пределах.
В итоге я не прошел, но потом, спокойно подумав, решил те задачки, те что не сумел на месте. Так что не обидно..
Re[3]: Как пройти собеседование в Яндекс
От: __kot2  
Дата: 22.08.13 22:47
Оценка:
Здравствуйте, sw.engineer.spb.ru, Вы писали:
_A_>>Сегодня с ними собеседовался. Осталось такое же впечатление.
SES>Собеседовался днем раньше. В Спб офис. Впечатления положительные. Но стало понятно, что нужны люди, обладающие математической подготовкой (т.е. 1,2-й курсы (комбинаторика, теорвер) по вышке должны быть в голове). И это в принципе, для их задач справедливо. Понравилась атмосфера собеседования: ищут людей на своей волне — решаешь задачку, реально рады, не можешь — подсказывают, как только могут, но в пределах.
SES>В итоге я не прошел, но потом, спокойно подумав, решил те задачки, те что не сумел на месте. Так что не обидно..
американскую систему, наверное, копируют.
как я недавно видел на хабрабобре буквально "готовиться к собеседованию надо не день и не неделю, а долго — год или два. и награда за это — хорошая работа".
Re[4]: Как пройти собеседование в Яндекс
От: sergey2b ЮАР  
Дата: 23.08.13 01:10
Оценка:
Здравствуйте, __kot2, Вы писали:

мне несколько дней назад на позицию системный программист в амер компании дали задачу на 2 часа поозиция на 70-75k в год

кто помнит игра трубопровод, надо на поле сделать трубу мак длинны

задание было
дано поле 20 на 20
дан набор труб в том числе и пересечение
написать алгоритм генерации трубы максимальной длинны из данны отрезков труб
Re[4]: Как пройти собеседование в Яндекс
От: alzt  
Дата: 23.08.13 09:08
Оценка: 1 (1)
Здравствуйте, lpc, Вы писали:

lpc>Никто не пишет квик сорт каждый день и все конечно же могут нагуглить готовое решение. Просто есть люди у которых мозга хватает помнить много разных алгоритмов (даже если не долгосрочно, как результат подготовки к интервью), и еще они умеют объяснить все детали этих алгоритмов и например предложить какие то улучшения-ухищрения в ходе интервью. Это совсем не обязательно студенты. Это просто люди у которых мозг это может. Вот таких людей и ищут. Потому что в некоторых компаниях работа такая, много думать над разными хитрыми задачами, а не херачать тонны классов, пусть даже с офигенным ОО дизайном — это просто другой скилл.

Вот. Т.е. главное уметь думать, а не херачить тонны кода. А ищут противоположное. Хороший разработчик часто может быть тугодумом, а может и всегда. Нет смысла спешить писать такие важные вещи как сортировка. Я предполагаю, что раз не используют стандартную, то сортировка довольно важна. Лучше всё взвесить, перерыть интернет и много книг, но затем написать отличный алгоритм. На собеседовании же проверяют набор простых задач, которые человек может решить. Здесь чем быстрее (и часто менее глубоко) человек думает, тем лучше.
Re[5]: Как пройти собеседование в Яндекс
От: Vzhyk  
Дата: 23.08.13 10:43
Оценка: +1 -1
23.08.2013 12:08, alzt пишет:

> На собеседовании же проверяют набор простых

> задач, которые человек может решить. Здесь чем быстрее (и часто менее
> глубоко) человек думает, тем лучше.
Потому что нужно здесь и вчера, а не завтра и "отличный алгоритм". Пока
ты будешь думать над отличным алгоритмом конкуренты обойдут.
Posted via RSDN NNTP Server 2.1 beta
Re[5]: Как пройти собеседование в Яндекс
От: antonio_banderas Россия  
Дата: 23.08.13 10:51
Оценка:
Здравствуйте, sergey2b, Вы писали:

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


S>мне несколько дней назад на позицию системный программист в амер компании дали задачу на 2 часа поозиция на 70-75k в год


S>кто помнит игра трубопровод, надо на поле сделать трубу мак длинны


S>задание было

S>дано поле 20 на 20
S>дан набор труб в том числе и пересечение
S>написать алгоритм генерации трубы максимальной длинны из данны отрезков труб

В том числе и пересечение это как?
Решение в лоб полным перебором со сложностью О(N^2*T!), где N это размер поля, а Т кол-во труб, годится или нет?
Re[3]: Как пройти собеседование в Яндекс
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 23.08.13 11:20
Оценка:
Здравствуйте, uzhas, Вы писали:

U>теперь передаем это значение в printf, можно усомниться как оно будет передаваться, но скорее всего в стек кладется значение 14, ведь это значение указателя (на x64 туда тоже положится 14, только много лидирующих нулей будет, то есть байт больше)

U>в итоге на экране видим 14, подозреваю, что на x64 мы увидим 0

Подозреваю, что зависит от big/little endian. На x86 все равно младшие байты идут первыми.
Re[6]: Как пройти собеседование в Яндекс
От: sergey2b ЮАР  
Дата: 23.08.13 12:05
Оценка:
Здравствуйте, antonio_banderas, Вы писали:


_>В том числе и пересечение это как?

_>Решение в лоб полным перебором со сложностью О(N^2*T!), где N это размер поля, а Т кол-во труб, годится или нет?

с одной стороны жидкость втекает
с 3 других сторон квадарата вытекает

надо не просто алгоритм, а реальнй результат для нескольких наборов что они дали
Re[4]: Как пройти собеседование в Яндекс
От: Sharov Россия  
Дата: 23.08.13 12:08
Оценка:
Здравствуйте, __kot2, Вы писали:


__>американскую систему, наверное, копируют.

__>как я недавно видел на хабрабобре буквально "готовиться к собеседованию надо не день и не неделю, а долго — год или два. и награда за это — хорошая работа".

Ну вообще-то лет пять, высшим образованием штука зовется. В идеале, конечно же.
Кодом людям нужно помогать!
Re[5]: Ответ сотрудника Яндекса
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 23.08.13 12:09
Оценка: -2
Здравствуйте, elmal, Вы писали:

E>Первый вопрос — если вас попросить внезапно без подготовки на время вывести формулу корней квадратного уравнения, доказать теорему Пифагора, а также дать определение предела — вы уверены, что ответите на это без запинки, как тогда, когда это все сдавали на экзаменах?


Мне 37 лет, но такое забыть просто невозможно, отвечается за 5 секунд на каждый вопрос.
Re[5]: Как пройти собеседование в Яндекс
От: __kot2  
Дата: 23.08.13 14:55
Оценка:
Здравствуйте, Sharov, Вы писали:
S>Здравствуйте, __kot2, Вы писали:
__>>американскую систему, наверное, копируют.
__>>как я недавно видел на хабрабобре буквально "готовиться к собеседованию надо не день и не неделю, а долго — год или два. и награда за это — хорошая работа".
S>Ну вообще-то лет пять, высшим образованием штука зовется. В идеале, конечно же.
у меня мехмат
гномиков в программе не было
Re[6]: Как пройти собеседование в Яндекс
От: Vzhyk  
Дата: 23.08.13 15:00
Оценка:
23.08.2013 17:55, __kot2 пишет:

> у меня мехмат

Вообще это вредит устройству програмером на хлебное место. Пойми
собеседователи в массе своей мехматов не кончали.

> гномиков в программе не было

А готовиться надо и именно по "гномикам".
Posted via RSDN NNTP Server 2.1 beta
Re[6]: Как пройти собеседование в Яндекс
От: Sharov Россия  
Дата: 23.08.13 15:23
Оценка:
Здравствуйте, __kot2, Вы писали:


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

__>у меня мехмат
__>гномиков в программе не было

Серьезная заявка, у меня значительно хуже.
Там по-моему людей с мехмата МГУ и физтеха берут с закрытыми глазами, нет?
Или у Вас не МГУ или СпБГУ? По профилю (Новосибирск -> Томск -> Ванкувер -> Редмонд) я понял, что нет...
Кодом людям нужно помогать!
Re[7]: Как пройти собеседование в Яндекс
От: Sharov Россия  
Дата: 23.08.13 15:26
Оценка:
Здравствуйте, Vzhyk, Вы писали:

V>Вообще это вредит устройству програмером на хлебное место. Пойми

V>собеседователи в массе своей мехматов не кончали.

В Яндексе и им подобным именно что мехматы и кончали. Еще и физтехи.
Кодом людям нужно помогать!
Re[8]: Как пройти собеседование в Яндекс
От: Vzhyk  
Дата: 23.08.13 15:34
Оценка:
23.08.2013 18:26, Sharov пишет:

> В Яндексе и им подобным именно что мехматы и кончали. Еще и физтехи.

А фпмы забыли..., кстати, а нафига яндексу ядерщики — бомбу делают?
Ну о яндексе — это особое место в РФ: "какой студент не мечтает
устроиться в Яндекс".

Лично я в постах выше не о яндексе писал (не мне его суть, по сути, как
поисковый движок — сливает гуглу полностью, остальные сервисы также,
маркет их рулит), а несколько обобщил русские собеседования.
Posted via RSDN NNTP Server 2.1 beta
Re[7]: Как пройти собеседование в Яндекс
От: Vzhyk  
Дата: 23.08.13 15:37
Оценка:
23.08.2013 18:23, Sharov пишет:

> Серьезная заявка, у меня значительно хуже.

> Там по-моему людей с мехмата МГУ и физтеха берут с закрытыми глазами, нет?
Там и более интересное не берут (надо ли) .

> Или у Вас не МГУ или СпБГУ?

Только не надо про СпБГУ — глаза б мои не видели тех студней. Про МГУ не
скажу, не знаю, не имел опыта работы.
Posted via RSDN NNTP Server 2.1 beta
Re[5]: Как пройти собеседование в Яндекс
От: MxMsk Португалия  
Дата: 23.08.13 17:03
Оценка:
Здравствуйте, Sharov, Вы писали:

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

Очень верно.
Как раз на днях на мое резюме в MS ответили, что образование не подходит
Интересно, что в предыдущие два раза всех устраивало
Re[6]: Как пройти собеседование в Яндекс
От: Sharov Россия  
Дата: 23.08.13 17:19
Оценка:
Здравствуйте, MxMsk, Вы писали:

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

MM>Очень верно.
MM>Как раз на днях на мое резюме в MS ответили, что образование не подходит
MM>Интересно, что в предыдущие два раза всех устраивало

Вот о чем и речь. Вещь наиважнейшая и кто надо, куда надо смотрит.
Но вообще говоря странновато для мс, если, конечно, речь не о ms research
Кодом людям нужно помогать!
Re[7]: Как пройти собеседование в Яндекс
От: __kot2  
Дата: 23.08.13 18:42
Оценка:
Здравствуйте, Sharov, Вы писали:
S>Серьезная заявка, у меня значительно хуже.
S>Там по-моему людей с мехмата МГУ и физтеха берут с закрытыми глазами, нет?
S>Или у Вас не МГУ или СпБГУ? По профилю (Новосибирск -> Томск -> Ванкувер -> Редмонд) я понял, что нет...
у меня НГУ — Новосибирский
Re[7]: Как пройти собеседование в Яндекс
От: __kot2  
Дата: 23.08.13 18:48
Оценка:
Здравствуйте, Vzhyk, Вы писали:
>> гномиков в программе не было
V>А готовиться надо и именно по "гномикам".
да я понял уже

вообще, конечно я встречал хороших собеседующих. в основном они меня лет хотя бы на 10 старше были. разговаривали просто "а вот как бы ты вот это сделал, а вот здесь, смотри, какие ньюансы бывают" — разговор идет на гораздо более абстрактном уровне дизайна софта вообще и с учетом некоторых ограничений или особенностей. а кто выскакивает с гномиками и просит за пять минут написать ровно то решение, которое у него есть, тут конечно сразу все понятно.
Re[6]: Как пройти собеседование в Яндекс
От: alzt  
Дата: 26.08.13 07:45
Оценка: +1
Здравствуйте, Vzhyk, Вы писали:

>> На собеседовании же проверяют набор простых

>> задач, которые человек может решить. Здесь чем быстрее (и часто менее
>> глубоко) человек думает, тем лучше.
V>Потому что нужно здесь и вчера, а не завтра и "отличный алгоритм". Пока
V>ты будешь думать над отличным алгоритмом конкуренты обойдут.
Не обойдут. На обдумывание алгоритма почти всегда есть неделя, а часто и полгода. И делать тяп-ляп за полчаса смысла никакого нет.
А обойдут они, когда реализует логику вчерашний студент, который помнит какие-то стандартные алгоритмы, но не умеет их применять.
Re[3]: Как пройти собеседование в Яндекс
От: _smit Россия  
Дата: 26.08.13 07:47
Оценка:
Здравствуйте, sw.engineer.spb.ru, Вы писали:
SES>Собеседовался днем раньше. В Спб офис. Впечатления положительные. Но стало понятно, что нужны люди, обладающие математической подготовкой (т.е. 1,2-й курсы (комбинаторика, теорвер) по вышке должны быть в голове). И это в принципе, для их задач справедливо. Понравилась атмосфера собеседования: ищут людей на своей волне — решаешь задачку, реально рады, не можешь — подсказывают, как только могут, но в пределах.
SES>В итоге я не прошел, но потом, спокойно подумав, решил те задачки, те что не сумел на месте. Так что не обидно..
С удивлением обнаружил для себя, как много отрицательных отзывов в адрес Яндекс... Выскажу своё мнение (пять копеек в копилку), что беседовал с ними (Msk), решал задачки ... Всё проходило вежливо, достойно, приветливо. Впечатления, как и у SES, остались тоже только положительные.
Re[4]: Как пройти собеседование в Яндекс
От: Antidote  
Дата: 26.08.13 23:09
Оценка:
Здравствуйте, _smit, Вы писали:

_>С удивлением обнаружил для себя, как много отрицательных отзывов в адрес Яндекс... Выскажу своё мнение (пять копеек в копилку), что беседовал с ними (Msk), решал задачки ... Всё проходило вежливо, достойно, приветливо. Впечатления, как и у SES, остались тоже только положительные.


А что удивительного, контора большая, команд много. Где-то нормально, где-то не очень
Чему бы грабли ни учили, а сердце верит в чудеса.
Re[2]: Как пройти собеседование в Яндекс
От: _Artem_ Россия  
Дата: 27.08.13 07:17
Оценка: +1
Здравствуйте, _Artem_, Вы писали:

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


_A_>Сегодня с ними собеседовался. Осталось такое же впечатление.

Прошлое собеседование было часовым. В пятницу пришел ответ, предложили следующий этап (собеседоваться по скайпу ибо нахожусь в Новосибе), 4х часовое собеседование, либо 4 собеседования по часу. Даже отвечать на такое не стал. Тем более яндекс не компания моей мечты, и собеседовался просто так, ибо работу менять не планирую.
Re[6]: Ответ сотрудника Яндекса
От: sss1024 http://microforms.mobile-mir.com/
Дата: 27.08.13 07:51
Оценка:
Здравствуйте, dkotlyarov, Вы писали:

H>>Я работаю на последнем месте почти три года, сортировку не написал ни разу. C++ конечно позволяет издеваться над кандидатами, а вот как например сделать сортировку на node.js? myArray.sort( function(item1, item2) { item1.id-item2.id; }); Любой сорт написанный на JavaScript проиграет внутреннему sort написанному на C++ кроме самых вырожденных случаев. В реальных сервисах time to market куда важнее написания собственного сорта.


D>Не поверите, но я тоже ни разу не писал сортировку по работе. Тем не менее продолжаю утверждать, что для решения определенного класса задач необходимо ЗНАТЬ алгоритмы и структуры данных, а не уметь искать их в интернете. Потому что задача обычно состоит не в том, чтобы написать еще одну реализацию сортировки, а в том, чтобы решить конкретную прикладную задачу, используя базовые алгоритмы и структуры данных как конструктор (или как источник идей).


такое впечатление что у сортировщиков какая-то общая родовая травма. Сам говоришь выше что нужны "вы хорошо знаете С++ и алгоритмы" но на спрашиваешь про сортировку которой сам же никогда не пользовался.

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


Сам-то ты подобное собеседование у такого же как ты не пройдёшь и за полчаса ничего умного не напишешь. Другие так же.
Re[3]: Как пройти собеседование в Яндекс
От: avpavlov  
Дата: 27.08.13 08:01
Оценка: +1
_A_> ... Даже отвечать на такое не стал.

Что какбэ прекрасно характеризует твои личностные качества.
Re[4]: Как пройти собеседование в Яндекс
От: _Artem_ Россия  
Дата: 27.08.13 08:23
Оценка:
Здравствуйте, avpavlov, Вы писали:


_A_>> ... Даже отвечать на такое не стал.


A>Что какбэ прекрасно характеризует твои личностные качества.

Что Вы этим хотели сказать?
Re[5]: Как пройти собеседование в Яндекс
От: avpavlov  
Дата: 27.08.13 08:35
Оценка: :)
Здравствуйте, _Artem_, Вы писали:

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



_A_>>> ... Даже отвечать на такое не стал.


A>>Что какбэ прекрасно характеризует твои личностные качества.

_A_>Что Вы этим хотели сказать?

Что ты плохой человек, негодный, потому что вместо вежливого ответа/отказа, гордо задрал нос и хвастаешься этим на форуме.
Re[6]: Как пройти собеседование в Яндекс
От: _Artem_ Россия  
Дата: 27.08.13 08:49
Оценка: :)
Здравствуйте, avpavlov, Вы писали:

A>Что ты плохой человек, негодный, потому что вместо вежливого ответа/отказа, гордо задрал нос и хвастаешься этим на форуме.

Даже отвечать не хочется...
Re[7]: Как пройти собеседование в Яндекс
От: 59hh5x  
Дата: 03.09.13 05:33
Оценка:
Распечатал все задачки из java-вакансий Яндекса. Порешал их все дома спокойно, на мой взгляд достаточно неплохо. На следующий день загрузил решения сразу для нескольких вакансий. Прошел месяц... Ни ответа, ни привета...
Re[8]: Как пройти собеседование в Яндекс
От: _Artem_ Россия  
Дата: 03.09.13 16:42
Оценка:
Здравствуйте, 59hh5x, Вы писали:

5>Распечатал все задачки из java-вакансий Яндекса. Порешал их все дома спокойно, на мой взгляд достаточно неплохо. На следующий день загрузил решения сразу для нескольких вакансий. Прошел месяц... Ни ответа, ни привета...

Ну как же, по понятиям жирного тролляумного человека avpavlov они негодные
Re: Как пройти собеседование в Яндекс
От: N.E.  
Дата: 09.01.14 10:12
Оценка:
Здравствуйте, MTD, Вы писали:

Яндекс уже не тот. Не стоит идти работать в эту компанию.
По сути — платят мало, требования очень обширные, сроки ставят всегда очень жесткие и жестокие. На выхлопе — полурабочие/нерабочие продукты.
Чего стоит Яндекс.Маркет:
1. Удаляют ВСЕ негативные отзывы о магазинах, где работают барыги или неадекватные торгаши (так как фирмы проплачивают свою репутацию и за деньги покупают некий "иммунитет" к негативным отзывам покупателей).
2. Логины/пароли часто неожиданно "теряются". Протоколирование и журналирование ошибок не ведётся.
3. Не работает синхронизация цен с магазинами. Поэтому зачастую видишь на Яндекс.Маркете одну привлекательную цену, тыркаешь на ссылку и переходишь уже в конкретный магазин и видишь там совсем другую цену (более высокую).
4. Техподдержка работает через одно плохое место.
5. Публикация новых отзывов о работе какого-либо магазина проходит через одно плохое место. Сначала надо оформить и сохранить отзыв. Затем надо писать маляву стрёмного содержания на имя главаря техподдержки (им работает весьма хитрый и мудрый Иван Васильевич Снегирёв) и прикладывать сканированные копии чеков и ОБЯЗАТЕЛЬНО фото товара (чек-то можно состряпать и в Фотошопе!). После чего залечь на дно и тихо ждать, пока отзыв соизволят проверить и опубликовать. В общем, все как на зоне.

Дальше будет только хуже. Чудес-то не бывает! Так? Так!

В общем, жестокий "бизнес" на костях покупателей и ничего личного.
Re[2]: Как пройти собеседование в Яндекс
От: Vzhyk  
Дата: 09.01.14 10:48
Оценка: +2
1/9/2014 1:12 PM, N.E. пишет:

6. Но пока у них удобная система выбора товара и много негативных
отзывов о товаре, которые позволяют сделать выбор товара.

З.Ы. Позитивные я, например, не читаю. Позитивное всегда отражено
производителем лучше и качественнее некоего интернет-пейсателя.
Posted via RSDN NNTP Server 2.1 beta
Re[7]: Как пройти собеседование в Яндекс
От: Yoriсk  
Дата: 09.01.14 11:28
Оценка: :)
Здравствуйте, _Artem_, Вы писали:

A>>Что ты плохой человек, негодный, потому что вместо вежливого ответа/отказа, гордо задрал нос и хвастаешься этим на форуме.

_A_>Даже отвечать не хочется...

А всё от того, что ты плохой человек, негодный, потому что вместо вежливого ответа avpavlov-у почему ты не любишь четырёхчасовые собеседования задираешь нос...
Re[2]: Как пройти собеседование в Яндекс
От: smeeld  
Дата: 09.01.14 12:11
Оценка:
MTD>>Отвечаю, что фигня. Что кастится двойка к указателю, что вообще бессмысленно и указатель сдвигается на sizeof(int) * 3. Спросили про приоритет операций, сказал, что смутно помню — использую скобки и всех заставляю. Посмотрели разочарованно.

SA>Указатель на int — uint вроде бы, 2^32 при компиляции в x32, результат будет uint +int = uint(5), а вот что уже с uint сделает спецификатор d, сие мне неведомо.

Тут просто вывод числа 2+sizeof(int)*3
Re[5]: Как пройти собеседование в Яндекс
От: smeeld  
Дата: 09.01.14 12:29
Оценка: 6 (1) +1
Здравствуйте, Олег К., Вы писали:

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


Яндекс-почта не раз скидывал мне в броузер куски своего C-ого кода в полях,
что говорит о многом, начиная с того, что компилят с -g. Жаль не сохранял скиншоты,
сейчас бы вместе посмеялись.
Re[8]: Как пройти собеседование в Яндекс
От: smeeld  
Дата: 09.01.14 12:42
Оценка: 2 (1)
Здравствуйте, kaa.python, Вы писали:

Здесь точно выложено, что им нужно

http://habrahabr.ru/company/yandex/blog/206234/#comment_7104756
Re[4]: Как пройти собеседование в Яндекс
От: smeeld  
Дата: 09.01.14 12:48
Оценка:
Здравствуйте, lpc, Вы писали:


lpc>Как только данных становится больше некоторого N (или же требования к лейтенси — меньше M), никакие стандартные сортировки и поиски не работают. У нас хоть и не яндекс-гугл, но "библиотечные" функции используются разве что в тестах и при чтении конфигов на старте. В реальности же используются что то более хитрое и очень специфичное, часто двух-трех-фазное, работающее только в данном конкретном месте и случае, но за-то значительно более эффективное. В общем очень наивно думать что сортировки больше никто не пишет.


lpc>P.S.: точно такая же ботва и с коллекциями, хешпамы и хешсеты часто не подходят и надо делать какой то гибриды.


Вот здесь в точку. Если на вопрос о способах сортировки суёшь std::sort qsort-ты не кандидат в яшу.
Re[2]: Как пройти собеседование в Яндекс
От: Pzz Россия https://github.com/alexpevzner
Дата: 09.01.14 13:12
Оценка: +1 :)))
Здравствуйте, Ахмед, Вы писали:

А>К чему этот мазохизм, я не понимаю, какой смысл ходить на такие собеседования? Ты ведь прекрасно знал — что там будет.


Я вот как-то ходил на собеседование в Luxoft с целью прокатиться на монорельсе от офиса люксофта до м. ВДНХ (ну и на люксофт посмотреть, но я не собирался там работать). Выяснилось, что монорельс закрывается ранним вечером, а собеседование кончилось позже, поэтому на монорельс я не попал. В итоге, собеседованием разочарован
Re[3]: Как пройти собеседование в Яндекс
От: Pzz Россия https://github.com/alexpevzner
Дата: 09.01.14 13:14
Оценка:
Здравствуйте, uzhas, Вы писали:

U>в итоге на экране видим 14, подозреваю, что на x64 мы увидим 0


У x86 младшие байты числа лежат в памяти раньше. Поэтому если передать длинное число как более короткое, они окажутся "совместимы", в том смысле, что если значение длинного влезает в место, отведенного для короткого, то значения совпадут.
Re[3]: Как пройти собеседование в Яндекс
От: Pzz Россия https://github.com/alexpevzner
Дата: 09.01.14 13:16
Оценка:
Здравствуйте, smeeld, Вы писали:

SA>>Указатель на int — uint вроде бы, 2^32 при компиляции в x32, результат будет uint +int = uint(5), а вот что уже с uint сделает спецификатор d, сие мне неведомо.

S>Тут просто вывод числа 2+sizeof(int)*3

Вообще, нормальный компилятор в этом месте warning напечатает, что аргументы printf'а не соответствуют формату, а если он, к тому же, настроен считать предупреждения ошибками, то программа просто не соберется
Re[4]: Как пройти собеседование в Яндекс
От: smeeld  
Дата: 09.01.14 13:24
Оценка:
Здравствуйте, Pzz, Вы писали:

S>>Тут просто вывод числа 2+sizeof(int)*3


Pzz>Вообще, нормальный компилятор в этом месте warning напечатает, что аргументы printf'а не соответствуют формату, а если он, к тому же, настроен считать предупреждения ошибками, то программа просто не соберется


Запись (int*) сообщает компилятору использовать арифметику указателей. Также необходимо при присваивании
для приведения типов, но здесь этого не происходит. В том же случае записью (int*)2+3 сообщаем требование сложить на x86_64
в линуксе числа 0x0002 и 0x000E и отдать на вывод в форме decimal.
Re[5]: Как пройти собеседование в Яндекс
От: Pzz Россия https://github.com/alexpevzner
Дата: 09.01.14 13:31
Оценка:
Здравствуйте, smeeld, Вы писали:

S>Запись (int*) сообщает компилятору использовать арифметику указателей. Также необходимо при присваивании

S>для приведения типов, но здесь этого не происходит. В том же случае записью (int*)2+3 сообщаем требование сложить на x86_64
S>в линуксе числа 0x0002 и 0x000E и отдать на вывод в форме decimal.

Спасибо, я в курсе про арифметику указателей.

Однако формат %d ожидает целочисленного аргумента, а не указателя. Нормальные компиляторы про это в курсе, и умеют проверять соответствие формата printf'а переданным аргументам (в пределах разумного, конечно; если формат printf'а задается не строковым литералом, то компилятор, конечно, не сможет понять, что написано в формате, и предупрежденик выдавать не бурет).
Re[6]: Как пройти собеседование в Яндекс
От: smeeld  
Дата: 09.01.14 13:54
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Однако формат %d ожидает целочисленного аргумента, а не указателя. Нормальные компиляторы про это в курсе, и умеют проверять соответствие формата printf'а переданным аргументам (в пределах разумного, конечно; если формат printf'а задается не строковым литералом, то компилятор, конечно, не сможет понять, что написано в формате, и предупрежденик выдавать не бурет).


А число (int*)2+3 это не указатель, это просто число т.е 0x000Е.
Если int* m=(int*)2+3 то директива %d в printf("%d",m);
заставляет компилятор рассматривать m как переменную, содержащую число и выводить его.
Варнинги выводятся если задано -Wall, но вышеприведённый пример работает и выдаёт 14.
Re[7]: Как пройти собеседование в Яндекс
От: Pzz Россия https://github.com/alexpevzner
Дата: 09.01.14 14:01
Оценка:
Здравствуйте, smeeld, Вы писали:

S>А число (int*)2+3 это не указатель, это просто число т.е 0x000Е.


Выражение (int*)2+3 имеет тип "указатель на int", даже если ни в какое разумное место этот указатель не указывает.

S>Если int* m=(int*)2+3 то директива %d в printf("%d",m);

S> заставляет компилятор рассматривать m как переменную, содержащую число и выводить его.
S>Варнинги выводятся если задано -Wall, но вышеприведённый пример работает и выдаёт 14.

А что, остались еще люди, у которых не заданно -Wall? Смельчаки...
Re[8]: Как пройти собеседование в Яндекс
От: Vzhyk  
Дата: 09.01.14 14:07
Оценка:
1/9/2014 5:01 PM, Pzz пишет:

> А что, остались еще люди, у которых не заданно -Wall? Смельчаки...

Ну, логично предположить, что в означенной конторе.
Posted via RSDN NNTP Server 2.1 beta
Re[7]: Как пройти собеседование в Яндекс
От: wander  
Дата: 09.01.14 14:09
Оценка:
Здравствуйте, smeeld, Вы писали:

S>Варнинги выводятся если задано -Wall, но вышеприведённый пример работает и выдаёт 14.


Никто не спорит, что он работает. Компилятор же сравнивает типы. Потому и варнинг.
Re[7]: Как пройти собеседование в Яндекс
От: B0FEE664  
Дата: 09.01.14 14:12
Оценка:
Здравствуйте, modev, Вы писали:

M>Яндекс просто не умеет бороться с накрутками сео. Наберите в яндексе официальный сайт сапсан, сайт rzd.ru не появляется нигде, зато появляется куча помоечек-посредников, которые за приличную комиссию продают билеты.

У Яндекса Девятая ссылка на первой странице указывает сюда.
А у Гугла на первой странице этой ссылки вообще нет. Зато есть на rzd.ru.

Я бы не сказал, что Гугл лучше.
И каждый день — без права на ошибку...
Re[8]: Как пройти собеседование в Яндекс
От: smeeld  
Дата: 09.01.14 14:17
Оценка: -1
Здравствуйте, Pzz, Вы писали:

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


S>>А число (int*)2+3 это не указатель, это просто число т.е 0x000Е.


Pzz>Выражение (int*)2+3 имеет тип "указатель на int", даже если ни в какое разумное место этот указатель не указывает.

Фраза выражение имеет тип int* означает, что в нём должна применяться арифметика указателей на int,
и то, что его результат можно присваивать переменной, обьявленной ранее как int*.
Само же значение есть прежде всего число
которое вполне спокойно переваривает printf выводя его просто как занечние.
Re[7]: Ответ сотрудника Яндекса
От: B0FEE664  
Дата: 09.01.14 14:31
Оценка:
Здравствуйте, Handie, Вы писали:

H>В общем, чего и требовалось доказать. Сортировка — это способ сортировать кандидатов.

H>Вот нифига не помню как написать квик сорт или красно-черное дерево. Ни то, ни другое никогда не писал сам.

H>Более того, постепенно становлюсь противником языков с указателями, ручным управлением памяти и структурами данных основанных на указателях. Парадокс, но портировав низко и средненагруженные проекты с C++ на Node.js получили потерю производительности в 1,5-3 раза при сокращении времени девелопмента в 5-10 раз.


Это говорит лишь о том, что вы решаете принципиально другие задачи.
И каждый день — без права на ошибку...
Re[8]: Ответ сотрудника Яндекса
От: B0FEE664  
Дата: 09.01.14 14:44
Оценка:
Здравствуйте, sdf, Вы писали:

I>>Никого не хочу задеть, но очень широко распространено утверждение, что необходимо знание теоретическое тех же алгоритмов сортировки, правда применить его решительно негде.

sdf>Ну например, задача поиска первых минимальных N чисел (т.е., тех, что после сортировки будут идти первыми) в большом несортированом массиве. за O(длины массива) без N проходов по массиву. N << длины массива, массив можно модифицировать.
sdf>Для решения используется тот же подоход. что и у quicksort, но с модификациями. Задача возникает при обработке больших обьемов данных довольно часто.

А что мешает указанный несортированный массив один раз отсортировать? Отсортировать один раз и "хранить вечно".
И каждый день — без права на ошибку...
Re[9]: Как пройти собеседование в Яндекс
От: avpavlov  
Дата: 09.01.14 15:57
Оценка:
5>>Распечатал все задачки из java-вакансий Яндекса. Порешал их все дома спокойно, на мой взгляд достаточно неплохо. На следующий день загрузил решения сразу для нескольких вакансий. Прошел месяц... Ни ответа, ни привета...

_A_>Ну как же, по понятиям жирного тролляумного человека avpavlov они негодные


Ну так и есть. То, что ты и Яндекс друг друга стоите, не значит, что ты был прав
Re[9]: Как пройти собеседование в Яндекс
От: wander  
Дата: 10.01.14 05:15
Оценка:
Здравствуйте, smeeld, Вы писали:

S> Само же значение есть прежде всего число

Этого, строго говоря, никто не гарантирует. Не забываем про другие платформы и архитектуры.
Re[9]: Как пройти собеседование в Яндекс
От: wety Россия  
Дата: 10.01.14 11:33
Оценка:
Здравствуйте, Vzhyk, Вы писали:

>> А что, остались еще люди, у которых не заданно -Wall? Смельчаки...

V>Ну, логично предположить, что в означенной конторе.

А как же я? Как же так???
Если использовать jQuery, Javascript, то как узнавать о warning'ах? Это же принципиально невозможно исходя из того, что Javascript — интерпретируемый язык. Вот.
Re[10]: Как пройти собеседование в Яндекс
От: smeeld  
Дата: 10.01.14 11:54
Оценка:
Здравствуйте, wander, Вы писали:

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


S>> Само же значение есть прежде всего число

W>Этого, строго говоря, никто не гарантирует. Не забываем про другие платформы и архитектуры.

А вот об этом помним только когда рисуем на asm. Начиная с С и далее вверх,
всю грязную работу связанную с тонкостми little-endian/big-endian делает компилятор
Re[11]: Как пройти собеседование в Яндекс
От: wander  
Дата: 10.01.14 12:27
Оценка:
Здравствуйте, smeeld, Вы писали:

S>всю грязную работу связанную с тонкостми little-endian/big-endian делает компилятор


Я не об этом. Pointer==Integer — не обязано быть true.
Re[12]: Как пройти собеседование в Яндекс
От: smeeld  
Дата: 10.01.14 12:38
Оценка:
Здравствуйте, wander, Вы писали:


W>Я не об этом. Pointer==Integer — не обязано быть true.


Не понял любой Pointer-это Integer который является виртуальным/физическим адресом памяти, шинным адресом, маппингом в память порта.
Re[13]: Как пройти собеседование в Яндекс
От: wander  
Дата: 10.01.14 12:45
Оценка:
Здравствуйте, smeeld, Вы писали:

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



W>>Я не об этом. Pointer==Integer — не обязано быть true.


S>Не понял любой Pointer-это Integer который является виртуальным/физическим адресом памяти, шинным адресом, маппингом в память порта.

Способ хранения не регламентирован именно как integer. В стандарте, по крайней мере, языка.
Re[13]: Как пройти собеседование в Яндекс
От: Vzhyk  
Дата: 10.01.14 12:47
Оценка:
1/10/2014 3:38 PM, smeeld пишет:

> Не понял любой Pointer-это Integer который является

> виртуальным/физическим адресом памяти, шинным адресом, маппингом в
> память порта.
https://www.google.com/search?q=pointer+integer&amp;ie=utf-8&amp;oe=utf-8&amp;aq=t&amp;rls=org.mozilla:ru:official&amp;client=firefox-a
http://www.viva64.com/en/a/0050/

З.Ы. А вообще жесть тут последнее время.
Posted via RSDN NNTP Server 2.1 beta
Re[13]: Как пройти собеседование в Яндекс
От: wander  
Дата: 10.01.14 12:47
Оценка:
Здравствуйте, smeeld, Вы писали:

W>>Я не об этом. Pointer==Integer — не обязано быть true.


S>Не понял

Вот, кстати, нашел по теме.
Re[14]: Как пройти собеседование в Яндекс
От: smeeld  
Дата: 10.01.14 13:02
Оценка:
Здравствуйте, wander, Вы писали:

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


W>>>Я не об этом. Pointer==Integer — не обязано быть true.


S>>Не понял

W>Вот, кстати, нашел по теме.

Ну кто спорит, Вы можете определить typedef-ом свой тип/структуру, и использовать его как указатель на что-то
содержащий несколько полей и с информацией о местоположении объекта. Но в контектсе (int*)2+3 — это Integer.
Re[15]: Как пройти собеседование в Яндекс
От: wander  
Дата: 10.01.14 14:11
Оценка:
Здравствуйте, smeeld, Вы писали:

S>Ну кто спорит, Вы можете определить typedef-ом свой тип/структуру, и использовать его как указатель на что-то

S>содержащий несколько полей и с информацией о местоположении объекта. Но в контектсе (int*)2+3 — это Integer.

Не только я могу, но и по умолчанию так может быть организовано. (int*)2 — reinterpret_cast, a +3 уже происходит по всем правилам для указателей с учетом разумеется их внутреннего устройства. Соответственно что получится после обратного reinterpret_cast от получившейся суммы — зависит от реализации. Об этом и была моя ссылка.
Re[13]: Как пройти собеседование в Яндекс
От: eskimo82  
Дата: 10.01.14 18:35
Оценка: +2
S>Не понял любой Pointer-это Integer который является виртуальным/физическим адресом памяти, шинным адресом, маппингом в память порта.
Это не так. Указатель это указатель и не обязан быть чем то иным.

На вскидку, как минимум, можно вспомнить про длинные (far) адреса в архитектуре x86 — они представленны парой сегмент:смещение,
причем в далеком REALMODE один и тот же указатель мог быть представлен нескольким вариантами (база сегмента определяла имела шаг в памяти в 1 параграф (16 байт).

В реализациях языка С++ указатели на элементы класса обычно (и всегда при виртуальном наследовании) представленны в виде структуры из нескольких полей.
Re[14]: Как пройти собеседование в Яндекс
От: smeeld  
Дата: 10.01.14 20:24
Оценка:
Здравствуйте, eskimo82, Вы писали:


E>На вскидку, как минимум, можно вспомнить про длинные (far) адреса в архитектуре x86 — они представленны парой сегмент:смещение,

E>причем в далеком REALMODE один и тот же указатель мог быть представлен нескольким вариантами (база сегмента определяла имела шаг в памяти в 1 параграф (16 байт).

E>В реализациях языка С++ указатели на элементы класса обычно (и всегда при виртуальном наследовании) представленны в виде структуры из нескольких полей.


Виртуальный адрес 0xXXXXXXXX в linux абстрактная матрёшка cr3->pgd_t->pmd_t->pte_t->page->offset
Но при этом 0xXXXXXXXX+0xYYYYYYYY=0xZZZZZZZZ
Поэтому повторю, что в контексте print (int*)2+3 это просто вывод числа 14 экран.
Re[2]: Как пройти собеседование в Яндекс
От: Abalak США  
Дата: 10.01.14 23:01
Оценка: -1
Здравствуйте, N.E., Вы писали:

NE>Так? Так!


А где плюсик от wety???
Re[15]: Как пройти собеседование в Яндекс
От: dilmah США  
Дата: 10.01.14 23:24
Оценка:
S>Ну кто спорит, Вы можете определить typedef-ом свой тип/структуру, и использовать его как указатель на что-то
S>содержащий несколько полей и с информацией о местоположении объекта. Но в контектсе (int*)2+3 — это Integer.

да не только он может определить.
Компилятор может определить -- компилировать указатели в нечто сложное (например содержащее дебажную информацию).
И он (компилятор) будет прав постольку поскольку не будет нарушать стандарт и пока будет предоставлять абстрактную машину С++ удовлетворяющую стандарту.
Re[9]: Как пройти собеседование в Яндекс
От: MTD https://github.com/mtrempoltsev
Дата: 11.01.14 18:27
Оценка:
Здравствуйте, smeeld, Вы писали:

S>Здесь точно выложено, что им нужно


S>http://habrahabr.ru/company/yandex/blog/206234/#comment_7104756


Атас какой код пишут знатоки быстрой сортировки
Re[15]: Как пройти собеседование в Яндекс
От: eskimo82  
Дата: 11.01.14 20:19
Оценка:
S>Виртуальный адрес 0xXXXXXXXX в linux абстрактная матрёшка cr3->pgd_t->pmd_t->pte_t->page->offset
S>Но при этом 0xXXXXXXXX+0xYYYYYYYY=0xZZZZZZZZ

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


S>Поэтому повторю, что в контексте print (int*)2+3 это просто вывод числа 14 экран.


А здесь ты путаеш сущность и её представление. В текущих реалиях любая сущность может быть представленна как угодно — набором чисел, бит.
То, что конкретно для одной платформы представление числа и представление указателя совпали — еще ничего не означает.
Даже "контекст print" ничего не обызывает, например под DOS, вывод для far int * будет совсем другим.
Re[8]: Как пройти собеседование в Яндекс
От: eskimo82  
Дата: 11.01.14 22:26
Оценка: :)
5>Распечатал все задачки из java-вакансий Яндекса. Порешал их все дома спокойно, на мой взгляд достаточно неплохо. На следующий день загрузил решения сразу для нескольких вакансий. Прошел месяц... Ни ответа, ни привета...

Там таймер стоит. Поэтому ответа нет потому что:
— ты решал слишком долго (не стёр вчерашние кукисы)
— ты решал слишком быстро (загрузил и моментально отправил)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.