powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Что должен знать правильный .NET-разработчик
39 сообщений из 39, показаны все 2 страниц
Что должен знать правильный .NET-разработчик
    #38173730
.Speаker.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Зашел случайно на сайт одного разработчика, случайно в разделе "статьи" заинтересовала тема
- Что должен знать правильный .NET-разработчик
Ответ дан в виде вопросов на знание C# и прочего ...
Оцениваются 2 категории обычный разраб и ведущий

.NET-разработчик среднего уровня

1) Объясните разницу между интерфейсно ориентированным (Interface-oriented), объектно ориентированным и аспектно ориентированным (Aspect-oriented) программированием
2) Объясните что такое «интерфейс» и чем он отличается от класса
3) Что такое Reflection?
4) В чем различие между XML Web Services с использованием ASMX и .NET Remoting с использованием SOAP?
5) Являются ли системы типов, представленные в XmlSchema и в CLS — изоморфными?
6) Концептуально, в чем различие между ранним и поздним связыванием (early-binding и late-binding)?
7) Использование Assembly.Load — это статическая или динамическая ссылка?
8) Когда уместно использование Assembly.LoadFrom, а когда Assembly.LoadFile?
9) Что такое «Asssembly Qualified Name»? Это имя файла? В чем различие между ними?
10) Правильно ли так писать? Assembly.Load("foo.dll");
11) Чем отличается «strongly-named» сборка от «НЕ strongly-named» сборки?
12) Может ли DateTime равняться null?
13) Что такое JIT? Что такое NGEN? Каковы преимущества и ограничения каждого из них?
14) Как основанный на поколениях сборщик мусора в .NET CLR управляет жизненным циклом объекта? Что такое «non-deterministic finalization»?
15) В чем различие между Finalize() и Dispose()?
16) Чем полезен using()? Что такое IDisposable? Как он поддерживает deterministic finalization?
17) Что делает эта полезная команда? tasklist /m "mscor*"
18) В чем разница между «in-proc» и «out-of-proc»?
19) Какая технология позволяет выполнять out-of-proc взаимодействие в .NET?
20) Когда вы запускаете компонент из под ASP.NET, в каком процессе он работает под Windows XP? Windows 2000? Windows 2003?


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

1) Что не так вот в следующей строке? DateTime.Parse(myString);
2) Что такое PDB? Где они должны находится, чтобы можно было выполнять отладку?
3) Что такое «цикломатическая сложность» (cyclomatic complexity) и почему она важна?
4) Напишите стандартный lock() плюс «двойную проверку» для создания критической секции вокруг доступа к переменной.
5) Что такое «FullTrust»? Имеют ли FullTrust сборки, помещенные в GAC?
6) Какие преимущества получает ваш код, если вы декорируете его атрибутами, относящимися к особым Security permissions?
7) Что делает эта команда? gacutil /l | find /i "Corillian"
8) Что делает эта команда? sn -t foo.dll
9) Какие порты брандмауэра должны быть открыты для DCOM? Каково назначение порта 135?
10) Сопоставьте OOP и SOA. Каковы принципы каждого из них?
11) Как работает XmlSerializer? Каких ACL permissions требует использующий его процесс?
12) Почему catch(Exception) почти всегда — плохая мысль?
13) В чем разница между Debug.Write и Trace.Write? Когда должен быть использован каждый из них?
14) В чем различие между компиляцией в Debug и в Release? Есть ли значительная разница в скорости? Почему или почему нет?
15) Как работает JIT — по сборке целиком или по методу? Как это влияет на working set?
16) Сравните использование абстрактного базового класса и использование интерфейса?
17) В чем различие между a.Equals(b) и a == b?
18) В контексте сравнения, что такое идентичность объектов по сравнению с эквивалентностью объектов?
19) Как можно выполнить глубокое копирование (deep copy) в .NET?
20) Изложите ваше понимание IClonable.
21) Что такое «упаковка» (boxing)?
22) string — это тип значений (value type) или ссылочный тип?
23) В чем значимость паттерна "PropertySpecified", используемого в XmlSerializer? Какую проблему он пытается разрешить?
24) Почему в .NET выходные параметры (out parameters) не стоит применять? Действительно ли это так?
25) Может ли атрибут быть установлен на один из параметров метода? Чем это полезно?

