.NET
牛人应该知道些什么?
任何一个使用
.NET
的人
描述线程与进程的区别?
什么是
Windows 服务,它的生命周期与标准的 EXE
程序有什么不同
Windows 上的单个进程所能访问的最大内存量是多少?它与系统的最大虚拟内存一样吗?这对于系统设计有什么
影响?
EXE 和 DLL
之间的区别是什么?
什么是强类型,什么是弱类型?哪种更好些?为什么
?
PID
是什么?在做系统的故障排除时如何使用它?
单个
TCP/IP
端口上能够侦听多少个进程?
什么是
GAC?它解决了什么问题?
中级
.NET
开发人员
阐述面向接口、面向对象、面向方面编程的区别
什么是
Interface?它与 Class
有什么区别?
什么是反射
?
使用
ASMX 的 XML Web 服务与使用 SOAP 的.NET Remoting 的区别?
类型系统是由
XMLSchema 表示的吗?CLS 是 XMLSchema
表示的吗?
从概念上阐述前期绑定(
early-binding)和后期绑定(late-binding)的区别?
调用
Assembly.Load
算静态引用还是动态引用?
何时使用
Assembly.LoadFrom?何时使用 Assembly.LoadFile
?
什么叫
Assembly Qualified Name
?它是一个文件名吗?它有什么不同?
Assembly.Load("foo.dll");
这句话是否正确?
做强签名的
assembly 与不做强签名的 assembly
有什么不同?
DateTime 是否可以为 null?
什么叫
JIT?什么是 NGEN
?它们分别有什么限制和好处?
.NET CLR
中一代的垃圾收集器是如何管理对象的生命周期的?什么叫非确定性终结?
Finalize()和 Dispose()之间的区别?
using() 语法有用吗?什么是 IDisposable
?它是如何实现确定性终结的。
tasklist /m "mscor*"
这句命令是干嘛的?
in-proc 和 out-of-proc
的区别
.NET 里的哪一项技术能够实现 out-of-proc
通讯?
当你在
ASP.NET 中运行一个组件时,它在 Windows XP, Windows 2000, Windows 2003 上分别跑在哪个
进程里面?
高级开发人员
/
架构师
DateTime.Parse(myString);
这行代码有什么问题?
PDB 是什么东西?
在调试中它应该放在哪里?
什么叫圈复杂度(
cyclomatic complexity
)?为什么它很重要?
写一个标准的
lock(),在访问变量的前后创建临界区,要有"双重检查"
,
什么叫
FullTrust?放入 GAC 的 assembly 是否是 FullTrust 的?
代码加上需要安全权限的特性有什么好处?
gacutil /l | find /i "Corillian"
这句命令的作用是什么?
sn -t foo.dll
这句命令是干嘛的?
DCOM 需要防火墙打开哪些端口?端口 135
是干嘛用的?
对比
OOP 和 SOA
,它们的目的分别是什么?
XmlSerializer 是如何工作的?使用这个类的进程需要什么 ACL
权限?
为什么不提倡
catch(Exception)
?
Debug.Write 和 Trace.Write
有什么不同?何时应该使用哪一个?
Debug Build 和 Release Build
的区别,是否会有明显的速度变化?请说明理由。
JIT 是以 assembly 为单位发生还是以方法为单位发生?这对于工作区有何影响?
对比抽象基类和接口的使用
a.Equals(b)和 a == b
一样吗?
在对象比较中,对象一致和对象相等分别是指什么?