Re[6]: Кстати, про Гугель
От: 0xCAFEDEAD  
Дата: 05.11.18 22:58
Оценка: +1 :))
Здравствуйте, El Camino Real, Вы писали:

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


CC>>В больших компаниях совсем без предварительно поговорить с кучей народа не берут вообще никого.

ECR>Очень редко, но берут. Знаю точно про яблочников и гугль. Но там были спецы уровня "извините, а почему вы спрашиваете у меня вопросы из моей же книги?".

Они с кучей народа уже заочно поговорили, все соглачны. Несогласные уволены
Re[4]: Кстати, про Гугель
От: CoderMonkey  
Дата: 05.11.18 23:56
Оценка: :))
Здравствуйте, lintik, Вы писали:

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


radix sort прекрасно применим в любых случаях, где применим любой другой алгоритм сортировки. Признавайся — ты HR?

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


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

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

L>Я думал, что за последние 10-15 лет все уже выяснили, что телефонный скрининг это просто проверка на адекватность. Не нужно "блистать", нужно просто стандартно и правильно отвечать на задаваемые стандартные вопросы. Если интервьюер захочет деталей и нюансов, он всегда задаст follow up по более продвинутым темам.

Ключевые слова — "стандартный", "ожидаемый", "ты чо самый умный чё ли?"
Ой, это кажется музыкой навеяло.

L>Кроме этого, нужно помнить что на стадии телефонного интервью, вы в Google заинтересованы гораздо больше чем они в вас. Поэтому вы должны давать на этой стадии ожидаемые ответы, а не собеседующий из вас вытаскивать детали.


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

L>P.S. Мне кажется что у людей которым позвонили из Google, Amazon, Facebook и т.п. складывается какое-то странное мнение о собственной исключительности и о том, что офер практически у них в кармане, осталось только согласиться.


Телепатия у тебя сбойнула.
Re[2]: Кстати, про Гугель
От: CoderMonkey  
Дата: 05.11.18 23:58
Оценка:
Здравствуйте, 0xCAFEDEAD, Вы писали:

CAF>А как то определил, молчание недоуменно-возмущенное??? Он вообще ничего не сказал? Мычал?

CAF>Может полез в инет проверять или связб отключилась? Или ты вызвал сбой в программе биоробота?

Недовольно пробурчал что-то в духе "очень интересно".

CAF>Ну ты напиши, каков итог. Может ты просто прошел этот тур досрочно


Сказал "позвоню завтра". Не позвонил.
Re[3]: Кстати, про Гугель
От: 0xCAFEDEAD  
Дата: 06.11.18 00:02
Оценка:
Здравствуйте, CoderMonkey, Вы писали:

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


CAF>>А как то определил, молчание недоуменно-возмущенное??? Он вообще ничего не сказал? Мычал?

CAF>>Может полез в инет проверять или связб отключилась? Или ты вызвал сбой в программе биоробота?

CM>Недовольно пробурчал что-то в духе "очень интересно".


Значит сбой в программе.

CAF>>Ну ты напиши, каков итог. Может ты просто прошел этот тур досрочно


CM>Сказал "позвоню завтра". Не позвонил.


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

А что группа, направление?
Re[4]: Кстати, про Гугель
От: CoderMonkey  
Дата: 06.11.18 01:40
Оценка:
Здравствуйте, 0xCAFEDEAD, Вы писали:

CAF>Вообще странно. Крупные конторы людей обычно собеседуют пачками, готовы к разнообразным ответам, и развести ля-ля по любому поводу.


CAF>А что группа, направление?


По моему — ничего странного, кадровики всегда так делают
Site Reliability Engineering или что-то типа того.
Re[5]: Кстати, про Гугель
От: Тёмчик Австралия жж
Дата: 06.11.18 01:55
Оценка: :))
Здравствуйте, CoderMonkey, Вы писали:

CM>radix sort прекрасно применим в любых случаях, где применим любой другой алгоритм сортировки.

Вам дали файл JSON 120Gb, у вас 8gb памяти в системе, нужно сортировать по произвольному полю, построчно в порядке возрастания. Как будете сортировать radix sort-м?
Re[6]: Кстати, про Гугель
От: CoderMonkey  
Дата: 06.11.18 02:10
Оценка: +1
Здравствуйте, Тёмчик, Вы писали:

Тё>Вам дали файл JSON 120Gb, у вас 8gb памяти в системе, нужно сортировать по произвольному полю, построчно в порядке возрастания. Как будете сортировать radix sort-м?


Для начала — сортировать что? Что значит "построчно"?
Re[7]: Кстати, про Гугель
От: Тёмчик Австралия жж
Дата: 06.11.18 02:17
Оценка: :)
Здравствуйте, CoderMonkey, Вы писали:

Тё>>Вам дали файл JSON 120Gb, у вас 8gb памяти в системе, нужно сортировать по произвольному полю, построчно в порядке возрастания. Как будете сортировать radix sort-м?


CM>Для начала — сортировать что? Что значит "построчно"?