---------------------------------------------------------------------------------------------
Сам ведущий. Как - то крутоваты вопросы показались, даже для обычного программера.
Причем вопросы в каждой группе - срвсем разной категории сложности.
Например в I группе имхо вопросы 2, 12, 15, 16 по сложности на голову ниже остальных
А во второй группе 16, 17, 20, 21, 22 , вообще для бегиннеров.

В общем имхо вопросы скомпанованы странно, что хотел сказать автор - не понятно.
Некоторые поставлены не совсем корректно.
Очень много вопросов показалось сложными, закрадывается мнение, что не дотягиваю ...

Обсудите плиз...
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38173778
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38173786
.Speаker.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
beg-in-er,
Да, я обратил уже внимание, там на сайте ссыль есть на источник.
Автор оригинала - профессор (40-45 лет), работает в Microsoft.
Да только что это означает? "Мерки" США? Наши хуже/лучше? Или что - то еще?
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38173924
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.Speаker.,

Странный набор вопросов, конечно. Всё они носит исключетельно технологический характер, полезный в весьма редких ситуациях. При этом как-то умудряются пропустить мимо многопоточность...
Похоже на троллинг от Хансельмана.
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38173965
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный .NET разработчик должен уметь писать программы без факапов согласно техническому заданию. Остальное вторично.
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38174265
.Speаker.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ, а что значит без факапов?
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38174472
sld
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sld
Гость
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38174567
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Что не так вот в следующей строке? DateTime.Parse(myString);
Культура чтоли не указана? Или чё?

2) Что такое PDB? Где они должны находится, чтобы можно было выполнять отладку?
Какая-то база для отладчика. Вроде должна лежать там же где и сборка.

3) Что такое «цикломатическая сложность» (cyclomatic complexity) и почему она важна?
Какая-то методика оценки сложности программы. Подробности в гугле.

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

5) Что такое «FullTrust»? Имеют ли FullTrust сборки, помещенные в GAC?
Полное доверие. Наверное.

6) Какие преимущества получает ваш код, если вы декорируете его атрибутами, относящимися к особым Security permissions?
Хз.

7) Что делает эта команда? gacutil /l | find /i "Corillian"
Чё-то ищет в гаке. Видимо, сборку с указанным именем.

8) Что делает эта команда? sn -t foo.dll
Подписывает сборку цифровой подписью?

9) Какие порты брандмауэра должны быть открыты для DCOM? Каково назначение порта 135?
В гугле.

10) Сопоставьте OOP и SOA. Каковы принципы каждого из них?
В википедии

11) Как работает XmlSerializer? Каких ACL permissions требует использующий его процесс?
Через Emit. Хз.

12) Почему catch(Exception) почти всегда — плохая мысль?
В вопросе содержится неверное утверждение. Если catch(Exception) плохо - тогда и finally пользоваться нельзя.

13) В чем разница между Debug.Write и Trace.Write? Когда должен быть использован каждый из них?
В гугле. Когда удобнее.

14) В чем различие между компиляцией в Debug и в Release? Есть ли значительная разница в скорости? Почему или почему нет?
Всё зависит от настройки профилей Debug и Release. Разницы может вообще не быть.

15) Как работает JIT — по сборке целиком или по методу? Как это влияет на working set?
По методу (в Java по классу). Пофиг.

16) Сравните использование абстрактного базового класса и использование интерфейса?
В классе может быть реализация. Интерфейсы можно множественно наследовать.

17) В чем различие между a.Equals(b) и a == b?
Не помню.

18) В контексте сравнения, что такое идентичность объектов по сравнению с эквивалентностью объектов?
Сравнение адреса объекта vs сравнение его содержимого. Или про что это? Обычно это называют "сравнение по ссылке" и "сравнение по значению".

19) Как можно выполнить глубокое копирование (deep copy) в .NET?
XmlSerializer

20) Изложите ваше понимание IClonable.
Знаю

21) Что такое «упаковка» (boxing)?
Знаю

22) string — это тип значений (value type) или ссылочный тип?
Неизменяемый ссылочный

23) В чем значимость паттерна "PropertySpecified", используемого в XmlSerializer? Какую проблему он пытается разрешить?
В MSDN

24) Почему в .NET выходные параметры (out parameters) не стоит применять? Действительно ли это так?
И Dictionary.TryGetValue тоже лучше не пользоваться.

