(澄清一下,我发帖的目的不是用来专门给人评价这些问题的好坏的,实际上我所在 的公司就考察这些问题。而能够基本上答出来的可以说百里挑一。如果各位觉得这些问题很简单,那么基本上在.NET面试环节就没有什么问题了,同时欢迎提供 一些更多的问题。如果还有些不知道,那么不妨静下心来思考一下(或者用15秒搜索一下),没有必要花太多时间来攻击题目的合理性。毕竟,几乎所有的面试都 是这样。如果没法改变,我们还是学着适应吧。)
如果你的简历上面说“精通.NET”,那么下面的问题应该大都可以给出较完美的答案。我会稍后给出一些我的想法,还请各位不吝指正并参与讨论。也欢迎提供给我更多的问题。 这里还有一些基础问题:http://www.cnblogs.com/dflying/archive/2006/04/01/364458.html

注:对于每个判断是非问题,都要考虑“为什么”与“为什么不”。

  1. Thread和Process之间有什么区别?.NET新引入了Application Domain的概念,这样他们三个之间有什么区别?引入了Application Domain会带来一些潜在的问题么?
  2. Windows Service与普通的EXE在执行过程中有什么区别?
  3. 一个进程可以访问的Windows地址空间有多大?等于系统的虚拟内存大小么?这两方面将对系统的设计产生什么样的影响?
  4. EXE和DLL之间的区别是什么?在系统设计中应该如何选择使用它们?
  5. 普通的EXE与.NET EXE的执行过程有什么不同?
  6. 什么是弱类型,什么是强类型?在系统设计中应该首先考虑使用哪种类型?
  7. PDB文件是作什么用的?里面包含了什么信息?
  8. Cyclomatic Complexity是什么?为什么它很重要?
  9. 为创建一个critical section以访问某个变量书写一个标准的lock() 并加上double check。
  10. 为某个对象实现标准的Dispose模式。
  11. 什么是FullTrust? 存在于GAC中的 assembly 拥有FullTrust么?
  12. 下面这个命令是做什么的?gacutil /l | find /i “system”
  13. 下面这个命令是作什么的? sn -t something.dll
  14. 跨防火墙的 DCOM必须打开哪个端口?端口135是用来做什么的?
  15. 有什么办法可以与现有unmanaged code集成?在集成的时候应该考虑什么问题?
  16. 简要解释一下OOP与SOA都是用来作什么的?
  17. XmlSerializer是如何工作的?进程运行XmlSerializer时候需要什么样的ACL权限?
  18. 在系统设计时,何时应该使用try catch?何时需要避免使用?
  19. Debug.Write()和Trace.Write()之间有什么区别?二者分别应该用于何处?
  20. Debug Build和Release Build有什么区别?在执行效率上有什么明显的区别么?
  21. JIT是针对Assembly还是Method发生的?解释一下为什么.NET的设计者要这样做?
  22. 简要描述一下GC的执行过程。
  23. 应该如何选择使用abstract class还是interface?
  24. 在设计一个自定义类型时应如何选择使用Value Type还是Reference Type?
  25. 对于Value Type和Reference Type,a.Equals(b)的默认实现方式有什么不同?
  26. .NET中为什么不提供默认的deep copy?如果需要,要如何实现deep copy?
  27. 相对于.NET 1.1,.NET2.0为了避免过度的boxing/unboxing造成的系统开销提供了哪些支持?
  28. String是Value Type还是Reference Type?为什么.NET中的String对象被设置成immutable?

如果您能较完美的回答其中大多数问题,你已经可以毫无疑问的宣称自己“精通.NET”了。祝各位好运!