Что непонятно? "построчно" имеется в виду, результат удовлетворяет условию что strcmp(r[n-1].field, r[n].field) >= 0 для всех n 1..N-1.
Re[8]: Кстати, про Гугель
От: CoderMonkey  
Дата: 06.11.18 02:21
Оценка: +1
Здравствуйте, Тёмчик, Вы писали:

Тё>Что непонятно? "построчно" имеется в виду, результат удовлетворяет условию что strcmp(r[n-1].field, r[n].field) >= 0 для всех n 1..N-1.


Непонятно — что конкретно сортировать? У тебя есть файл JSON, а в нем что?
Re: Кстати, про Гугель
От: ylp  
Дата: 06.11.18 02:30
Оценка: 2 (1) -2 :)
Здравствуйте, CoderMonkey, Вы писали:

CM>Имел собеседование со "специалистом" из Гугла. На вопрос "какова лучшая сложность для алгоритмов сортировки", ответил ему, что O(n).


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

Я попробую включить тепелата и предположить что в вопросе упоминались алгоритмы сортировки, сравнивающие элементы попарно. Для этих алгоритмов есть математическое доказательство того, что лучше чем в O(NLogN) они работать не могут, это видимо и был предполагаемый ответ на вопрос. А объяснять это вам не стали, потому что целью собеседующего не является вас просвещать.
Re[2]: Кстати, про Гугель
От: CoderMonkey  
Дата: 06.11.18 02:45
Оценка: :)
Здравствуйте, ylp, Вы писали:

ylp>А вопрос точно был задан как "Какова лучшая сложность алгоритмов сортировки"? Потому что он сам по себе сфрмулирован неточно и ответ "у них сложность O(n)" выдает в отвечающем неадеквата, который дает конкретный ответ на нечетко сформулированый вопрос, подразумевающий уточнение вопроса перед ответом.


Гениально, просто гениально. Рекрутер?
Я тебе задам уточняющий вопрос. Какие другие осмысленные варианты "лучшей сложности алгоритма" ты знаешь, кроме этой?

ylp>Я попробую включить тепелата и предположить что в вопросе упоминались алгоритмы сортировки, сравнивающие элементы попарно.


Нет, не упомянались.
Re[3]: Кстати, про Гугель
От: ylp  
Дата: 06.11.18 02:55
Оценка: -2 :)
Здравствуйте, CoderMonkey, Вы писали:

CM>Гениально, просто гениально. Рекрутер?

не-а, собеседующий. Нет, не из гугла

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

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

ylp>>Я попробую включить тепелата и предположить что в вопросе упоминались алгоритмы сортировки, сравнивающие элементы попарно.

CM>Нет, не упомянались.
а, ну значит он сформулирован был так, чтобы сразу на него отвечали только неадекватные люди
Re[4]: Кстати, про Гугель
От: CoderMonkey  
Дата: 06.11.18 03:00
Оценка: :)
Здравствуйте, ylp, Вы писали:

ylp>не-а, собеседующий. Нет, не из гугла


Сочувствую твоим коллегам.

ylp>Потому что есть алгоритмы сортировки, сортирующие массив из N чисел за O(logN)


Да правда что ли? И где же есть такой волшебный алгоритм?

ylp>а, ну значит он сформулирован был так, чтобы сразу на него отвечали только неадекватные люди


Всякого бреда я насмотрелся, но ты бьешь буквально все рекорды.
Re[9]: Кстати, про Гугель
От: Тёмчик Австралия жж
Дата: 06.11.18 03:06
Оценка: :)
Здравствуйте, CoderMonkey, Вы писали:

Тё>>Что непонятно? "построчно" имеется в виду, результат удовлетворяет условию что strcmp(r[n-1].field, r[n].field) >= 0 для всех n 1..N-1.


CM>Непонятно — что конкретно сортировать? У тебя есть файл JSON, а в нем что?

В каждой записи есть некое поле field1, field2 ..., дается произвольное поле (скажем fieldCoderMonkey) и по нему сортировать.
Re[5]: Кстати, про Гугель
От: ylp  
Дата: 06.11.18 03:08
Оценка: -2 :)
Здравствуйте, CoderMonkey, Вы писали:

ylp>>Потому что есть алгоритмы сортировки, сортирующие массив из N чисел за O(logN)

CM>Да правда что ли? И где же есть такой волшебный алгоритм?
в разделе "сортирующие сети" и "параллельные вычисления". Могу, правда, ошибаться и там будет квадрат логарифма от размера массива, а не логарифм размера массива.
Эти алгоритмы работают не сравнивая попарно элементы, а обрабатывая весь массив целиком (т.е. предполагается не стандартная фон-неймановкая архитектура, а другая модель вычислений). На практике такого полно — GPU, ASIC и т. д.

ylp>>а, ну значит он сформулирован был так, чтобы сразу на него отвечали только неадекватные люди

