Вопросы по многопоточности и WCF
От: e.thrash  
Дата: 27.04.11 17:40
Оценка:
Какие вопросы могут показать примерный уровень по данным направлениям в на должность senior .Net developer?
Re: Вопросы по многопоточности и WCF
От: olegkr  
Дата: 27.04.11 17:52
Оценка:
Здравствуйте, e.thrash, Вы писали:

ET>Какие вопросы могут показать примерный уровень по данным направлениям в на должность senior .Net developer?

"Какими способами можно запустить другой поток в дотнете". Пока еще ни один индусик не ответил, хотя если судить по резюме, то все тимлиды, ну или на худой конец сеньоры с 10+ годами опыта в дотнете.
... << RSDN@Home 1.2.0 alpha 5 rev. 1495>>
Re: Вопросы по многопоточности и WCF
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 27.04.11 18:45
Оценка: +1 -2
Здравствуйте, e.thrash, Вы писали:

ET>Какие вопросы могут показать примерный уровень по данным направлениям в на должность senior .Net developer?


Если действительно senior, то не надо долбать вопросами чем отличается ThreadStartDelegate от ParametrizedThreadStartDelegate.
Спроси вообще про средства асинхронности и многопоточности. Если останется на уровне Thread.Start и ThreadPool, то низачот. Должен знать про Task Parallel Library, SynchronizationContext, Dispatcher, BackgroundWorker. Если расскажет про Rx и async, то будет плюсом.
Также должен ориентировать в паттернах асинхронных вызовов, вроде APM (BeginXXX\EndXXX) и EAP (XXXAsync\XXXCompleted\Cancel).

Что касается WCF, то для уровня Senior, кроме стандартных байндингов и контрактов надо спрашивать про MessageContracts, коллбеки, сессии, инстансы, режимы многопоточности, webhttpbinding, REST (odata).
Re[2]: Вопросы по многопоточности и WCF
От: Lloyd Россия  
Дата: 27.04.11 19:14
Оценка: +4
Здравствуйте, gandjustas, Вы писали:

G>Спроси вообще про средства асинхронности и многопоточности. Если останется на уровне Thread.Start и ThreadPool, то низачот. Должен знать про Task Parallel Library, SynchronizationContext, Dispatcher, BackgroundWorker.


По поводу последнего, имхо, вы зря. Может человек только сервер-сайд и писал, откуда он может знать про классы, специфичные для клиентского кода?
Re: Вопросы по многопоточности и WCF
От: Abalak США  
Дата: 27.04.11 19:24
Оценка:
Здравствуйте, e.thrash, Вы писали:

ET>Какие вопросы могут показать примерный уровень по данным направлениям в на должность senior .Net developer?


Попроси написать простую producer/consumer queue с гарантированым порядком исполнения или любой другой пример с нужной последовательностью обработки потоков. Если напишет плавно перейди к возможным дедлокам в этом коде. Это так для затравки.
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
Re: Вопросы по многопоточности и WCF
От: Aviator  
Дата: 27.04.11 20:02
Оценка: +4
Здравствуйте, e.thrash, Вы писали:

ET>Какие вопросы могут показать примерный уровень по данным направлениям в на должность senior .Net developer?

Спроси какие проблемы были и как решались. А то вопросами про инновационные TPL и байндинги найдёшь новичка с хорошей памятью, проштудировавшего очередную книжку.
Re[3]: Вопросы по многопоточности и WCF
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 27.04.11 20:08
Оценка: -1
Здравствуйте, Lloyd, Вы писали:

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


G>>Спроси вообще про средства асинхронности и многопоточности. Если останется на уровне Thread.Start и ThreadPool, то низачот. Должен знать про Task Parallel Library, SynchronizationContext, Dispatcher, BackgroundWorker.


L>По поводу последнего, имхо, вы зря. Может человек только сервер-сайд и писал, откуда он может знать про классы, специфичные для клиентского кода?


Не важно где и что он писал, важно что будет писать.
Re[2]: Вопросы по многопоточности и WCF
От: Tesh США  
Дата: 27.04.11 20:25
Оценка:
A>Попроси написать простую producer/consumer queue с гарантированым порядком исполнения или любой другой пример с нужной последовательностью обработки потоков. Если напишет плавно перейди к возможным дедлокам в этом коде. Это так для затравки.

Можно использовать и BlockingCollection<T>.
Re: Вопросы по многопоточности и WCF
От: rm822 Россия  
Дата: 27.04.11 20:29
Оценка: 10 (3) +1
Здравствуйте, e.thrash, Вы писали:

ET>Какие вопросы могут показать примерный уровень по данным направлениям в на должность senior .Net developer?


для синьора нужен solid background и правильный ход мыслей
ниже очень примерный список тем для самопроверки

-базовые сведения об объектах синхронизации критикал секшны, семафоры, барьеры, спин вэйты\локи, SWMR
-базовые сведения о типичных багах — дедлоки, контеншн, гонки
-multitaskinig preemptive\non preemptive, scheduling
-модели памяти, лок-фри
-базовые представления о различных подходах — императивный vs функциональный, task based paralelism, асинхронная обработка, параллелизм в декларативных моделях (plinq, partitioning, SQL)
-базовые сведения об апааратной реализации, ассоциативность и когерентность кэшэй, латентность l1\l2\l3\ram, hyper threading, numa
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Вопросы по многопоточности и WCF
От: Lloyd Россия  
Дата: 27.04.11 20:51
Оценка: +1
Здравствуйте, gandjustas, Вы писали:

L>>По поводу последнего, имхо, вы зря. Может человек только сервер-сайд и писал, откуда он может знать про классы, специфичные для клиентского кода?


G>Не важно где и что он писал, важно что будет писать.


Взаимодействие с UI — имхо далеко не самый большой челленж в написании многопоточных приложений.
Re[5]: Вопросы по многопоточности и WCF
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 27.04.11 21:21
Оценка: -1
Здравствуйте, Lloyd, Вы писали:

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


L>>>По поводу последнего, имхо, вы зря. Может человек только сервер-сайд и писал, откуда он может знать про классы, специфичные для клиентского кода?


G>>Не важно где и что он писал, важно что будет писать.


L>Взаимодействие с UI — имхо далеко не самый большой челленж в написании многопоточных приложений.


Да ну?
Вот такое без TPL\Rx\F# легко сделать?

Вариант ахинхронного кода на севрере не сильно отличается при тех же инструментах.

Так что челендж примерно одинаковый, а понимать какие механизмы используются — необходимо для senior.
Re[6]: Вопросы по многопоточности и WCF
От: Lloyd Россия  
Дата: 27.04.11 21:37
Оценка:
Здравствуйте, gandjustas, Вы писали:

L>>Взаимодействие с UI — имхо далеко не самый большой челленж в написании многопоточных приложений.


G>Да ну?

G>Вот такое без TPL\Rx\F# легко сделать?

Как из этого следует необходимость знания "SynchronizationContext, Dispatcher, BackgroundWorker"?
Re[2]: Вопросы по многопоточности и WCF
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 27.04.11 21:38
Оценка:
Здравствуйте, rm822, Вы писали:

R>Здравствуйте, e.thrash, Вы писали:


ET>>Какие вопросы могут показать примерный уровень по данным направлениям в на должность senior .Net developer?


R>для синьора нужен solid background и правильный ход мыслей

R>ниже очень примерный список тем для самопроверки

R>-базовые сведения об объектах синхронизации критикал секшны, семафоры, барьеры, спин вэйты\локи, SWMR

R>-базовые сведения о типичных багах — дедлоки, контеншн, гонки
R>-multitaskinig preemptive\non preemptive, scheduling
R>-модели памяти, лок-фри
R>-базовые представления о различных подходах — императивный vs функциональный, task based paralelism, асинхронная обработка, параллелизм в декларативных моделях (plinq, partitioning, SQL)
R>-базовые сведения об апааратной реализации, ассоциативность и когерентность кэшэй, латентность l1\l2\l3\ram, hyper threading, numa

Указание WCF в заголовке коворит больше об io-bound, чем о compute-bound.
Re[7]: Вопросы по многопоточности и WCF
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 27.04.11 21:38
Оценка: -1
Здравствуйте, Lloyd, Вы писали:

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


L>>>Взаимодействие с UI — имхо далеко не самый большой челленж в написании многопоточных приложений.


G>>Да ну?

G>>Вот такое без TPL\Rx\F# легко сделать?

L>Как из этого следует необходимость знания "SynchronizationContext, Dispatcher, BackgroundWorker"?



Так что челендж примерно одинаковый, а понимать какие механизмы используются — необходимо для senior.

Re[8]: Вопросы по многопоточности и WCF
От: Lloyd Россия  
Дата: 27.04.11 21:56
Оценка: +1 :)
Здравствуйте, gandjustas, Вы писали:

