Что должен знать правильный .NET-разработчик
От: nzeemin Россия http://nzeemin.livejournal.com/
Дата: 30.03.05 09:32
Оценка: 78 (16) -1
Есть вот такой, далеко не лишенный интереса вопросник:
What Great .NET Developers Ought To Know (More .NET Interview Questions)
Ниже — в моем вольном переводе. Думаю что многим может пригодится — как для интервью, так и в целях самообразования...

Что должен знать правильный .NET-разработчик

Каждый кто пишет код
.NET-разработчик среднего уровня
Ведущий разработчик
Разработчик компонентов на C#
Разработчик на ASP.NET (UI)
Разработчик, использующий XML
Re: Что должен знать правильный .NET-разработчик
От: Аноним  
Дата: 30.03.05 10:03
Оценка: -1
Здравствуйте, nzeemin, Вы писали:

N>
  • Некий продукт называют «контейнером компонентов» ("Component Container"). Назовите по крайней мере 3 контейнера компонентов, поставляемых с семейством продуктов Windows Server Family.

    А какой ответ?

    N>
  • Сколько процессов могут слушать один и тот же порт TCP/IP?

    У порта может быть один слушатель и это независит от количества процессов.

    N>
  • Использование Assembly.Load — это статическая или динамическая ссылка?

    И как это понимать?

    N>Ведущий разработчик[list]

    N>
  • Что не так вот в следующей строке?
    N>DateTime.Parse(myString);

    Действительно, а что не так?

    N>
  • Напишите стандартный lock() плюс «двойную проверку» для создания критической секции вокруг доступа к переменной.

    И что тут спрашивалось?

    N>
  • Какие порты брандмауэра должны быть открыты для DCOM? Каково назначение порта 135?

    Вопрос подрузомевает ответ

    Дальше такой же бред.
  • Re[2]: Что должен знать правильный .NET-разработчик
    От: csharper  
    Дата: 30.03.05 10:21
    Оценка:
    Здравствуйте, <Аноним>, Вы писали:

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



    N>>
  • Использование Assembly.Load — это статическая или динамическая ссылка?

    А>И как это понимать?


    Наверное вопрос поставлен глупо... ясно что динамическая.


    N>>Ведущий разработчик[list]

    N>>
  • Что не так вот в следующей строке?
    N>>DateTime.Parse(myString);

    А>Действительно, а что не так?


    наверное от настроек культуры зависит, не всегда будет работать.


    N>>
  • Напишите стандартный lock() плюс «двойную проверку» для создания критической секции вокруг доступа к переменной.

    А>И что тут спрашивалось?


    Видимо у автор программирует по своим понятиям
  • Re: Что должен знать правильный .NET-разработчик
    От: Аноним  
    Дата: 30.03.05 10:43
    Оценка:
    " Напишите стандартный lock() плюс «двойную проверку» для создания критической секции вокруг доступа к переменной."

    а тут и не спрашивается , а проситься


    данное сообщение получено с www.gotdotnet.ru
    ссылка на оригинальное сообщение
    Re[3]: Что должен знать правильный .NET-разработчик
    От: Аноним  
    Дата: 30.03.05 11:03
    Оценка:
    Здравствуйте, csharper, Вы писали:

    N>>>Ведущий разработчик[list]

    N>>>
  • Что не так вот в следующей строке?
    N>>>DateTime.Parse(myString);

    А>>Действительно, а что не так?


    C>наверное от настроек культуры зависит, не всегда будет работать.


    Работать будет всегда. Другое дело, что не ту дату отдавать. Но эдак можно вооще UTC использовать и ждать на другом конце, что его не как обычную локальную дату интерпретируют.

    N>>>
  • Напишите стандартный lock() плюс «двойную проверку» для создания критической секции вокруг доступа к переменной.

    А>>И что тут спрашивалось?


    C>Видимо у автор программирует по своим понятиям


    я вот сначала подумал что то вроде этого

    if (_myVal == null)
    {
    lock (_myValLock)
    {
    if (_myVal == null)
    _myVal = new MyVal();
    }
    }

    Складывается такое ощущение, что автор привел список того, что он сам знает, а не того, что должен знать разрабочик.
  • Re[4]: Что должен знать правильный .NET-разработчик
    От: _Umka  
    Дата: 30.03.05 16:41
    Оценка:
    А>Складывается такое ощущение, что автор привел список того, что он сам знает, а не того, что должен знать разрабочик.

    Больше напоминает список типичных вопросов с какого-то форума.
    --
    То, что вы уникальны еще не значит, что от вас есть толк
    Re: Что должен знать правильный .NET-разработчик
    От: Igor Trofimov  
    Дата: 30.03.05 17:48
    Оценка: +2
    N>
  • Использование Assembly.Load — это статическая или динамическая ссылка?

    Я бы еще добавил к обязательным навыкам умение правильно и понятно выражать мысли на русском языке.

    N>
  • Может ли DateTime равняться null?

    ... и строго.

    N>
  • Сравните использование абстрактного базового класса и использование интерфейса?
    N>
  • В чем различие между a.Equals(b) и a == b?
    N>
  • В контексте сравнения, что такое идентичность объектов по сравнению с эквивалентностью объектов?
    N>
  • Что такое «упаковка» (boxing)?
    N>
  • string — это тип значений (value type) или ссылочный тип?

    Почему это не в "обычном" разработчике а в ведущем?

    N>
  • Сопоставьте использование override и new. Что такое «shadowing»?
    N>
  • Объясните использование virtual, sealed, override и abstract.
    N>
  • Объясните использование и значение каждого компонента строки:
    N>Foo.Bar, Version=2.0.205.0, Culture=neutral, PublicKeyToken=593777ae2d274679d
    N>
  • Объясните различия между public, protected, private и internal.
    N>
  • Что такое «this»? Может ли this использоваться в статическом методе?

    И это почему-то не в "общем" списке.

    А вообще список интересный. Побольше бы только вопросов на практику, а не на "читал-не читал".
  • Re: Что должен знать правильный .NET-разработчик
    От: Кирилл Осенков Украина
    Дата: 30.03.05 20:59
    Оценка:
    Здравствуйте, nzeemin, Вы писали:

    N>Есть вот такой, далеко не лишенный интереса вопросник:



    Список супер. Спасибо!
    А каждый ведущий разработчик действительно просто обязан знать double-check locking pattern — это же азы синхронизации и классических операционных систем, можно сказать целой науки.
    Re: Что должен знать правильный .NET-разработчик
    От: Блудов Павел Россия  
    Дата: 31.03.05 07:20
    Оценка:
    Здравствуйте, nzeemin, Вы писали:


    И это должен знать "Каждый кто пишет код"?
    В теории всё конечно просто: пишем мета-слушателя, который слушает заданный порт и при соединении с клиентом делегирует socket нужному процессу.
    На приктике тут пол-месяца работы совсем недешевого кодера.
    ... << RSDN@Home 1.1.4 beta 4 rev. 333>>
    Re[2]: Что должен знать правильный .NET-разработчик
    От: Блудов Павел Россия  
    Дата: 31.03.05 07:25
    Оценка:
    Здравствуйте, Кирилл Осенков, Вы писали:

    КО>Список супер. Спасибо!

    КО>А каждый ведущий разработчик действительно просто обязан знать double-check locking pattern — это же азы синхронизации и классических операционных систем, можно сказать целой науки.

    Каждый должен знать. А ведущий должен знать про это
    Автор: Serginio1
    Дата: 06.05.04
    ... << RSDN@Home 1.1.4 beta 4 rev. 333>>
    Re[2]: Что должен знать правильный .NET-разработчик
    От: Аноним  
    Дата: 01.04.05 07:40
    Оценка:
    Правельный .NET разработчик должен знать, что когда он сделает свою правильную прогу, ее взломает не провильный .NET разработчик и будет успешно юзать сие творение.


    данное сообщение получено с www.gotdotnet.ru
    ссылка на оригинальное сообщение
    Re: Что должен знать правильный .NET-разработчик
    От: Murom Россия  
    Дата: 01.04.05 09:31
    Оценка:
    Здравствуйте, nzeemin, Вы писали:

    N>Есть вот такой, далеко не лишенный интереса вопросник:

    N>What Great .NET Developers Ought To Know (More .NET Interview Questions)
    N>Ниже — в моем вольном переводе. Думаю что многим может пригодится — как для интервью, так и в целях самообразования...

    По-моему, это не то, что должен знать правильный .NET-разработчик,
    а смесь вопросов по теории (основы ОС, ОО, параллельное программирование, ...)
    и практикой — общие вопросы алгоритмизации, паттерны проектирования, абсолютно
    специфичные для .NET нюансы.

    Теоритические вопросы надо знать (а не должно знать).
    Практические вопросы — это опыт работы на конкретном языке.
    - Eugeny
    Re[2]: Что должен знать правильный .NET-разработчик
    От: AndrewVK Россия http://blogs.rsdn.org/avk
    Дата: 01.04.05 11:23
    Оценка:
    Здравствуйте, Igor Trofimov, Вы писали:

    iT>Почему это не в "обычном" разработчике а в ведущем?


    Для ведущего я бы спрсил то же самое про enum.

    iT>А вообще список интересный. Побольше бы только вопросов на практику, а не на "читал-не читал".


    Да, некоторые вопросы неплохие. Но где то треть — чушь собачья. Особенно добивает одна вещь — когда в вопросах вводятся нестандартные термины и спрашивается что они означают.
    Вобщем прежде чем использовать где то, надо тщательно профильтровать.
    ... << RSDN@Home 1.1.4 beta 4 rev. 379>>
    AVK Blog
    Что должен знать правильный .NET-разработчик
    От: Аноним  
    Дата: 01.04.05 14:57
    Оценка:
    В принципе набор вопрос хорош действительно для подготовки к интервью.
    Но как мне понравилось на интервью, человек должен обладать методологие проектирование — OOП — оно и на чукотке OOП.
    А каким образом я нашу мютекс, через lock(), synchronize() или Mutex — это уже зависит от технологии, а вот человек не понимающий для чего это, никогда ее нигде не напишет.




    данное сообщение получено с www.gotdotnet.ru
    ссылка на оригинальное сообщение
    Re: Что должен знать правильный .NET-разработчик
    От: GlebZ Россия  
    Дата: 01.04.05 18:06
    Оценка: :))) :))) :))) :))
    Здравствуйте, nzeemin, Вы писали:

    N>Что должен знать правильный .NET-разработчик

    Да ну?

    N>Каждый кто пишет код

    это программисты и шифровальщики
    N>
  • Объясните разницу между нитью (Thread) и процессом (Process)
    Никакой. Процесс — основная нить программы.
    N>
  • Что такое сервис (Windows Service) и как его жизненный цикл отличается от «стандартного» EXE?
    сервис не загружается проводником
    N>
  • Какой максимальный объем памяти может адресовать один процесс?
    Литров так 3.
    N>Отличается ли он от максимального объема виртуальной памяти, доступной системе?
    Ага, виртуальная память это то что я заказываю у начальства, а вот доступной системе — значительно меньше.
    N>Как это влияет на структуру системы?
    А никак. Сколько памяти не бери, все сожруть проклятые.
    N>
  • В чем различие между EXE и DLL?
    PE заголовком
    N>
  • Что такое строгая типизация (strong-typing) в сравнении со слабой типизацией (weak-typing)? Какая предпочтительнее? Почему?
    Абсолютно согласен. VBScript — величайший из языков.
    N>
  • Некий продукт называют «контейнером компонентов» ("Component Container"). Назовите по крайней мере 3 контейнера компонентов, поставляемых с семейством продуктов Windows Server Family.
    Врет четыре. Minesweeper, Solitare, Pinball и Freecell/
    N>
  • Что такое PID? Чем он полезен при выявлении неисправностей системы?
    Недописанное слово обозначающее мужчин другой ориентации
    N>
  • Сколько процессов могут слушать один и тот же порт TCP/IP?
    На скольких компах?
    N>
  • Что такое GAC? Какую проблему он разрешает?
    А это что за слово в три буквы?

    Ну не нравятся мне такие анкеты. Пока с человеком не поговоришь, хрен поймешь что он представляет.

    Всех, с 1 апреля.

    С уважением, Gleb.
    ... << RSDN@Home 1.1.4 beta 4 rev. 358>>
  • Re: Что должен знать правильный .NET-разработчик
    От: Аноним  
    Дата: 01.04.05 18:52
    Оценка:
    2 Gleb:

    Очень понравились ответы
    ________________________________
    Best regards, Oleg Ufaev
    Rostov .Net User Group


    данное сообщение получено с www.gotdotnet.ru
    ссылка на оригинальное сообщение
    Re: Что должен знать правильный .NET-разработчик
    От: Аноним  
    Дата: 01.04.05 19:30
    Оценка:
    Ну дык это и были ПРАВИЛЬНЫЕ ответы ПРАВИЛЬНОГО .NET разработчика ))


    данное сообщение получено с www.gotdotnet.ru
    ссылка на оригинальное сообщение
    Re: Что должен знать правильный .NET-разработчик
    От: Аноним  
    Дата: 11.04.05 22:05
    Оценка:
    А каждый ведущий разработчик действительно просто обязан знать double-check locking pattern — это же азы синхронизации.

    ... и аккуратно разложенными граблями

    [url=http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpatterns/html/ImpSingletonInCsharp.asp&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpatterns/html/ImpSingletonInCsharp.asp

    Note: The common language runtime resolves issues related to using Double-Check Locking that are common in other environments. For more information about these issues, see The Double-Checked Locking Is Broken Declaration, on the University of Maryland, Department of Computer Science Web site, at

    -- Если тебе помогли, незабудь сказать спасибо --
    -- Это всё мое личное мнение которое может не совпадать с Вашим или может быть ошибочным --

    .NetCoder


    данное сообщение получено с www.gotdotnet.ru
    ссылка на оригинальное сообщение
    Re: Что должен знать правильный .NET-разработчик
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 07.03.07 13:35
    Оценка: +1
    Здравствуйте, nzeemin, Вы писали:

    N>Ведущий разработчик

    N>
  • Что не так вот в следующей строке?
    N>DateTime.Parse(myString);

    Можно узнать, а зачем нужно это знать?
    Скажу чесно, что без помощи IDE ли хелпа я затрудняюсь ответить на этот вопрос.
    Ну, разве что знчение вычисления теряется.
    Если речь о форматах дат, то может мне как раз нужно конкретное поведение?

    В общем, какой-то мелочный и совершенно не важный вопрос. Можно его не знать и решать сложнейшие задачи.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
  • Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Re[2]: Что должен знать правильный .NET-разработчик
    От: VladD2 Российская Империя www.nemerle.org
    Дата: 07.03.07 13:35
    Оценка:
    Здравствуйте, GlebZ, Вы писали:

    N>>
  • Объясните разницу между нитью (Thread) и процессом (Process)
    GZ>Никакой. Процесс — основная нить программы.

    Садись — два.
    Процесс в WinAPI — это адрессное простраство в котром может выполняться от нуля до нескольких потоков.

    N>>
  • Какой максимальный объем памяти может адресовать один процесс?
    GZ>Литров так 3.

    64-бтыный?
    Что до "адресовать", то теоритически 4 Гб. Но безопасный дотнетныей код вообще ничего адресовать не может .
    Что до доступного для процесса адрессного пространства, то это очень тонкий вопрос. Он зависит от многих факторов.
    ... << RSDN@Home 1.2.0 alpha rev. 637>>
  • Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.