Re[4]: MSFT, Bing. Interview event.
От: THESERG  
Дата: 15.09.11 10:19
Оценка:
а нельзя ли один раз создать mutex, а потом его только lock/unlock?
это очень дешёвые операции, и надёжные.
сам mutex можно хранить private внутри класса
Re[4]: MSFT, Bing. Interview event.
От: dilmah США  
Дата: 15.09.11 10:24
Оценка:
A>конечно перфоманс, стоимость инициализации/освобождения мьютекса (объекта ядра) несравнима с атомарными операциями, выполняющимися напрямую на процессоре.

pthread_mutex в uncontended ситуации реализован именно атомарными операциями и не уходит в ядро.
Re[5]: MSFT, Bing. Interview event.
От: tlp  
Дата: 15.09.11 10:28
Оценка:
Здравствуйте, THESERG, Вы писали:

THE>а нельзя ли один раз создать mutex, а потом его только lock/unlock?

THE>это очень дешёвые операции, и надёжные.
THE>сам mutex можно хранить private внутри класса

в виндах Mutex — объект ядра. На каждый его захват и освобождение будет делаться выполнение кода контексте ядра, что гораздо медленнее выполнения Interlocked-операций.
Re[6]: MSFT, Bing. Interview event.
От: THESERG  
Дата: 15.09.11 10:31
Оценка:
вон она, разница linux/windows!

т.е. по-сути mutex в windows — это IPC semaphore в linux?
Re[5]: MSFT, Bing. Interview event.
От: anomander  
Дата: 15.09.11 10:32
Оценка:
Здравствуйте, THESERG, Вы писали:

THE>а нельзя ли один раз создать mutex, а потом его только lock/unlock?

THE>это очень дешёвые операции, и надёжные.
THE>сам mutex можно хранить private внутри класса

Извините, я конечно имел в виду открытие/закрытие, а не пересоздание мьютекса каждый раз заново, что лишено смысла
Про дешевизну операций я конечно же попрошу пруфлинк, от себя приведу The Cost of Mutexes
Re[7]: MSFT, Bing. Interview event.
От: tlp  
Дата: 15.09.11 10:36
Оценка:
Здравствуйте, THESERG, Вы писали:

THE>вон она, разница linux/windows!


THE>т.е. по-сути mutex в windows — это IPC semaphore в linux?


Аналог IPC semaphore в linux — это именованый семафор в windows.
Re[6]: MSFT, Bing. Interview event.
От: THESERG  
Дата: 15.09.11 10:48
Оценка:
пруф или нет, но линк: http://stackoverflow.com/questions/2193435/interlock-vs-mutex-scale-up-issues

покопавшись в интернетах, я понял, что interlocked — это таки быстрее, чем mutex, но очень легко накодить какой-нибудь deadlock или что-то подобное. В общем, надо много думать...
Re[7]: MSFT, Bing. Interview event.
От: anomander  
Дата: 15.09.11 10:51
Оценка:
Здравствуйте, THESERG, Вы писали:

THE>пруф или нет, но линк: http://stackoverflow.com/questions/2193435/interlock-vs-mutex-scale-up-issues


THE>покопавшись в интернетах, я понял, что interlocked — это таки быстрее, чем mutex, но очень легко накодить какой-нибудь deadlock или что-то подобное. В общем, надо много думать...



Возможно я не верно понял, но дедлок-таки легко накодить с мьютексом, а вот с инетерлоками этого сделать не удастся.
Re[3]: MSFT, Bing. Interview event.
От: TheBeard Россия  
Дата: 15.09.11 15:49
Оценка:
Здравствуйте, THESERG, Вы писали:

THE>SemiCoder,


THE>со всем согласен, но вот пункт 3...

THE>почему mutex хуже, чем interlocked?
THE>экранировать операции pop и push через scoped lock, что в этом плохого? performance?
THE>и как там с exceptions в interlocked?

По этой теме есть пара хороших постов remark'а: "lock-, wait-, obstruction-, atomic-free algorithms"
Автор: remark
Дата: 27.04.08
и "О lock-free алгоритмах (+бонус)"
Автор: remark
Дата: 10.03.10
. Must read, IMHO.
Re[4]: MSFT, Bing. Interview event.
От: THESERG  
Дата: 15.09.11 16:18
Оценка:
спасибо, почитаемсЪ!

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

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


THE>>SemiCoder,


THE>>со всем согласен, но вот пункт 3...

