У меня нету никаких данных, чисто интуиция. Но вы можете поиграться с данными: http://jeffhuang.com/search_query_logs.html ))Berlaga wrote:Не поясните более детально?crypto5 wrote:Помоему вполне вероятен в плане запросов к яндексу. Я даже думаю где то так и есть.Berlaga wrote:И насколько вероятен такой расклад в условиях задачи? Напоминаю - это реальные данные реального популярного поиковика.crypto5 wrote:Вполне логичный, только например если в датасете окажется скажем 20 запросов с разбросом в 50%, но их общая share будет меньше скажем 0.1%, такой подход уже будет работать с большой погрешностью, и он не выдаст именно 10 самых частых запросов.Berlaga wrote:Почему в угадайку? Вполне логичный ответ.
Ну и другие вопросы из той же серии примерно. Кто соберется - имейте ввиду.
Яндекс Лабс в Palo Alto набирает С++ developers
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Яндекс Лабс в Palo Alto набирает С++ developers
In vino Veritas!
-
- Уже с Приветом
- Posts: 1008
- Joined: 24 Mar 2010 21:14
- Location: SFBA
Re: Яндекс Лабс в Palo Alto набирает С++ developers
Я где-то так и думал, спасибо.crypto5 wrote: У меня нету никаких данных, чисто интуиция.
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Яндекс Лабс в Palo Alto набирает С++ developers
Ну а ваши какие мысли по этому поводу? Почему вы думаете что мой вариант неправилен, если так действительно думаете?
In vino Veritas!
-
- Уже с Приветом
- Posts: 1008
- Joined: 24 Mar 2010 21:14
- Location: SFBA
Re: Яндекс Лабс в Palo Alto набирает С++ developers
Кстати, только сейчас заметил, что они перебрались в ПА. Я еще в Burlingame ездил, они там тогда были.
-
- Уже с Приветом
- Posts: 8628
- Joined: 22 Mar 2011 01:40
Re: Яндекс Лабс в Palo Alto набирает С++ developers
1) Распараллелить на N процессов - обычно речь идет о часовых лог файлах на тысячах серверов, которыеBerlaga wrote:Из вопросов на интервью был, например, такой -
Имеется массив случайных запросов за день, очень большой, миллиарды записей. Выбрать 10 самых популярных запросов.
а) можно обрабатывать прямо "с" сервера (пока данный часовой лог файл не "украл" log harverster
b) если уже украл, то тогда "с" log harversting serverа.
При этом клиентов с разных клиентских машин может быть до фига (в нашем случае N)
2) Для каждого из процессов: пропарсить методом external sorting, так что бы на выходе был мап, где ключем был запрос, значением количество появлений
2а) Возможно (!) предварительно пропарсить файлы, так что бы убрать лишние данные
Результатом этого шага будет некоторое количество дайтасетов с уникальными данными в каждом из которых будет мап {url, num)
3) произвести "склейку" со всех клиентских машин / процессов занятых в обработке, так что бы получить "склеенный" хаш, в котором количество попаданий одинакового URL сложится с разных клиентов. Возможно так же сделать методом экстернал сортинга.
Почему нельзя отобрать из предыдущих дайтасетов топ 10 записей и склеивать только их. Мы может оказаться с ситуации, когда на 11 позиции будте запрос "z" количеством 1, ноз ато везде. таким образом мы отберем запрос "а" количеством 100, но упустим "z". Но "а" есть только в одном месте, а "z" везде. Таким образом прийдется склеивать все.
На выходе будет какое-то количество уникалных мапов {url, num}
4) читая топы каждого дайтасета экстернал сортинга, пропускать мелочевку, таким образом что бы выбрать 10 самых крупных.
Last edited by Леонид Ильич Брежнев on 23 Jan 2014 09:26, edited 1 time in total.
-
- Уже с Приветом
- Posts: 1008
- Joined: 24 Mar 2010 21:14
- Location: SFBA
Re: Яндекс Лабс в Palo Alto набирает С++ developers
Потому что не вижу причин вашему варианту быть правильным. И вы их тоже не видите, о чем я и уточнил. Интуиция - не слишком убедительная причина.crypto5 wrote:Ну а ваши какие мысли по этому поводу? Почему вы думаете что мой вариант неправилен, если так действительно думаете?
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Яндекс Лабс в Palo Alto набирает С++ developers
Всмысле, это как раз предложенное мной решение выдает абсолютно точный и достоверный результат, а ваше зависит от множества параметров.Berlaga wrote:Потому что не вижу причин вашему варианту быть правильным. И вы их тоже не видите, о чем я и уточнил. Интуиция - не слишком убедительная причина.crypto5 wrote:Ну а ваши какие мысли по этому поводу? Почему вы думаете что мой вариант неправилен, если так действительно думаете?
In vino Veritas!
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Яндекс Лабс в Palo Alto набирает С++ developers
Буржуй.crypto5 wrote:кошелек у меня тоже толстый
-
- Уже с Приветом
- Posts: 1008
- Joined: 24 Mar 2010 21:14
- Location: SFBA
Re: Яндекс Лабс в Palo Alto набирает С++ developers
Пардон, я не о решении, а о вашем предположении "если в датасете окажется скажем 20 запросов с разбросом в 50%, но их общая share будет меньше скажем 0.1%, такой подход уже будет работать с большой погрешностью, и он не выдаст именно 10 самых частых запросов." Мне такой расклад не кажется сколько нибудь вероятным на реальных данных.crypto5 wrote:Всмысле, это как раз предложенное мной решение выдает абсолютно точный и достоверный результат, а ваше зависит от множества параметров.Berlaga wrote:Потому что не вижу причин вашему варианту быть правильным. И вы их тоже не видите, о чем я и уточнил. Интуиция - не слишком убедительная причина.crypto5 wrote:Ну а ваши какие мысли по этому поводу? Почему вы думаете что мой вариант неправилен, если так действительно думаете?
-
- Уже с Приветом
- Posts: 8628
- Joined: 22 Mar 2011 01:40
Re: Яндекс Лабс в Palo Alto набирает С++ developers
Добавил небольшие лингвестические добавки и пояснения выше.
-
- Уже с Приветом
- Posts: 18862
- Joined: 30 Aug 2001 09:01
- Location: 3rd planet
Re: Яндекс Лабс в Palo Alto набирает С++ developers
+1. Имхо, решается с помощью оптимизированных так или иначе префиксных деревьев (что Стенкинг выдал), причем в реале, я так понимаю, конторы типа гугла/яндекса/бинга скорее всего формируют и апдейтят это дерево в реальном времени с каким то отсечением по времени.scorpion wrote:Задача, если мне не изменяет склероз, модификация "стандартной", удалите(найдите) дубликаты строк из ну очень большого и несортированного массива. И в зависимости от положения звезд на небе, сделать это надо с имеющимися ограничениями по объему используемой памяти или времени, или того и другого одновременно, или как-нибудь, но с "изюминкой", например, в одну строчку.crypto5 wrote:Задача не очень точно поставлена...
Хорошая задача, в биоинформатике при анализе последовательностей ДНК во всю используется.
ЗЫ Я бы сходу не написал, смог бы только рассказать обшие принципы.
Тупизна как Энтропия. Неумолимо растет.
-
- Уже с Приветом
- Posts: 150
- Joined: 18 May 2012 20:00
Re: Яндекс Лабс в Palo Alto набирает С++ developers
Berlaga wrote:Что провалил, конечно! Мне у них очень понравилось.Интеррапт wrote:Жалете о чем? Что провалили или что пошли туда?Berlaga wrote:Я там был 3 года назад, интервью на русском. Провалил. Жалею до сих пор.Sergunka wrote:Народ кому не влом сходите - расскажите. Интересно интервью на русском можно будет проходить?
Из вопросов на интервью был, например, такой -
Имеется массив случайных запросов за день, очень большой, миллиарды записей. Выбрать 10 самых популярных запросов.
MRU cache.
-
- Уже с Приветом
- Posts: 150
- Joined: 18 May 2012 20:00
Re: Яндекс Лабс в Palo Alto набирает С++ developers
neuzheli nikto ne znal???
-
- Уже с Приветом
- Posts: 18862
- Joined: 30 Aug 2001 09:01
- Location: 3rd planet
Re: Яндекс Лабс в Palo Alto набирает С++ developers
При чем тут MRU? Нужно не последние, а наиболее популярные...
Тупизна как Энтропия. Неумолимо растет.
-
- Уже с Приветом
- Posts: 19041
- Joined: 11 Jan 2012 09:25
- Location: CA
Re: Яндекс Лабс в Palo Alto набирает С++ developers
Руки вчера не дошли уточнить sorrydotcom wrote:По рассказу знакомого знакомого, который там работает, интервью по-русски. У них подобие гуглового интервью. Вобще вакансии в их research висят уже года два.Sergunka wrote:Народ кому не влом сходите - расскажите. Интересно интервью на русском можно будет проходить?
Полный пост такой
Писать ему.Набираем С++ девелоперов в Yandex Labs (Palo Alto, CA), развивать поисковые технологии компании Яндекс . Если интересно - напишите мне сообщение. Спасибо.
https://www.youtube.com/watch?v=wOwblaKmyVw
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Яндекс Лабс в Palo Alto набирает С++ developers
Но MFU кеш нормальное решение - лучше семплингов и кластеризацийBoriskin wrote:При чем тут MRU? Нужно не последние, а наиболее популярные...
In vino Veritas!
-
- Уже с Приветом
- Posts: 18862
- Joined: 30 Aug 2001 09:01
- Location: 3rd planet
Re: Яндекс Лабс в Palo Alto набирает С++ developers
MFU эт не MRU, хотя если опечатка - тогда другое дело.
Опять же, если сие использовать для request completion/suggestions - то кэш не лечит.
Опять же, если сие использовать для request completion/suggestions - то кэш не лечит.
Тупизна как Энтропия. Неумолимо растет.
-
- Уже с Приветом
- Posts: 150
- Joined: 18 May 2012 20:00
Re: Яндекс Лабс в Palo Alto набирает С++ developers
da vsegda putausj v etih abbreviations. lru, mru, mfu.
linked list + hash table koroche.
linked list + hash table koroche.
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Яндекс Лабс в Palo Alto набирает С++ developers
Список и таблица это LRU обычно. Не совсем понятно как так можно MFU запрограммировать.mr boombastic wrote:da vsegda putausj v etih abbreviations. lru, mru, mfu.
linked list + hash table koroche.
In vino Veritas!
-
- Уже с Приветом
- Posts: 4435
- Joined: 13 Feb 2002 10:01
- Location: Bay Area
Re: Яндекс Лабс в Palo Alto набирает С++ developers
Проблема в том, что записей миллиард. Охренеет ваша hash table.mr boombastic wrote:da vsegda putausj v etih abbreviations. lru, mru, mfu.
linked list + hash table koroche.
-
- Уже с Приветом
- Posts: 4637
- Joined: 24 Oct 2009 01:38
- Location: Chicago ;-) -> SFBA!
Re: Яндекс Лабс в Palo Alto набирает С++ developers
Ну суть кеша ведь не в том что бы в нем абсолютно все записи держать.oshibka_residenta wrote:Проблема в том, что записей миллиард. Охренеет ваша hash table.mr boombastic wrote:da vsegda putausj v etih abbreviations. lru, mru, mfu.
linked list + hash table koroche.
In vino Veritas!
-
- Уже с Приветом
- Posts: 14407
- Joined: 26 May 2006 02:39
Re: Яндекс Лабс в Palo Alto набирает С++ developers
Всё равно логика на моей стороне. Только женатые люди могут себе позволить мen's рurse а учитывая что вы работаете в гугле то логично было предположить что вы неженатый гикcrypto5 wrote: Все мимо, связка ключей у меня большая - квартира два ключа, спортзал местный, велосипед, машина, телефон тоже большой нексус5, кошелек у меня тоже толстый, поэтому что бы не забивать карманы барахлом я с сумкой через плечо все время хожу, где это все и держу ))
А в кармане держу бейдж иногда ))
Бога нет.
-
- Уже с Приветом
- Posts: 150
- Joined: 18 May 2012 20:00
Re: Яндекс Лабс в Palo Alto набирает С++ developers
max capacity = 10. a elementy dvigat'/udalyat' po opredelennym pravilamcrypto5 wrote:Ну суть кеша ведь не в том что бы в нем абсолютно все записи держать.oshibka_residenta wrote:Проблема в том, что записей миллиард. Охренеет ваша hash table.mr boombastic wrote:da vsegda putausj v etih abbreviations. lru, mru, mfu.
linked list + hash table koroche.
-
- Уже с Приветом
- Posts: 9035
- Joined: 25 Oct 2011 19:02
- Location: SVO->ORD->SFO
Re: Яндекс Лабс в Palo Alto набирает С++ developers
Крут мужик. Что он в Яндексе делает после академии Playboy'я?Сабина wrote:
Писать ему.
-
- Уже с Приветом
- Posts: 9035
- Joined: 25 Oct 2011 19:02
- Location: SVO->ORD->SFO
Re: Яндекс Лабс в Palo Alto набирает С++ developers
Поиск слова естественно с trie решается. Только задач тут несколько. Начнем с того, что запросы не из одного слова состоят.Boriskin wrote: +1. Имхо, решается с помощью оптимизированных так или иначе префиксных деревьев (что Стенкинг выдал), причем в реале, я так понимаю, конторы типа гугла/яндекса/бинга скорее всего формируют и апдейтят это дерево в реальном времени с каким то отсечением по времени.