25) Может ли атрибут быть установлен на один из параметров метода? Чем это полезно?
Да. Будет параметер с установленным атрибутом. Или намёк на PInvoke?
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38174585
dzone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Что не так вот в следующей строке? DateTime.Parse(myString);

Это типа myString не объявлен или возможно ошибка - нужно было использовать DateTime.TryToParse ???
Не могу понять смысл таких вопросов, толком не понятно что просят найти.
Давно еще у меня было такое собеседование, дает мне чувак на листке бумаги кусок кода, примерно такое:

try{
//тут создание и запись в файл (синтаксис без ошибок)
}
catch(exception ex)
{
// обработка ошибки
}

что не так в этом коде? Ну я посмотрел, синтаксис везде ровный, все нормально говорю. А он - нет не нормально, нет перехвата ошибки IOException, вдруг диск переполнен? Ё..ный стыд, ну понятно что можно кучу эксепшинов расставить, но это же зависит от задания. Таким же способом я мог бы ответить что вы в reference IO не подключили, namespace и класс не объявили.....но он оказался упертый как баран.
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38174592
dzone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К8) Что делает эта команда? sn -t foo.dll
Подписывает сборку цифровой подписью?


просто возвращает token файла
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38174594
.Speаker.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1) Что не так вот в следующей строке? DateTime.Parse(myString);
Все так. Иначе зачем тогда первая реализация метода Parse с одним параметром.
12) Почему catch(Exception) почти всегда — плохая мысль?
Не получаем никаких данных об ошибке, вызвавшей исключение.
Равносильно конструкции
try
{
}
finally
{
}
17) В чем различие между a.Equals(b) и a == b?
Ни в чем, если не overriden
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38174611
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К
4) Напишите стандартный lock() плюс «двойную проверку» для создания критической секции вокруг доступа к переменной.
Чё за двойная проверка?


http://ru.wikipedia.org/wiki/Double_checked_locking
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38174615
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.Speаker.17) В чем различие между a.Equals(b) и a == b?
Ни в чем, если не overridenНе, это баян про boxing .
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38174732
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.Speаker.что хотел сказать автор - не понятно.

Если ваш мозг, еще не достаточно загружен, и без того не малым объемом знаний .net fw, то есть еще не мало тем, которые могут не пригодится )
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38174739
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

почему? зависит же от реализации)
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38174747
.Speаker.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netivan,
Да и == м.б. overload
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38174770
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.Speаker.,

о чем и речь. он может же equals вызывать))
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38174775
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я не ответил на
1-4
1-5
1-8
1-10
1-17

и на

2-9
2-11

Итого я почти сениор но недотягиваю до джуниора

много дурацких вопросов конечно и нет ряда принципиальных
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38174791
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имхо норм вопросы это в сторону:
ref vs val,
delegate vs event,
equality,
и дальше от них вглубь. По моим наблюдениям - жизненные темы, в которых народ часто плавает
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38174810
Фотография mmnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я в шоке, эти вопросы меня ставят в тупик. Сюда еще шаблоны проектирования надо добавить .
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38174815
.Speаker.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mmnick, скажи по русски - ПАТТЕРНЫ ;-)
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38174978
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто вообще хоть раз использовал "полезную" команду tasklist?

Про using я всегда начинаю отвечать, мол для импорта пространств имен и для создания псевдонимов типа, что вводит в ступор собеседующего :) он то хотел услышать про IDisposable.
Про ООП и SOA можно говорить часами, один чего полиморфизм в ООП чего стоит и как и где реализуется.
Нет ни одного вопроса лямбды или обобщенные методы. Например, может ли анонимный тип использоваться в качестве обобщенного параметра в обобщенном методе. Или не слова о ковариантности - контвариантности.
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38175028
Фотография Esofter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВПро using я всегда начинаю отвечать, мол для импорта пространств имен и для создания псевдонимов типа, что вводит в ступор собеседующего :) он то хотел услышать про IDisposable.

using еще генерирует try-finally. в трай помещает тело юзинга, в файнали - диспоуз
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38175029
Фотография Esofter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К24) Почему в .NET выходные параметры (out parameters) не стоит применять? Действительно ли это так?
И Dictionary.TryGetValue тоже лучше не пользоваться.