.NET方向高级开发人员面试时应该事先考虑的问题的更多相关文章

  1. [置顶] think in java interview-高级开发人员面试宝典(二)

    从现在开始,以样题的方式一一列出各种面试题以及点评,考虑到我在前文中说的,对于一些大型的外资型公司,你将会面临全程英语面试,因此我在文章中也会出现许多全英语样题. 这些题目来自于各个真实的公司,公司名 ...

  2. 30K iOS程序员的简述:如何快速进阶成为高级开发人员

    前言: 本篇文章适用于所有在这个行业已经有了几年时间后想要在职业生涯中取得突破的开发人员,编程人员和程序员(或者你可能刚刚开始,但希望你能看到你的路径) 本文适合那些有着简单愿望的人:你想成为一名高级 ...

  3. [置顶] think in java interview-高级开发人员面试宝典(一)

    “生死六重门” 无论你是在职,非在职,高级工程师,工程师,架构师,如果你正在面试阶段,请看完此文! 相信这篇文章对你的职业生涯和阶值观会造成重大的改变! 如果你是一名PM或者是管理者正在物色合适的开发 ...

  4. think in java interview-高级开发人员面试宝典(一)

    "生死六重门" 无论你是在职,非在职,高级工程师,工程师,架构师,如果你正在面试阶段,请看完此文! 相信这篇文章对你的职业生涯和阶值观会造成重大的改变! 如果你是一名PM或者是管理 ...

  5. 近期Java高级开发岗面试总结

    原文出处:公众号:编程大道 作者:walking 近期Java高级开发岗面试总结 哈喽大家好,我是walking,这是我的公众号:编程大道. 很久没和大家见面了,文章更新的速度略有延后.这个公众号断断 ...

  6. Java高级开发工程师面试笔记

    最近在复习面试相关的知识点,然后做笔记,后期(大概在2018.02.01)会分享给大家,尽自己最大的努力做到最好,还希望到时候大家能给予建议和补充 ----------------2018.03.05 ...

  7. [置顶] think in java interview-高级开发人员面试宝典(八)

    面经出了7套,收到许多读者的Email,有许多人说了,这些基础知识是不是为了后面进一步的”通向架构师的道路“做准备的? 对的,你们没有猜错,就是这样的,我一直在酝酿后面的”通向架构师的道路“如何开章. ...

  8. [置顶] think in java interview-高级开发人员面试宝典(七)

    上两周研发任务太紧了,所以担搁了一下,我们继续我们的面试之旅. 下面是一个基于图书系统的15道SQL问答,供大家参考 问题描述:本题用到下面三个关系表:CARD     借书卡.   CNO 卡号,N ...

  9. Java高级开发工程师面试考纲 转

    转 http://www.sanesee.com/article/java-engineer-interview-of-content-tree 1 Java基础 1.1 Collection和Map ...

随机推荐

  1. LeetCode 242 Valid Anagram

    Problem: Given two strings s and t, write a function to determine if t is an anagram of s. For examp ...

  2. September 10th 2016 Week 37th Saturday

    An innovation that goes beyond imagination again raised the standard. 颠覆想象的创新,再一次刷新标准. An advertisem ...

  3. 3ds max删除了对象后,还是将原来所有对象输出的原因

    原因是场景中除了 几何体 外还有 图形,如下图 将这些图形删除,几何体就都正常输出了.

  4. Redis 数据持久化(一)

    Redis的模块化开发设计的还是相当不错的,在Bio.h和Bio.c文件中定义了一个多线程的文件任务处理模块,在添加和处理任务的时候使用互斥锁和条件变量进行的同步,而且本身也支持多线程,这个模块的支持 ...

  5. 营业额统计(bzoj1588)

    Description 营业额统计 Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况. Tiger拿出了公司的账本,账本上记录了公司成立以来每 ...

  6. iOS高效调试

    写代码难免出现bug. 储备些调试技能绝对能够提高你的工作效率,让bug无所遁形.下面就和大家分享一些我在工作中常用的iOS调试小技能. 1. 打印 最简单,基础的调试方法就是打印日志了.贴出两段封装 ...

  7. 通过NSString初始化OC类

    NSString *className = self.classNames[indexPath.section][indexPath.row];    BaseMapViewController *s ...

  8. 【转载】pyqt QTableWidget的使用

    转载地址: http://blog.sina.com.cn/s/blog_9b78c91101019sgi.html QTableWidget是QT程序中常用的显示数据表格的空间,很类似于VC.C#中 ...

  9. saltapi中expr_form参数的使用

    以前,一直用compound参数, 现在,想要并行执行salt命令,那list就派上用场了. 同时传多个主机列表,用逗号分隔,然后,用list参数传,就好. [root@c1773 deployop] ...

  10. java创建线程的几种方式

    1.继承Thread类 /** * @author Ash * @date: 2016年8月6日 下午10:56:45 * @func: 通过继承Thread类来实现多线程 * @email 4086 ...