Re[9]: Ох уж этот Яндекс...
От: Тёмчик Австралия жж
Дата: 16.05.18 23:00
Оценка:
Здравствуйте, Pzz, Вы писали:

Тё>>Очевидно, когда промежуточные результаты выборки не влезают в память, используется merge join. Когда невозможно использовать ключик (его нет или условие с wildcard не позволяет использовать ключ)- решается перебором. Я совсем не разбираюсь в кишках БД, а Вы?


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

Откуда взялось дерево поиска?


Pzz> Поэтому умная БД проанализирует условие на предмет, как его выгоднее исполнять. Так же очевидно, что сам по себе этот анализ чего-то стоит, поэтому умная БД, однажды проанализировав, запомнит результаты анализа на будущее.

Вы напоминаете мне евангелистов C#. Которые в начале 2000х в религиозном экстазе утверждали, что умный .net сделает из p-кода исполняемый код, который заточенный под проц, на любой архитектуре, и исполнит его быстрей чем скомпилированный из C++ код. Нет серебрянной пули.


Pzz>Способ хранения данных на внешнем носителе добавляет свои нюансы, потому что со внешнего носителя сильно быстрее читать данные большой струей последовательно, чем собирать по раскинутым туда-сюда кусочкам. К SSD это тоже относится, хотя и в меньшей степени.

Сударь, вы слово "структуры данных" слышали? Так вот, от того, какая структура использована для ключей- такой будет поиск. Какая структура лучше подойдет- зависит от запроса и того, что в данных.

Pzz>В БД я понимаю чуть более, чем ничего.

ок.
Re[3]: Способ мести.
От: Handie  
Дата: 17.05.18 07:15
Оценка: :))
S>>Придумал способ мести -- https://yandex.ru/promo/jobs/blitz/2018
K>Лучший способ мести Я это не пользоваться продуктами Я и агитировать дургих не делать этого, либо разработать конкурента продукту Я.

И запретить Яндексу писать в свой горшок. Санкции должны быть суровыми
Re[10]: Ох уж этот Яндекс...
От: Pzz Россия https://github.com/alexpevzner
Дата: 17.05.18 07:50
Оценка:
Здравствуйте, Тёмчик, Вы писали:

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

Тё>Откуда взялось дерево поиска?

Потому что индекс в базе данных — это либо хеш-таблица, либо дерево поиска.

Pzz>> Поэтому умная БД проанализирует условие на предмет, как его выгоднее исполнять. Так же очевидно, что сам по себе этот анализ чего-то стоит, поэтому умная БД, однажды проанализировав, запомнит результаты анализа на будущее.

Тё>Вы напоминаете мне евангелистов C#. Которые в начале 2000х в религиозном экстазе утверждали, что умный .net сделает из p-кода исполняемый код, который заточенный под проц, на любой архитектуре, и исполнит его быстрей чем скомпилированный из C++ код. Нет серебрянной пули.

В отличии от C# vs C++, база данных не предоставляет способа программировать ее на низком уровне.

Pzz>>Способ хранения данных на внешнем носителе добавляет свои нюансы, потому что со внешнего носителя сильно быстрее читать данные большой струей последовательно, чем собирать по раскинутым туда-сюда кусочкам. К SSD это тоже относится, хотя и в меньшей степени.

Тё>Сударь, вы слово "структуры данных" слышали? Так вот, от того, какая структура использована для ключей- такой будет поиск. Какая структура лучше подойдет- зависит от запроса и того, что в данных.

Фраза не о чем, а термин "структура данных" обозначает не то, что вы думаете.
Re[11]: Ох уж этот Яндекс...
От: Sharov Россия  
Дата: 17.05.18 08:47
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>В отличии от C# vs C++, база данных не предоставляет способа программировать ее на низком уровне.


Ну почему же, можно по разному составлять запрос или хинты(?) какие-нибудь. Т.е. запрос будет выполняться по-разному, в зависимости от. Будут использованы другие структру+алгоритмы поиска и т.д.
Вполне себе низкоуровнево.
Кодом людям нужно помогать!
Re[12]: Ох уж этот Яндекс...
От: Pzz Россия https://github.com/alexpevzner
Дата: 17.05.18 09:23
Оценка:
Здравствуйте, Sharov, Вы писали:

Pzz>>В отличии от C# vs C++, база данных не предоставляет способа программировать ее на низком уровне.


S>Ну почему же, можно по разному составлять запрос или хинты(?) какие-нибудь. Т.е. запрос будет выполняться по-разному, в зависимости от. Будут использованы другие структру+алгоритмы поиска и т.д.

S>Вполне себе низкоуровнево.

А какие есть хинты в, скажем, SQL'е?
Re[13]: Ох уж этот Яндекс...
От: Sharov Россия  
Дата: 17.05.18 09:36
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>А какие есть хинты в, скажем, SQL'е?


Хе-хе, никаких, конечно. Но кто plain sql пользуется. Опять же, запрос можно составить по разному, в зависимости от.
Кодом людям нужно помогать!
Re[4]: Способ мести.
От: Gattaka Россия  
Дата: 17.05.18 16:58
Оценка:
Здравствуйте, Handie, Вы писали:


S>>>Придумал способ мести -- https://yandex.ru/promo/jobs/blitz/2018

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

H>И запретить Яндексу писать в свой горшок. Санкции должны быть суровыми

А у вас есть горшок свой?
Re[11]: Ох уж этот Яндекс...
От: Тёмчик Австралия жж
Дата: 17.05.18 23:44
Оценка:
Здравствуйте, Pzz, Вы писали:

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

Тё>>Откуда взялось дерево поиска?

Pzz>Потому что индекс в базе данных — это либо хеш-таблица, либо дерево поиска.

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

Pzz>>> Поэтому умная БД проанализирует условие на предмет, как его выгоднее исполнять. Так же очевидно, что сам по себе этот анализ чего-то стоит, поэтому умная БД, однажды проанализировав, запомнит результаты анализа на будущее.

Тё>>Вы напоминаете мне евангелистов C#. Которые в начале 2000х в религиозном экстазе утверждали, что умный .net сделает из p-кода исполняемый код, который заточенный под проц, на любой архитектуре, и исполнит его быстрей чем скомпилированный из C++ код. Нет серебрянной пули.

Pzz>В отличии от C# vs C++, база данных не предоставляет способа программировать ее на низком уровне.


Pzz>>>Способ хранения данных на внешнем носителе добавляет свои нюансы, потому что со внешнего носителя сильно быстрее читать данные большой струей последовательно, чем собирать по раскинутым туда-сюда кусочкам. К SSD это тоже относится, хотя и в меньшей степени.


Тё>>Сударь, вы слово "структуры данных" слышали? Так вот, от того, какая структура использована для ключей- такой будет поиск. Какая структура лучше подойдет- зависит от запроса и того, что в данных.


Pzz>Фраза не о чем, а термин "структура данных" обозначает не то, что вы думаете.

Сударь, эта ваша фраза намекает на степень знакомства с структурами данных и алгоритмами сортировки, типичную для C# программиста. А к примеру, java программисты, в среднем по больнице, имеют какое-то практическое представление об алгоритмах.
Re[12]: Ох уж этот Яндекс...
От: Pzz Россия https://github.com/alexpevzner
Дата: 18.05.18 11:21
Оценка: +1
Здравствуйте, Тёмчик, Вы писали:

Тё>Это всё, о чем вы осведомлены?


Нет, это не все, о чем я осведомлен.

Тё>Ну ладно, представим что либо хэш, либо дерево с сравнением. Вы понимаете, что в зависимости от выбранной структуры для ключа, запросы будут исполняться по-разному?


Понимаю. И?

Pzz>>Фраза не о чем, а термин "структура данных" обозначает не то, что вы думаете.

Тё>Сударь, эта ваша фраза намекает на степень знакомства с структурами данных и алгоритмами сортировки, типичную для C# программиста. А к примеру, java программисты, в среднем по больнице, имеют какое-то практическое представление об алгоритмах.

Очередная фраза ни о чем.

Я не очень понимаю, с чего бы у программистов на C# и на Яве представление об алгоритмах и структурах данных так уж существенно различалось, языки-то весьма похожие. Разве что дело в ментальности, присущей соответствующей субкультуре, мне об этом трудно судить, поскольку я не принадлежу ни к тем ни к другим.

Мои представление об этом вопросе базируются в основном на чтении трудов основоположников, собственно и создавших современные представления на эту тему, а не на изучении языка программирования, придуманного какой-либо большой корпорацией.
Re[6]: Ох уж этот Яндекс...
От: eskimo82  
Дата: 21.05.18 12:53
Оценка:
G>Это почему это. Алгоритм N квадрат на 10 строчек, на N 20 строчек. Я предпочитаю 10 строчек кода.
Это распространненый подход со стороны програмистов C#. Про эффективность алгоритма реализации там никто не думает. (суммарное наблюдение по многим интерьвью програмистов)

G>Ведь требование производительности обозначены не были.

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

G>Плюс решение за N в сравнении с N квадрат не устойчиво к reset на компьютере — караптит изначальные данные.

Изначальные данные в ОЗУ и так портятся после reset.
Отредактировано 21.05.2018 12:55 eskimo82 . Предыдущая версия .
Re[7]: Ох уж этот Яндекс...
От: antonio_banderas Россия  
Дата: 21.05.18 14:42
Оценка:
Здравствуйте, eskimo82, Вы писали:

G>>Ведь требование производительности обозначены не были.

E>Почему то я уверен, что требования там были. Возможно потому что сам когда-то пару раз проходил собеседование в яндексе. (И даже работал там после второй попытки).

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

Так что даже если явно про требования сказано не было — они всё равно были.
Как тот суслик, которого никто не видел — а он был.
Re[8]: Ох уж этот Яндекс...
От: eskimo82  
Дата: 21.05.18 18:14
Оценка:
_>Так что даже если явно про требования сказано не было — они всё равно были.
Тем не менее вам ответили предельно ясно.

_>Как тот суслик, которого никто не видел — а он был.