G>>>Да ну?

G>>>Вот такое без TPL\Rx\F# легко сделать?

L>>Как из этого следует необходимость знания "SynchronizationContext, Dispatcher, BackgroundWorker"?



G>

G>Так что челендж примерно одинаковый,


Если челендж с и без — одинаковый, то кузнец, очевидно, не нужен.

G>

G>а понимать какие механизмы используются — необходимо для senior.


Цытаты себя — это конечно серьезный аргумент.
Re[2]: Вопросы по многопоточности и WCF
От: Lloyd Россия  
Дата: 27.04.11 21:58
Оценка:
Здравствуйте, rm822, Вы писали:

R>-базовые сведения об объектах синхронизации критикал секшны, семафоры, барьеры, спин вэйты\локи, SWMR

R>-базовые сведения о типичных багах — дедлоки, контеншн, гонки
R>-multitaskinig preemptive\non preemptive, scheduling
R>-модели памяти, лок-фри
R>-базовые представления о различных подходах — императивный vs функциональный, task based paralelism, асинхронная обработка, параллелизм в декларативных моделях (plinq, partitioning, SQL)
R>-базовые сведения об апааратной реализации, ассоциативность и когерентность кэшэй, латентность l1\l2\l3\ram, hyper threading, numa

Красавец, все правильно написал.
Re[2]: Вопросы по многопоточности и WCF
От: hokkaido  
Дата: 27.04.11 22:11
Оценка:
О! Супер!!

R>-базовые сведения об объектах синхронизации критикал секшны, семафоры, барьеры, спин вэйты\локи, SWMR

R>-базовые сведения о типичных багах — дедлоки, контеншн, гонки
R>-multitaskinig preemptive\non preemptive, scheduling
R>-модели памяти, лок-фри
R>-базовые представления о различных подходах — императивный vs функциональный, task based paralelism, асинхронная обработка, параллелизм в декларативных моделях (plinq, partitioning, SQL)
R>-базовые сведения об апааратной реализации, ассоциативность и когерентность кэшэй, латентность l1\l2\l3\ram, hyper threading, numa
Re[3]: Вопросы по многопоточности и WCF
От: hokkaido  
Дата: 27.04.11 22:15
Оценка:
Правда я всегда думал что l3 это и есть ram, но возможно за три года без embedded отстал...

R>>-базовые сведения об объектах синхронизации критикал секшны, семафоры, барьеры, спин вэйты\локи, SWMR

R>>-базовые сведения о типичных багах — дедлоки, контеншн, гонки
R>>-multitaskinig preemptive\non preemptive, scheduling
R>>-модели памяти, лок-фри
R>>-базовые представления о различных подходах — императивный vs функциональный, task based paralelism, асинхронная обработка, параллелизм в декларативных моделях (plinq, partitioning, SQL)
R>>-базовые сведения об апааратной реализации, ассоциативность и когерентность кэшэй, латентность l1\l2\l3\ram, hyper threading, numa
Re[2]: Вопросы по многопоточности и WCF
От: Олег К.  
Дата: 28.04.11 01:33
Оценка: +1
O>"Какими способами можно запустить другой поток в дотнете". Пока еще ни один индусик не ответил, хотя если судить по резюме, то все тимлиды, ну или на худой конец сеньоры с 10+ годами опыта в дотнете.

Технически это System.Threading.Thread класс который сведется к CreateThread(). Все остальное — надстройки. Если же ты имеешь в виду как задействовать другой поток в своем приложении, то на ум сразу приходит выше-упомянутый класс, BackgroundWorker и асинхронные делегаты, которые, в свою очередь, задействуют thread pool. Возможно есть еще что-то в более поздних версиях .NET-a что на ум не приходит, но пофиг.

А теперь, будь добр, скажи что ты ожидаешь услышать на этот вопрос и какие именно способы ты сам задействовал в своем коде? Если ты вообще пишешь код.
Re[8]: Вопросы по многопоточности и WCF
От: Олег К.  
Дата: 28.04.11 01:44
Оценка: 1 (1) +1 -2 :)
Здравствуйте, gandjustas, Вы писали:

Внимание! Этого человека слушать не надо. Это профессиональный читатель но никак не программист. Хинт: смотрим сертификаты данного товарища которые он разрекламировал в своей подписи. Складывается впечатление что данный товарищ решил сдать все тесты которые есть у Майкрософта.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.