Есть вот такой, далеко не лишенный интереса вопросник:
What Great .NET Developers Ought To Know (More .NET Interview Questions)
Ниже — в моем вольном переводе. Думаю что многим может пригодится — как для интервью, так и в целях самообразования...
Что должен знать правильный .NET-разработчик
Каждый кто пишет код Объясните разницу между нитью (Thread) и процессом (Process)
Что такое сервис (Windows Service) и как его жизненный цикл отличается от «стандартного» EXE?
Какой максимальный объем памяти может адресовать один процесс? Отличается ли он от максимального объема виртуальной памяти, доступной системе? Как это влияет на структуру системы?
В чем различие между EXE и DLL?
Что такое строгая типизация (strong-typing) в сравнении со слабой типизацией (weak-typing)? Какая предпочтительнее? Почему?
Некий продукт называют «контейнером компонентов» ("Component Container"). Назовите по крайней мере 3 контейнера компонентов, поставляемых с семейством продуктов Windows Server Family.
Что такое PID? Чем он полезен при выявлении неисправностей системы?
Сколько процессов могут слушать один и тот же порт TCP/IP?
Что такое GAC? Какую проблему он разрешает?
.NET-разработчик среднего уровня Объясните разницу между интерфейсно ориентированным (Interface-oriented), объектно ориентированным и аспектно ориентированным (Aspect-oriented) программированием
Объясните что такое «интерфейс» и чем он отличается от класса
Что такое Reflection?
В чем различие между XML Web Services с использованием ASMX и .NET Remoting с использованием SOAP?
Являются ли системы типов, представленные в XmlSchema и в CLS — изоморфными?
Концептуально, в чем различие между ранним и поздним связыванием (early-binding и late-binding)?
Использование Assembly.Load — это статическая или динамическая ссылка?
Когда уместно использование Assembly.LoadFrom, а когда Assembly.LoadFile?
Что такое «Asssembly Qualified Name»? Это имя файла? В чем различие между ними?
Правильно ли так писать?
Assembly.Load("foo.dll");
Чем отличается «strongly-named» сборка от «НЕ strongly-named» сборки?
Может ли DateTime равняться null?
Что такое JIT? Что такое NGEN? Каковы преимущества и ограничения каждого из них?
Как основанный на поколениях сборщик мусора в .NET CLR управляет жизненным циклом объекта? Что такое «non-deterministic finalization»?
В чем различие между Finalize() и Dispose()?
Чем полезен using()? Что такое IDisposable? Как он поддерживает deterministic finalization?
Что делает эта полезная команда? tasklist /m "mscor*"
В чем разница между «in-proc» и «out-of-proc»?
Какая технология позволяет выполнять out-of-proc взаимодействие в .NET?
Когда вы запускаете компонент из под ASP.NET, в каком процессе он работает под Windows XP? Windows 2000? Windows 2003?
Ведущий разработчик Что не так вот в следующей строке?
DateTime.Parse(myString);
Что такое PDB? Где они должны находится, чтобы можно было выполнять отладку?
Что такое «цикломатическая сложность» (cyclomatic complexity) и почему она важна?
Напишите стандартный lock() плюс «двойную проверку» для создания критической секции вокруг доступа к переменной.
Что такое «FullTrust»? Имеют ли FullTrust сборки, помещенные в GAC?
Какие преимущества получает ваш код, если вы декорируете его атрибутами, относящимися к особым 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) и a == b?
В контексте сравнения, что такое идентичность объектов по сравнению с эквивалентностью объектов?
Как можно выполнить глубокое копирование (deep copy) в .NET?
Изложите ваше понимание IClonable.
Что такое «упаковка» (boxing)?
string — это тип значений (value type) или ссылочный тип?
В чем значимость паттерна "PropertySpecified", используемого в XmlSerializer? Какую проблему он пытается разрешить?
Почему в .NET выходные параметры (out parameters) не стоит применять? Действительно ли это так?
Может ли атрибут быть установлен на один из параметров метода? Чем это полезно?
Разработчик компонентов на C# Сопоставьте использование override и new. Что такое «shadowing»?
Объясните использование virtual, sealed, override и abstract.
Объясните использование и значение каждого компонента строки:
Foo.Bar, Version=2.0.205.0, Culture=neutral, PublicKeyToken=593777ae2d274679d
Объясните различия между public, protected, private и internal.
Какое преимущество вы получаете от использования первичной сборки взаимодействия (Primary Interop Assembly, PIA)?
Благодаря какому механизму NUnit узнает, какой метод протестировать?
В чем различие между:
catch(Exception e){throw e;} и
catch(Exception e){throw;}
В чем разница между typeof(foo) и myFoo.GetType()?
Объясните что происходит в первом конструкторе:
public class c{ public c(string a) : this() {;}; public c() {;} }
Чем полезна такая конструкция?
Что такое «this»? Может ли this использоваться в статическом методе?
Разработчик на ASP.NET (UI) Объясните, как POST-запрос формы из браузера становится на серверной стороне событием — таким как Button1_OnClick.
Что такое «PostBack»?
Что такое «ViewState»? Как он кодируется? Является ли он шифрованным? Кто использует ViewState?
Что такое <machinekey> element и для чего используются эти две технологии ASP.NET? (В оригинале: What is the <machinekey> element and what two ASP.NET technologies is it used for?)
Какие три Session State providers доступны в ASP.NET 1.1? Какие преимущества и недостатки у каждого из них?
Что такое «Web Gardening»? Как его использование влияет на проект?
В заданном ASP.NET-приложении, сколько объектов-приложений имеется, если это одно-процессорная машина? двухпроцессорная? двухпроцессорная с включенным Web Gardening? Как это отражается на проекте?
Используются ли нити (threads) ASP.NET приложения повторно для различных запросов (requests)? Получает ли каждый HttpRequest свою собственную нить? Должны ли вы в ASP.NET использовать Thread Local storage?
Полезен ли атрибут [ThreadStatic] в ASP.NET? Есть ли побочный эффект? Это хорошо или плохо?
Дайте пример того, как использование HttpHandler может упростить существующий проект, который обслуживает Check Images на .aspx-странице.
На события какого вида может подписываться HttpModule? Какое влияние они могут оказать на реализацию? Что может быть сделано без перекомпиляции ASP.NET-приложения?
Опишите способы представления «arbitrary endpoint (URL)» и направьте запросы к этой endpoint в ASP.NET.
Объясните как работают cookies. Дайте пример злоупотребления Cookie.
Объясните важность HttpRequest.ValidateInput()?
Какого рода данные передаются в заголовках HTTP (HTTP Headers)?
Сравните HTTP-запросы вида GET и POST. Что такое «HEAD»?
Назовите и опишите по крайней мере 6 статус-кодов HTTP (HTTP Status Codes) и объясните о чем они говорят клиенту, давшему запрос.
Как работает «if-not-modified-since»? Как это может быть программно реализовано на ASP.NET?
Объясните <@OutputCache%> и использование «VaryByParam», «VaryByHeader».
Как работает «VaryByCustom»?
Как можно реализовать кэширование готового HTML в ASP.NET, кэшируя отправляемые версии страниц, полученные по всем значениям q= кроме q=5 (например, http://localhost/page.aspx?q=5)?
Разработчик, использующий XML В чем назначение XML Namespaces?
Когда уместно использование DOM? Когда неуместно? Есть ли ограничения по размеру?
Что такое «WS-I Basic Profile» и почему он важен?
Напишите простой XML-документ, использующий пространство имен (namespace) по умолчанию, а также qualified (prefixed) namespace. Добавьте элементы из обоих пространств имен.
В чем основное фундаментальное различие между элементами (Elements) и атрибутами (Attributes)?
В чем различие между «Well-Formed XML» и «Valid XML»?
Как бы вы валидировали XML используя .NET?
Почему такое использование — почти всегда неудачно. В каких случаях такое уместно?
myXmlDocument.SelectNodes("//mynode");
Объясните различие между «pull-style parsers» (XmlReader) и «eventing-readers» (Sax)
В чем различие между XPathDocument и XmlDocument? Опишите ситуацию когда один из них может быть использован над другим.
В чем различие между XML "Fragment" и XML "Document"
Что означает — «каноническая» форма XML?
Почему спецификация XML InfoSet отличается от Xml DOM? Что пытается решить InfoSet?
Сравните DTD и XSD. В чем они схожи, в чем различны? Что предпочтительнее и почему?
Поддерживаются ли DTD в System.Xml? Как именно?
Всякая ли XML Schema может быть представлена в виде графа объектов? А наоборот?