Понять ТЗ заказчика тоже дано лишь не всем.
Re[13]: Ох уж этот Яндекс...
От: Тёмчик Австралия жж
Дата: 23.05.18 01:44
Оценка: -2
Здравствуйте, Pzz, Вы писали:

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


Из моих наблюдений. Довелось на C# попилить некоторое время. Может, потому, что задачи, решаемые на этих языках, существенно отличаются. Да взять хотя бы коллекции в жаве и коллекции в сишарпе. В жаве понятно, что люди, кто это проектировали, в теме структур и алгоритмов, там стройная система интерфейсов и контрактов. Плюс опенсорсных либ есть с разными модными структурами. В шарпе — какой-то винегрет как будто из перла позаимствовали.
Re: Ох уж этот Яндекс...
От: Тёмчик Австралия жж
Дата: 23.05.18 01:47
Оценка:
Здравствуйте, Gattaka, Вы писали:

https://m.habr.com/company/yandex/blog/359108/

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


Хрюши в яндексе совсем чебурахнулись головой?
Re[2]: Ох уж этот Яндекс...
От: Gattaka Россия  
Дата: 23.05.18 04:25
Оценка:
Здравствуйте, Тёмчик, Вы писали:

Тё>Здравствуйте, Gattaka, Вы писали:


Тё>https://m.habr.com/company/yandex/blog/359108/

Тё>

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


Тё>Хрюши в яндексе совсем чебурахнулись головой?


Можешь своими словами пересказать? Столько текста не охота читать.
Re[3]: Ох уж этот Яндекс...
От: Тёмчик Австралия жж
Дата: 23.05.18 06:52
Оценка:
Здравствуйте, Gattaka, Вы писали:

G>Можешь своими словами пересказать? Столько текста не охота читать.


Я прочел поперёк. Как я понял из кучи непонятных модных словечек- человека, прошедшего собеседование, не причисляют к какой то команде и не зачисляют в штат. Вместо этого он продолжает "проходить собеседование" фуллтайм, 3 месяца, с зарплатой, делая учебные задания по всему спектру их команд. А потом выносят окончательный вердикт "прошёл/не прошёл". Даже не так- захотела его какая то команда к себе, или нет.

Imho еслм чел не совсем в отчаянном положении- пошлет их лесом и трудоустпомтся в менее шизанутую организацию.
Отредактировано 23.05.2018 6:54 Артём . Предыдущая версия .
Re[4]: Ох уж этот Яндекс...
От: ned Австралия  
Дата: 23.05.18 08:48
Оценка: +1
Здравствуйте, Тёмчик, Вы писали:

Тё>Imho еслм чел не совсем в отчаянном положении- пошлет их лесом и трудоустпомтся в менее шизанутую организацию.


У фейсбука утянули: https://www.businessinsider.com.au/inside-facebook-engineer-bootcamp-2016-3.
Re[9]: Ох уж этот Яндекс...
От: Vlad_SP  
Дата: 23.05.18 09:30
Оценка:
Здравствуйте, eskimo82,

E> Понять ТЗ заказчика тоже дано лишь не всем.


Да-да-да. Даже когда Заказчик формулирует требование в виде "наивысочайшее качество"? А когда начинаешь его спрашивать: "А сколько вешать в граммах это в цифрах? Как мне измерить и понять — достигнуто это наивысочайшее качество или оно все еще второй свежести?" — он только хитро улыбается.....
Re[10]: Ох уж этот Яндекс...
От: · Великобритания  
Дата: 23.05.18 15:47
Оценка:
Здравствуйте, Vlad_SP, Вы писали:

E>> Понять ТЗ заказчика тоже дано лишь не всем.

V_S>Да-да-да. Даже когда Заказчик формулирует требование в виде "наивысочайшее качество"? А когда начинаешь его спрашивать: "А сколько вешать в граммах это в цифрах? Как мне измерить и понять — достигнуто это наивысочайшее качество или оно все еще второй свежести?" — он только хитро улыбается.....
Трудно понять из описания что там у вас конкретно было, но в принципе дело могло обстоять так.
Например, для алгоритма сортировки (если исключить частные случаи типа поразрядной) — "наивысочайшее качество" будет n·log(n). Имеется доказательство. В рамках интервью, конечно, вряд ли от тебя ждут формальных теорем, но хотя бы "нутром чую" должно быть, что говорит о наличии опыта. Т.е. на кодера ты тянешь (дайте точное ТЗ — запилю), но на инженера, который сам принимает решения (понимать чего же наивысочайшего можно достичь в данных условиях) — не тянешь.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[10]: Ох уж этот Яндекс...
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 23.05.18 18:01
Оценка: +3
Здравствуйте, Gattaka, Вы писали:

G>Почему в нем первым пунктом идет не SOLID, например. А какая-то мутная задачка.

Потому что знание баззвордов ничего не значит в реальной работе, а вот умение писать эффективные алгоритмы — значит очень многое. Соответственно им нужны люди, которые реально умеют работать, а не "проходимцы собеседований", заучившие 100500 баззвордов и почему-то считающие, что они кому-то интересны.
[КУ] оккупировала армия.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.