Здравствуйте, Паблик Морозов, Вы писали:
ПМ>Ну и всякие мелкие задачки вроде посчитать int32 хешь-код от двух int32 — тоже как-то через пень колоду. Не, в целом всё не так плохо, я даже его рекомендовал, просто не понятно, чем они там в своём МГТУ им. Баумана занимаются на кафедре параллельных вычислений?
И как же посчитать этот хэш-код?
Здравствуйте, alzt, Вы писали:
A>Поинтересуйся на досуге для чего job существует.
Для того, чтобы обсуждать, как пройти собеседование в Бинг, какие дурацкие задания дают работадатели на собеседованиях, как податься во фриланс, как вывести из строя монитор, сколько получают программисты на С++, как работается в Target Labs, как приобрести лидерские качества, как завалить девелопера на интервью ну и тому подобное.
Здравствуйте, Banned by IT, Вы писали:
BBI>Открываем вики и читаем:
BBI>
BBI>In concurrent programming, a monitor is an object or module intended to be used safely by more than one thread. The defining characteristic of a monitor is that its methods are executed with mutual exclusion. That is, at each point in time, at most one thread may be executing any of its methods.
BBI>Заводим в объекте критическую секцию и входим в неё в каждом методе. BBI>Для conditional vars есть готовые системные примитивы. BBI>Лепим их где надо. BBI>"Boil, and Reduce Heat, and Stimmer" (C) BBI>Всё.
Я, конечно, понимаю, что ты не читатель, а писатель, но попробуй прочитать хотя бы 2 абзаца из википедии.
Собственно какие можно сделать выводы из твоего сообщения:
1. ты не знаешь, что такое монитор, т.е. не знаешь ничего про многопоточность в .net-е
2. не можешь прочитать более одного абзаца текста, чтобы разобраться в вопросе
3. но при этом имеешь делаешь заявления, причем безапелляционно и уверенно
И в качестве бонуса — аналоги кондваров в .net — это всяческие наследники WaitHandle-а (объекты OC), и лепить их где надо и не надо надо с большой осторожностью.
Выводы о том, что произойдёт, если взять тебя в проект, подразумевающий написание многопоточного кода на .net-е предлагаю сделать самостоятельно.
Здравствуйте, Tom, Вы писали:
Tom>Я когда про монитор прочитал тоже не понял чего он с ним носится, ну спрашивал про сто нибудь более менее серьёзное, про IO Completion Port, ввод вывод асинхронный или нюансы там какие, а то на ровном месте придумал проблему.
Одно из требований к программисту — работа с многопоточностью в .net. Монитор — основной примитив в .net, под него даже специальная конструкция языка предусмотрена. Если человек не знает, что это такое, значит он вообще ничего не знает про многопоточность в .net. И никаких IO Completion Port там нет, неблокирующий ввод/вывод там делается по-другому.
Здравствуйте, alzt, Вы писали:
A>Большинство программистов отличат O(N) и O(1000N), хотя разница и невелика.
Для того, чтобы отличить O(N) от O(1000N) надо (одно из):
1. Писать алоритм самому, но мы недавно выяснили, что все алгоритмы уже написаны и надо просто вызвать библиотечную функцию (про которую, кстати, не написано O(N) она или O(1000N)).
2. Знать, как внутри устроены стандартные алгоритмы и структуры данных, мы (вроде) тоже выяснили, что на самом деле программисту это не нужно.
3. Запустить программу и посмотреть. Но, во-первых, для этого не надо быть программистом, я могу уборщицу попростить с секундомером постоять. Во-вторых есть некоторая вероятность спутать O(1000N) с O(N^2) и получить интересные результаты через полгода работы, когда в программе накопится достаточно данных.
Здравствуйте, Паблик Морозов, Вы писали:
ПМ>3. Запустить программу и посмотреть. Но, во-первых, для этого не надо быть программистом, я могу уборщицу попростить с секундомером постоять. Во-вторых есть некоторая вероятность спутать O(1000N) с O(N^2) и получить интересные результаты через полгода работы, когда в программе накопится достаточно данных.
Исключая тривиальные случаи, запустить и посмотреть (вооруженным профайлером глазом) единственно возможный на _практике_ вариант.
Здравствуйте, okman, Вы писали:
O>И тут мы незаметно подходим к главной теме — собеседование при устройстве на работу психологом.
То есть плавно переходим к тому, что нужно повышать роль HR в собеседованиях. Учитывая, что до черта из них закончили психфак .
Здравствуйте, Паблик Морозов, Вы писали:
KP>>для 80% задачь это знание совершенно не вперлось.
ПМ>Ну кроме задач многопоточности
Да не, я всю дорогу пишу многопоточность, и слова монитор не слышал никогда. Наверняка опять какой-нибудь прикол из терминологии, который никому не нужен, примерно так же, как fork/join схема.
Здравствуйте, B0FEE664, Вы писали:
BFE>Здравствуйте, Паблик Морозов, Вы писали:
ПМ>> зависимость времени обработки от количества данных надо хотя бы приблизительно уметь оценивать. BFE>Не верю. BFE>Где, когда и зачем это знание было применено на практике?
Один из первых вопросов, которые задаёт клиент — это "а какие системные требования"? (как варианты — "а за сколько обработается наша клиентская база?" "сколько времени будут импортироваться документы?" и всё в таком духе)
Здравствуйте, ArtemGorikov, Вы писали:
AG>Я думаю что kaa.python писал многопоточного и сетевого кода и изучил данную область намного больше тебя.
А не надо думать, надо оперировать фактами.
AG>раз уж пошла такая пьянка про переопределение hashCode- ты не указал что еще надо переопределять equals. Садись, два. Гений ты наш.
Профэсор, вы таки ничего про это ничего не спрашивали.
Здравствуйте, Sharowarsheg, Вы писали:
S>Здравствуйте, Паблик Морозов, Вы писали:
KP>>>для 80% задачь это знание совершенно не вперлось.
ПМ>>Ну кроме задач многопоточности
S>Да не, я всю дорогу пишу многопоточность, и слова монитор не слышал никогда. Наверняка опять какой-нибудь прикол из терминологии, который никому не нужен, примерно так же, как fork/join схема.
И про STM ты наверное тоже ничего не слышал, и про asyn workflows, и про join-calculus и про nested data parallelism и про многое другое. Но если утверждаешь, что имел дело с многопоточностью в .net, то что такое монитор, ты просто не можешь не знать. Почему — написано здесь
ПМ>И про STM ты наверное тоже ничего не слышал, и про asyn workflows, и про join-calculus и про nested data parallelism и про многое другое. Но если утверждаешь, что имел дело с многопоточностью в .net, то что такое монитор, ты просто не можешь не знать. Почему — написано здесь
А потом эти недоджуниоры уже в /job/ не могут написать алгоритм разворота списка без ошибок и щеголяют своим незнанием примитивов синхронизации. У меня альтернативное предположение — высокая зарплата (более 80 тысяч) привлекает слишком много 35-летних бездельников, которые просиживали штаны в своих конторах, а теперь вдруг увидели возможность получать больше денег и решили, а вдруг прокатит. Думаю, что назначать зарплату выше рыночной — серьёзная ошибка, мотивировать людей надо другими способами.
Здравствуйте, Паблик Морозов, Вы писали:
K>>И как же посчитать этот хэш-код?
ПМ>Самый простой вариант — xor.
И будет классно, когда окажется, что в практических данных 99% случаев в парах одинаковые числа. Пишите лучше сразу hash = 1, потом профайлер разберется, где сгодится, а где исправить.
Здравствуйте, Sharowarsheg, Вы писали:
S>И будет классно, когда окажется, что в практических данных 99% случаев в парах одинаковые числа. Пишите лучше сразу hash = 1, потом профайлер разберется, где сгодится, а где исправить.