почему?
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38175086
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВНет ни одного вопроса лямбды или обобщенные методы. Например, может ли анонимный тип использоваться в качестве обобщенного параметра в обобщенном методе. Или не слова о ковариантности - контвариантности.
beg-in-er видимо началось всё отсюда февраля 21, 2005
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38175386
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EsofterАлексей К24) Почему в .NET выходные параметры (out parameters) не стоит применять? Действительно ли это так?
И Dictionary.TryGetValue тоже лучше не пользоваться.

почему?Потому что там out-параметер. :-)
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38175644
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КEsofterпропущено...


почему?Потому что там out-параметер. :-)А почему out-параметры не стоит применять?
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38175652
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyАлексей Кпропущено...
Потому что там out-параметер. :-)А почему out-параметры не стоит применять?Вот и я не знаю почему...
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38175664
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КAntonariyпропущено...
А почему out-параметры не стоит применять?Вот и я не знаю почему...

Что должен НЕ знать правильный .NET-разработчик
1) Что кто-то там считает, что out-параметры не стоит применять

Предлагаю дополнить список :)
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38175667
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВот и я не знаю почему...
Архитектурный перфекционизм это.
http://stackoverflow.com/questions/2366741/what-is-bad-practice-when-using-out-parameters
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38175694
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныАлексей КВот и я не знаю почему...
Архитектурный перфекционизм это.
http://stackoverflow.com/questions/2366741/what-is-bad-practice-when-using-out-parameters Там говорится про excessive use, то есть злоупотреблять не стоит. Со злоупотреблять соглашусь, но избегать не стану :)
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38175711
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам не пишу свой код с аут параметрами, готовый код из фреймворка юзаю с аут параметрами. Я перфекционист?
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38175720
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyТам говорится про excessive use, то есть злоупотреблять не стоит. Со злоупотреблять соглашусь, но избегать не стану :)
Это говорит один оратор. А второй говорит вот что:
Using out parameters at all is generally bad practice. It typically indicates a method that is doing more than one well defined thing.
МСУСам не пишу свой код с аут параметрами, готовый код из фреймворка юзаю с аут параметрами. Я перфекционист?
Я всегда придерживался мнения, что с дури можно много чего себе сломать. А не с дури - вряд ли.
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38175767
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныЭто говорит один оратор. А второй говорит вот что:
Using out parameters at all is generally bad practice. It typically indicates a method that is doing more than one well defined thing.Этот второй пытается бездумно подогнать все ситуации под это правило, при этом сам себе противореча (а может не себе). Метод может содержать one well defined thing, возвращая при этом несколько результатов + успех/не успех этой thing. Я с такими ситуациями регулярно сталкиваюсь в задачах парсинга.

Код: vbnet
1.
2.
3.
4.
If WellDefinedThing(x,i) then
   y = x
   z = i
end if


Вместо этого предлагается делать целый объект:
Код: vbnet
1.
2.
3.
4.
5.
ret = WellDefinedThing
If ret.Success then
   y = ret.x
   z = ret.i
end if

От того, что результат вернулся в полях объекта, а не параметрах, принцип "one well defined thing" внезапно перестал быть нарушен?
А если логика работы с результатом находится внутри блока if, нафига тут лишняя писанина? А еще это медленней.

Не случайно заплюсовали первого оратора, а не второго.
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38175784
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в MS активно используют, и ничо )

GetAllUsers Method
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38175900
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyВместо этого предлагается делать целый объект
Ну, можно еще вернуть Tuple.
AntonariyОт того, что результат вернулся в полях объекта, а не параметрах, принцип "one well defined thing" внезапно перестал быть нарушен?
А если логика работы с результатом находится внутри блока if, нафига тут лишняя писанина? А еще это медленней.
Не случайно заплюсовали первого оратора, а не второго.
Вы бы написали это автору, на SO. Я лично не испытываю никакой паранойи и подозрений по поводу этих out-параметров.
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38175984
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныАлексей КВот и я не знаю почему...
Архитектурный перфекционизм это.Это разговоры программистов-пенсионеров о вечном. Можно не обращать внимания. :-)
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38182030
Multy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большинство вопросов редкой ненужности. Понятно, что чувак хорошо разбирается в вопросе, тока не знает зачем это нужно.
...
Рейтинг: 0 / 0
Что должен знать правильный .NET-разработчик
    #38182136
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Multy, у Хансельмана блог есть, спросите там.
...
Рейтинг: 0 / 0
39 сообщений из 39, показаны все 2 страниц
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Что должен знать правильный .NET-разработчик
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]