CM>Всякого бреда я насмотрелся, но ты бьешь буквально все рекорды.
и вам не хворать!
Re[6]: Кстати, про Гугель
От: CoderMonkey  
Дата: 06.11.18 03:24
Оценка: +1 :)
Здравствуйте, ylp, Вы писали:

ylp>в разделе "сортирующие сети" и "параллельные вычисления". Могу, правда, ошибаться и там будет квадрат логарифма от размера массива, а не логарифм размера массива.

ylp>Эти алгоритмы работают не сравнивая попарно элементы, а обрабатывая весь массив целиком (т.е. предполагается не стандартная фон-неймановкая архитектура, а другая модель вычислений). На практике такого полно — GPU, ASIC и т. д.


1. Если ты разобьешь алгоритм на несколько ядер или других вычислительных элементов, то количество операций от этого не уменьшится — уменьшится только время выполнения. Соответственно, величина О-фактора останется абсолютно той же.
2. Отсортировать массив, не сравнив каждый элемент с каким-либо другим как минимум раз — невозможно.
3. Размер любого ASIC или GPU ограничен, а это значит, что и логарифмического времени там тоже не будет — будет оно все равно линейным
Звон ты где-то услышал, но смысл — вообще не понял.
Re[10]: Кстати, про Гугель
От: CoderMonkey  
Дата: 06.11.18 03:26
Оценка:
Здравствуйте, Тёмчик, Вы писали:

Тё>В каждой записи есть некое поле field1, field2 ..., дается произвольное поле (скажем fieldCoderMonkey) и по нему сортировать.


Что из себя представляет запись? Это атрибут, элемент в массиве, что-то еще?
Re[7]: Кстати, про Гугель
От: ylp  
Дата: 06.11.18 03:33
Оценка: +1 -2 :)
Здравствуйте, CoderMonkey, Вы писали:

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


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

> Соответственно, величина О-фактора останется абсолютно той же.
о, пошли философские разговоры. Люблю такое. Что такое "О-фактор", расскажИте? А то у меня тут общепринятое понимание — оно про время выполнения и про дополнительную память

CM>2. Отсортировать массив, не сравнив каждый элемент с каким-либо другим как минимум раз — невозможно.

гениально, браво, спасибо. КО! Если сравнивать элементы массива не по два за один шаг алгоритма, а параллельно группами, можно успеть сделать сравнения быстрее, улавливаете?

CM>3. Размер любого ASIC или GPU ограничен, а это значит, что и логарифмического времени там тоже не будет — будет оно все равно линейным

CM>Звон ты где-то услышал, но смысл — вообще не понял.
я смотрю, вам нравится выставлять себя идиотом. продолжим: https://en.wikipedia.org/wiki/Batcher_odd%E2%80%93even_mergesort

Worst-case performance {O(log^{2}(n))} parallel time

Отредактировано 06.11.2018 3:37 ylp . Предыдущая версия .
Re[7]: Кстати, про Гугель
От: denisko http://sdeniskos.blogspot.com/
Дата: 06.11.18 03:54
Оценка: :))) :))) :))) :)
Здравствуйте, mgu, Вы писали:

mgu>Здравствуйте, The Passenger, Вы писали:


TP>>бодрым уверенным голосом рассказываете все на пальцах как дебилу ... это только умных оскорбляет а дебилы это любят


mgu>Когда меня впервые спросили про лучшую сортировку (их как раз канонизировали, а я не следил за новостями вселенских соборов), то я искренне ответил: "домЕнная". Слив был засчитан -- не спрашивать же, что это такое? Так что можно смело называть алгоритм Гогенфишмана-Макакагавы и получать три раза ку.

Мы для этой цели придумали куст Лапласа. Применяется в контексте "Ну как же можно не знать таких простых вещей как куст лапласа" или "Или ну этот алгоритм сводится к правильному использованию куста лапласа" к людям которые любят именами разбрасываться. Что интересно почти ссегда работает. Чтобы вызывать у пациента смутное подозрение, что его развели, можно в конце разговора упомянуть пень гамильтона.
<Подпись удалена модератором>
Re[8]: Кстати, про Гугель
От: CoderMonkey  
Дата: 06.11.18 03:54
Оценка: :))
Здравствуйте, ylp, Вы писали:

ylp>о, пошли философские разговоры. Люблю такое. Что такое "О-фактор", расскажИте? А то у меня тут общепринятое понимание — оно про время выполнения и про дополнительную память


Общепринятое понимание — про число операций и память.

ylp>гениально, браво, спасибо. КО! Если сравнивать элементы массива не по два за один шаг алгоритма, а параллельно группами, можно успеть сделать сравнения быстрее, улавливаете?


И вместо C1 * O(N) ты получишь C2 * O(N), где C2 < C1
Улавливаешь?

ylp>я смотрю, вам нравится выставлять себя идиотом. продолжим: https://en.wikipedia.org/wiki/Batcher_odd%E2%80%93even_mergesort


Объясняю на пальцах, для самых тупых. Бесконечно больших сортирующих сетей — не бывает.
Всё еще непонятно, нужно разжевать получше?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.