Hanselman’s Questions: List of Answers
Эта страница посвящена переводу, рассматриваемых мною в рамках данного журнала, вопросов по .NET уважаемого Scott Hanselman (Hanselman’s Questions: List of Answers, HQLA). Всего намечается 25 выпусков, каждый выпуск будет содержать, по возможности, полные ответы на очередные 3 вопроса. В ходе публикаций будут рассмотрены следующие подразделы вопросника: Everyone who writes code(Каждый кто пишет код), Mid-Level .NET Developer(Средний .NET разработчик), Senior Developers/Architects (Ведущий разработчик/Программный Архитектор), Developers using XML (Разработчик, использующий XML).
Что должен знать разработчик .NET
Каждый кто пишет код
- Опишите разницу между нитью и процессом.
- Что такое Сервис Windows и чем его жизненный цикл отличается от жизненного цикла обычного EXE файла?
- Каков максимальный объем памяти адресуемой одним процессом в Windows? Отличается ли этот объем от общего объёма виртуальной памяти выделяемой системой? Как это отражается на архитектуре системы?
- Какая разница между исполняемым EXE-фалом и библиотекой динамической линковки DLL?
- Чем строгая типизация отличается от нестрогой типизации? Какая предпочтительнее? Почему?
- Некий продукт является “Component Container”. Назовите хотя бы 3 компонента семейства Windows Server которые можно называть “Component Container”.
- Что такое PID? Как его можно использовать для устранения неисправностей системы?
- Сколько процессов могут “слушать” один TCP/IP порт?
- Что такое GAC? Какую проблему он решает?
Средний .NET разработчик
- Опишите разницу между интерфейсно-ориентированным, объектно-ориентированным и аспектно-ориентированным стилем программирования.
- Дайте описание Интерфейса и опишите основные его отличия от Класса.
- Что такое Reflection?
- В чем разница между XML Web Services использующем ASMX и .NET Remoting использующем SOAP?
- Изоморфны ли системы типов в XmlSchema и CLS?
- В чем концептуальная разница между “ранним” и “поздним” связыванием?
- Использование Assembly.Load статическая или динамическая ссылка на сборку?
- Когда предпочтительнее использовать Assembly.LoadFrom, а когда Assembly.LoadFile?
- Что такое Asssembly Qualified Name? Совпадает ли оно с именем фала и если нет, то в чем отличие?
- Верно ли написанное? Assembly.Load(“foo.dll”);
- В чем разница меджу сборками со строгим и нестрогим именованием?
- Может ли DateTimes иметь значение null?
- Что такое JIT? Что такое NGEN? В чем достоинства и недостатки каждого?
- Как сборщик мусора, основанный на поколениях, определяет время жизни объекта в .NET CLR? Что такое недетерминированная финализация?
- В чем разница между Finalize() и Dispose()?
- Чем полезен шаблон using() ? Что такое IDisposable? Как он поддерживает детерминированную финализацию?
- Что делает данная команда? tasklist /m “mscor*”
- В чем разница между “in-proc” и “out-of-proc”?
- Какая технология обеспечивает “out-of-proc” связь в .NET?
- Когда вы запускаете компонент с использованием ASP.NETкакой процесс он запускает на машине с ОС Windows XP? Windows 2000? Windows 2003?
Ведущий разработчик/Программный Архитектор
- Что не так со строкой? DateTime.Parse(myString);
- Что такое PDBs? Где они должны быть расположены, чтобы работал дебаггер?
- Что такое цикломатическая сложность и почему она важна?
- Напишите стандартный lock() и “двойную проверку” для создания критической секции, в которой происходит доступ к переменной.
- Что такое FullTrust? Имеют ли сбрки расположенные в GAC’е FullTrust?
- Какие положительные черты появятся у Вашего года, если Вы оформите его с использованием Security permissions атрибутов?
- Что делает эта команда? gacutil /l | find /i “Corillian”
- Что делает эта команда? sn -t foo.dll
- Какой порт должен быть открыт для использования DCOM поверх брандмауэра? Каково назначение 135 порта?
- Сравните OOP и SOA. Опишите принципы каждого подхода?
- Как работает XmlSerializer? Какие ACL permissions должен иметь процесс который его использует?
- Отчего catch(Exception) почти всегда плохая идея?
- В чем разница между Debug.Write и Trace.Write? Когда применяется каждый из них?
- В чем разница между Debug и Release билдом? Существует ли явное различие в скорости? Почему или почему нет?
- JIT работает пособрочно или помедодно? Как это влияет на working set?
- Опишите разницу между использованием абстрактного базового класса и интерфейса?
- В чем разница между a.Equals(b) and a == b?
- В контексте сравнения, сопоставьте идентификацию и эквивалентность объектов?
- Как сделать deep copy в .NET?
- Что такое IClonable?
- Что такое упаковка?
- Является ли string value типом или reference типом?
- Для чего используется “PropertySpecified” в XmlSerializer? Какую проблему он пытается решать?
- Почему использование out-параметров не самая лучшая идея в .NET? Так ли это?
- Может ли параметр метода иметь атрибут? Когда это полезно?
Разработчик, использующий XML
- Каково назначение XML Namespaces?
- Когда использование DOM предпочтительнее? Когда нет? Существуют ли ограничения связанные с размером?
- Что такое WS-I Basic Profile и почему он важен?
- Напишите небольшой XML документ использующий дефолтное пространство имен а так же qualified пространство имен. Используйте в документе элементы из обоих пространств имен.
- Какое самое главное фундаментальное отличие между Elements и Attributes?
- В чем разница между Well-Formed XML и Valid XML?
- Как бы Вы валидировали XML используя .NET?
- Почему такое использование выделения почти всегда неудачная идея? Когда это работает? myXmlDocument.SelectNodes(“//mynode”);
- Опишите разницу между парсерами pull-style (XmlReader) и eventing-readers (Sax)
- В чем разница между XPathDocument и XmlDocument? Опишите ситуацию, когда использование одного предпочтительнее использованию второго.
- В чем разница между XML “Fragment” и XML “Document.”
- Что означает фраза “каноническая форма” XML?
- Почему XML InfoSet спецификация отличается от Xml DOM? Что помогает решить InfoSet?
- Сравните DTDs и XSDs. В чем сходства и в чем различия? Который предпочтительнее и почему?
- Поддерживает ли System.Xml DTDs? Как?
- Можно ли представить XML Schema как объектный граф и наоборот?




.png)
[...] Первый выпуск ответов на вопросы HQLA. [...]
[...] С началом нового отчетного периода возобновляются HQLA, заметки посвященные разработке ПО и все такое прочее. [...]
[...] шестой вопрос ответов на вопросы Хансельмана, по поводу Component Cоntainer, пришло некоторое количество [...]