THE>>почему mutex хуже, чем interlocked?
THE>>экранировать операции pop и push через scoped lock, что в этом плохого? performance?
THE>>и как там с exceptions в interlocked?

TB>По этой теме есть пара хороших постов remark'а: "lock-, wait-, obstruction-, atomic-free algorithms"
Автор: remark
Дата: 27.04.08
и "О lock-free алгоритмах (+бонус)"
Автор: remark
Дата: 10.03.10
. Must read, IMHO.
Re[2]: MSFT, Bing. Interview event.
От: hokkaido  
Дата: 15.09.11 21:03
Оценка: +1
SC>Буду рад поделиться информацией о том, Кого мы ищем в Bing.AdCenter (увидел несколько колких замечаний про strcmp и решил написать).
SC>Ну во-первых, Никогда Никому не говорите (тем более на phone screen), что Вы не готовились к интервью. Я это слышу все чаще и чаще. Во-вторых, я беседовал с несколькими людьми, занимающими довольно высокие позиции в крупных отечественных компаниях, которые почему-то очень хотят претендовать на SDE(T) позиции. Господа — это Технические позиции, поэтому на всех интервью будут задавать Технические вопросы. Не хочу обсуждать тему "как же так? я ведь занимаю позицию CEO/Fellow/etc в компании XXX, почему же Вы меня спрашиваете про рекурсию?". Потому, что Вы хотите занять позицию разработчика. Вот почему. Идем дальше: нам не важно на каких языках и платформах Вы работаете или работали. Вообще не важно. Важно то, как глубоко Вы думаете и как Вы решаете проблемы. Ваш, что называется — mindset. Ну и конечно — Мотивация. Было бы здорово, если бы Вы определились — чего именно Вам хочется, прежде чем пускаться в процесс... Ну, конечно, не все так плохо!

Супер! Сразу видно опытного человека. Почитаешь РСДН так все вокруг как минимум архитекторы.. нет... Архитекторы. За пару часов подготовки — принципалы. Десять строчек кода на доске написать? Не, ну нафиг. Компания должна прогнуться, предоставить ноутбук, интернет, и не придираться к тому, что код кривой и не работает даже в стандартных ситуациях не говоря уж про граничные.
Re[2]: MSFT, Bing. Interview event.
От: AndrewJD США  
Дата: 16.09.11 01:21
Оценка:
Здравствуйте, SemiCoder, Вы писали:

SC>3. Хороший пример задачи на multithreading, особенно понравится программистам C/C++: допустим, Вы написали написали собственную реализию Стека. Вас просят сделать функции Push/Pop — thread safe. 90% кандидатов начинают болтать про мьютексы. Остальные 10% понимают, что мьютекс здесь не лучший вариант, но решить задачу быстро не могут. Тогда кандидату показывают страничку в MSDN с описанием функции WINAPI — InterlockedExchange. Опытному программисту достаточно 5-10 минут, чтобы прочитать эту страничку и _применить_ ее в своем коде.

А сколько процентов из этих 10% решат ее правильно и будет отсутсвовать АВА проблема? Скорее всего — это будут люди которые в теме, которые сталкивалсь с этим вопросом, а не которые прочитали только что про InterlockedExchange.
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Re[3]: MSFT, Bing. Interview event.
От: SemiCoder США  
Дата: 16.09.11 05:54
Оценка:
Здравствуйте, AndrewJD, Вы писали:

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


SC>>3. Хороший пример задачи на multithreading, особенно понравится программистам C/C++: допустим, Вы написали написали собственную реализию Стека. Вас просят сделать функции Push/Pop — thread safe. 90% кандидатов начинают болтать про мьютексы. Остальные 10% понимают, что мьютекс здесь не лучший вариант, но решить задачу быстро не могут. Тогда кандидату показывают страничку в MSDN с описанием функции WINAPI — InterlockedExchange. Опытному программисту достаточно 5-10 минут, чтобы прочитать эту страничку и _применить_ ее в своем коде.

AJD>А сколько процентов из этих 10% решат ее правильно и будет отсутсвовать АВА проблема? Скорее всего — это будут люди которые в теме, которые сталкивалсь с этим вопросом, а не которые прочитали только что про InterlockedExchange.

Из этих 10%, самых лучших отберут в ходе Очного интервью.

Спасибо за комменты, кстати!
С уважением.
Re[3]: MSFT, Bing. Interview event.
От: Abalak США  
Дата: 16.09.11 14:30
Оценка:
Здравствуйте, hokkaido, Вы писали:

H>Супер! Сразу видно опытного человека. Почитаешь РСДН так все вокруг как минимум архитекторы.. нет... Архитекторы. За пару часов подготовки — принципалы. Десять строчек кода на доске написать? Не, ну нафиг. Компания должна прогнуться, предоставить ноутбук, интернет, и не придираться к тому, что код кривой и не работает даже в стандартных ситуациях не говоря уж про граничные.


Точно! Зато недавно на меня набросились
Автор: blackhearted
Дата: 05.09.11
, что дескать это я зазвездил и таки вопросы сильно сложные задаю и т.п.
Re[3]: MSFT, Bing. Interview event.
От: Abalak США  
Дата: 16.09.11 14:31
Оценка:
Здравствуйте, AndrewJD, Вы писали:

AJD>Скорее всего — это будут люди которые в теме, которые сталкивалсь с этим вопросом, а не которые прочитали только что про InterlockedExchange.


Скрорее всего это не проблема МС
Re[6]: MSFT, Bing. Interview event.
От: snaphold  
Дата: 16.09.11 17:47
Оценка: :)
Здравствуйте, TheBeard, Вы писали:

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


S>>индус?


TB>Таки ви расист?


почему? просто спросил для статистики
Re[9]: MSFT, Bing. Interview event.
От: __kot2  
Дата: 17.09.11 07:32
Оценка:
мы на 20ое договорились. кто еще 20ого будет?
Re[4]: MSFT, Bing. Interview event.
От: hokkaido  
Дата: 18.09.11 01:47
Оценка: 1 (1) +1
A>Точно! Зато недавно на меня набросились
Автор: blackhearted
Дата: 05.09.11
, что дескать это я зазвездил и таки вопросы сильно сложные задаю и т.п.


Ну да, тут есть пара персонажей... Один в Штатах никогда не был, но лучше всех знает что из себя представляется американский средний класс; другие (тысячи их) — на доске не могут 10 строчек кода написать так чтобы не подавиться от смеха, но уже Архитекторы... На РСДНе понтоваться — это не кирпичи ворочать.
Но веселее всех тут конечно Дохтур.
Re[10]: MSFT, Bing. Interview event.
От: modev  
Дата: 18.09.11 06:29
Оценка:
Здравствуйте, __kot3, Вы писали:


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


с начала 2011 года (после введения новых правил налогооблажения) оф. зарплата сильно посерела и в несколько раз упала до 35К рублей — однако, я не переживаю из-за этого, даже наоборот рад, что меньше денег отдаю в пенсионный фонд,



Продолжаем верить сказкам?

И какие такие "новые правила налогообложения" мешают работодателю в 2011 списывать, хотя бы частично, взносы? Да никакие.

В смысле уменьшения налогооблагаемой базы за счет зарплатных налогов в 2011 ничего не поменялось, механизмы списания и уменьшения остались прежними.

В 2011 изменились только ставки страховых взносов (хотя для высоких зарплат все даже чуть лучше стало), но я уже объяснил, что при 38К и при 138К сумма взносов одинаковая. Все остальное осталось прежним.
На твои пенсионные взносы работодатель по-прежнему уменьшает свой единый налог (или уменьшает налогооблагаемую базу для других налогов, если на ОСНО).
Поскольку сумма взносов не изменилась, то и уменьшить работодатель базу/ед_налог может на одинаковое количество, что при 38К, что при 138К рублей в месяц.
Re[4]: MSFT, Bing. Interview event.
От: StandAlone  
Дата: 18.09.11 08:42
Оценка:
Здравствуйте, anomander, Вы писали:

A>конечно перфоманс, стоимость инициализации/освобождения мьютекса (объекта ядра) несравнима с атомарными операциями, выполняющимися напрямую на процессоре. Даже в случае с критическими секциями, если очередь/стек используется тяжело, и идут тысячи push/pop в секунду, оверхед будет большим.

A>Конечно, мьютексы — универсальное решение, но это не значит что оно оптимально. Поинтеры-то мы можем перекинуть без локов.

THE>>[skip]


Не помню точно Рихтера по этому вопросу, но, КМК, критические секции над Interlocked и реализованы .
Стоит ли выигрыш в пару тактов процессора усложнения и размазывания логики, которое возникает при использовании InterlockedCompare|Exchange в сравнении с критической секцией?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.