Re[5]: Не верьте всему, что пишут в резюме.
От: Sharowarsheg  
Дата: 05.03.12 20:03
Оценка: 1 (1)
Здравствуйте, Паблик Морозов, Вы писали:

ПМ>Здравствуйте, Sharowarsheg, Вы писали:


S>>И будет классно, когда окажется, что в практических данных 99% случаев в парах одинаковые числа. Пишите лучше сразу hash = 1, потом профайлер разберется, где сгодится, а где исправить.


ПМ>Ну это вообще цикр.


Ничего, со временем приходит понимание разнообразности данных. Если есть выбор, писать hash = md5(...) или hash = 1, второй вариант лучше. В условии "надо сделать хеш из двух uint32" выбирать промежуточный вариант оснований нет.
Re: Не верьте всему, что пишут в резюме.
От: vsb Казахстан  
Дата: 05.03.12 20:49
Оценка:
Здравствуйте, Паблик Морозов, Вы писали:


ПМ>посчитать int32 хешь-код от двух int32


a ^ b
подойдёт? Если нет, то чем плохо, какой вариант предлагается и чем он лучше в данной формулировке (без описания типичных значений этих int32)/
Re[6]: Не верьте всему, что пишут в резюме.
От: Sharowarsheg  
Дата: 05.03.12 20:52
Оценка:
Здравствуйте, __lambda__, Вы писали:

___>Просыпайся, сонный программист

___>Рихтер для .NET программиста библия. Да и для Win32 программиста тоже. Хвастаться знанием чего-либо, я понимаю... А вот хвастаться тем, что не читал одну из самых лучших книг, одного из самых лучших авторов...

Нету библии. Наверняка те же самые вопросы разжёваны в массе других книжек. И авторов лучших тоже каждый второй, вот например если с одной стороны Рихтер, а с другой Руссинович и Соломон, кто кого заборет? Если для Win32 программиста и Питрека не читать?
Re[5]: Не верьте всему, что пишут в резюме.
От: SkyDance Земля  
Дата: 05.03.12 22:16
Оценка: :)
J>да ладно, хорошая компания — пока, по озвученным Пабликом требованиям, я бы уже после первого курса смог бы устроится к ним работать.

В 12 лет, ЕМНИП
Re[6]: Не верьте всему, что пишут в резюме.
От: SkyDance Земля  
Дата: 05.03.12 22:20
Оценка: +4
ПМ>А потом эти недоджуниоры уже в /job/ не могут написать алгоритм разворота списка без ошибок и щеголяют своим незнанием примитивов синхронизации. У меня альтернативное предположение — высокая зарплата (более 80 тысяч) привлекает слишком много 35-летних бездельников, которые просиживали штаны в своих конторах, а теперь вдруг увидели возможность получать больше денег и решили, а вдруг прокатит. Думаю, что назначать зарплату выше рыночной — серьёзная ошибка, мотивировать людей надо другими способами.

О, спасибо за подтверждение моих подозрений.

А вы пока продолжайте искать бриллианты в навозе. Вам обязательно встретится кандидат на 80 тыс. руб. в месяц, который всенепременно будет знать про "монитор", будет разворачивать списки и каждодневно освежать свои знания о nested data parallelism.

PS: вы так и не назвали ни одного проекта, над которыми вы работали. Интересно же посмотреть, где надо столько всего сурового знать _заранее_ — и без возможности подучиться на ходу, въезжая в проект.
Re[2]: Не верьте всему, что пишут в резюме.
От: SkyDance Земля  
Дата: 05.03.12 22:22
Оценка:
vsb>
a ^ b
подойдёт? Если нет, то чем плохо, какой вариант предлагается и чем он лучше в данной формулировке (без описания типичных значений этих int32)/


Если распределение исходных данных неизвестно, пойдет что угодно. Хоть a*b, или, для лучшего перемешивания, a & 0xFFFF * b >> 16 + a >> 16 * b & 0xFFFF
Re[5]: Не верьте всему, что пишут в резюме.
От: landerhigh Пират  
Дата: 06.03.12 05:29
Оценка:
Здравствуйте, Паблик Морозов, Вы писали:

S>>И будет классно, когда окажется, что в практических данных 99% случаев в парах одинаковые числа. Пишите лучше сразу hash = 1, потом профайлер разберется, где сгодится, а где исправить.


ПМ>Ну это вообще цикр.


Цикр — это вопрос в стиле "32-битный хеш от двух 32-битных чисел".
Зачем тебе такой красивый хеш с таким красивым количеством коллизий нужен? Что хочешь сделать? Поиск типа быстрый замутить или чего еще?
www.blinnov.com
Re[7]: Не верьте всему, что пишут в резюме.
От: landerhigh Пират  
Дата: 06.03.12 05:43
Оценка: 6 (1) +1 :)
Здравствуйте, Паблик Морозов, Вы писали:

ПМ>Здравствуйте, alzt, Вы писали:


A>>Большинство программистов отличат O(N) и O(1000N), хотя разница и невелика.


ПМ>Для того, чтобы отличить O(N) от O(1000N) надо


www.blinnov.com
Re[8]: Не верьте всему, что пишут в резюме.
От: Sharowarsheg  
Дата: 06.03.12 06:05
Оценка: -1
Здравствуйте, landerhigh, Вы писали:

A>>>Большинство программистов отличат O(N) и O(1000N), хотя разница и невелика.


ПМ>>Для того, чтобы отличить O(N) от O(1000N) надо


L>


Зря ты, кстати. Практически иногда оказывается, что в O(k*n) слишком большое k. Представь себе, что у тебя что-то такое, что нужно неделю считать. Сразу начнешь различать O(n) и O(10*n).
Re[2]: Не верьте всему, что пишут в резюме.
От: pvirk Россия  
Дата: 06.03.12 06:25
Оценка:
Здравствуйте, SkyDance, Вы писали:

SD>PS: но я вот сейчас вспоминаю, что большинство тех, кто шел в аспирантуру были в основном бездельниками и лопухами. Москвичками. Кому аспирантура была нужна для откоса от армии.

Re[3]: Не верьте всему, что пишут в резюме.
От: SkyDance Земля  
Дата: 06.03.12 06:46
Оценка:
SD>>PS: но я вот сейчас вспоминаю, что большинство тех, кто шел в аспирантуру были в основном бездельниками и лопухами. Москвичками. Кому аспирантура была нужна для откоса от армии.
P>

Сложности с пониманием? Или с русским языком? Какие есть варианты интерпретации выделенного?
Re[9]: Не верьте всему, что пишут в резюме.
От: maxkar  
Дата: 06.03.12 07:59
Оценка: 3 (1) +1
Здравствуйте, Sharowarsheg, Вы писали:

S>Зря ты, кстати. Практически иногда оказывается, что в O(k*n) слишком большое k. Представь себе, что у тебя что-то такое, что нужно неделю считать. Сразу начнешь различать O(n) и O(10*n).


Так он прав. O(k*n) где k — константа и O(n) — это одно и то же в силу определения O! O-нотация — это грубая оценка ассимптотики функции, возможность выбрать две (для О-большое) положительные константы, таких, что время выполнения T(n) находится в заданном диапазоне (c1*n <= T(n) <= c2*n). Вот и получается, что на практике оценки вроде O не нужны! Нужна другая оценка. Более точная. Учитывающая те самые константы. Назовем ее Estf(n), например. Тогда нас будет интересовать такое приближение, когда |(T(n) — Estf(n))/T(n)| (относительная погрешность) стремится к нулю. Тогда Est(n) и Est(10*n) будут отличаться.

Попытки внести в O не ассимптотику, а само измерение сложности — это и есть непонимание O-нотации. Да, на практике нужны более точные оценки. Ну так и нужно придумать для них другие обозначения, а не вводить всех в заблуждение. А ведь Паблик еще и других собеседует со своим неверным пониманием .
Re[4]: Не верьте всему, что пишут в резюме.
От: pvirk Россия  
Дата: 06.03.12 08:14
Оценка: +1 -1
Здравствуйте, SkyDance, Вы писали:

SD>>>PS: но я вот сейчас вспоминаю, что большинство тех, кто шел в аспирантуру были в основном бездельниками и лопухами. Москвичками. Кому аспирантура была нужна для откоса от армии.

P>>

SD>Сложности с пониманием? Или с русским языком? Какие есть варианты интерпретации выделенного?

В русском языке, написанные тобой три предложения интерпретируются однозначно: в аспирантуру шли в основном бездельники-москвички, которым аспирантура была нужна для откоса от армии.
Так что учись писать по-русски, это не сложно.
Re[4]: Не верьте всему, что пишут в резюме.
От: jhfrek Россия  
Дата: 06.03.12 08:31
Оценка:
Здравствуйте, SkyDance, Вы писали:

SD>>>PS: но я вот сейчас вспоминаю, что большинство тех, кто шел в аспирантуру были в основном бездельниками и лопухами. Москвичками. Кому аспирантура была нужна для откоса от армии.

P>>
SD>Сложности с пониманием? Или с русским языком? Какие есть варианты интерпретации выделенного?

Хм, и давно это Москва переехала в Израиль? Да и девушке в Израиле вроде не косят от армии...
Re[5]: Не верьте всему, что пишут в резюме.
От: hrensgory Россия  
Дата: 06.03.12 08:33
Оценка:
On 05.03.2012 22:37, Паблик Морозов wrote:

> ПМ>> зависимость времени обработки от количества данных надо хотя бы

> приблизительно уметь оценивать.
> BFE>Не верю.
> BFE>Где, когда и зачем это знание было применено на практике?
>
> Один из первых вопросов, которые задаёт клиент — это "а какие системные
> требования"? (как варианты — "а за сколько обработается наша клиентская
> база?" "сколько времени будут импортироваться документы?" и всё в таком
> духе)

Хм. Вы не обижайтесь, пожалуйста, но вас всё сложнее воспринимать как
адекватного собеседника.

Абсолютно ничего, практически пригодного к использованию, теоретическими
расчётами на основании "O()" и т.п. вы здесь не получите.

--
WBR,
Serge.
Posted via RSDN NNTP Server 2.1 beta
Re[5]: Не верьте всему, что пишут в резюме.
От: Eye of Hell Россия eyeofhell.habr.ru
Дата: 06.03.12 08:36
Оценка: +2
ПМ>Мне пофиг на анекдоты, человек или знает, что такое монитор, или нет. А стыдятся и краснёют пусть гимназистки всякие.

Логично. Но не факт, что знание этого термина как-то коррелирует с навыками разработки многопоточных систем. Я вот уже больше десяти лет такие системы разрабатываю, и в принципе неплохо разбираюсь в многопоточности. Указанную статью в википедии вижу первый раз в жизни, описание этого крайне мутное и непонятное. Обычный класс, методы которого защищены мьютексами? Это "thread safe class", или, по-русски, потокобезопасный класс. Зачем лишнее название городить? При чем здесь "монитор" — он что, мониторит что-то? Какие-то чудовищные огороды с нотификациями и ожиданиями — это все отдельные мелкие концепции, зачем весь этот винегред в одном месте?

Да, я делал такие штуки в коде, и не раз. Но придумывать для них отдельное название а потом спрашивать его на собеседовании... O_O.
Re[9]: Не верьте всему, что пишут в резюме.
От: landerhigh Пират  
Дата: 06.03.12 08:51
Оценка: +2
Здравствуйте, Sharowarsheg, Вы писали:

ПМ>>>Для того, чтобы отличить O(N) от O(1000N) надо


L>>


S>Зря ты, кстати. Практически иногда оказывается, что в O(k*n) слишком большое k. Представь себе, что у тебя что-то такое, что нужно неделю считать. Сразу начнешь различать O(n) и O(10*n).


Давайте только отделять зерна от плевел. В рамках оценки временнОй сложности алгоритма с помощью O-нотации O(n) = O(k*n) по определению.
Другое дело, когда нужно оценивать абсолютную сложность конкретной реализации. Тут и алгоритм с O(n^2) может оказаться быстрее O(1) за счет накладных расходов. Но O-нотацию для таких оценок применять уже не стоит.
www.blinnov.com
Re[8]: Не верьте всему, что пишут в резюме.
От: alzt  
Дата: 06.03.12 09:29
Оценка:
Здравствуйте, landerhigh, Вы писали:

A>>>Большинство программистов отличат O(N) и O(1000N), хотя разница и невелика.


ПМ>>Для того, чтобы отличить O(N) от O(1000N) надо


L>


Это всё в контексте

М.. нет. Разве что свою систему изобрести, но скорее всего получится то же О.

. Для О это может быть и несущественно, но вообще на практике тоже надо учитывать. Особенно, когда на практике N не очень большое, а контанта оказывается значительной.
Re[3]: Не верьте всему, что пишут в резюме.
От: alzt  
Дата: 06.03.12 09:33
Оценка: :)
Здравствуйте, SkyDance, Вы писали:

vsb>>
a ^ b
подойдёт? Если нет, то чем плохо, какой вариант предлагается и чем он лучше в данной формулировке (без описания типичных значений этих int32)/


SD>Если распределение исходных данных неизвестно, пойдет что угодно. Хоть a*b, или, для лучшего перемешивания, a & 0xFFFF * b >> 16 + a >> 16 * b & 0xFFFF


Кстати, да. Может оказаться, что b как-то зависит от a, и в итоге получим аналог hashCode() {return 7;}.
Re[10]: Не верьте всему, что пишут в резюме.
От: Sharowarsheg  
Дата: 06.03.12 11:58
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Другое дело, когда нужно оценивать абсолютную сложность конкретной реализации. Тут и алгоритм с O(n^2) может оказаться быстрее O(1) за счет накладных расходов. Но O-нотацию для таких оценок применять уже не стоит.


Понятно, но поскольку другой нотации особо не завезли, регулярно пишут (и я в том числе) O(f(n)) вместо t=f(n). И смотрите, если вы начнете настаивать на правильном использовании O-нотации, опаненты начнут настаивать на правильном использовании термина "монитор"
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.