.net软件工程师面试题一. 填空题:

  1. 类的三大特性是(封装)(继承)(多态)。

  2. 在SELECT语句的FROM子句中最多可以指定(256)个表或视图,相互之间要用(逗号)分隔,当所查询的表不在当前数据库时,可用(数据库名.所有者名.表名)格式来指出表或视图对象。

  3. 创建存储过程的命令是(create proc 存储过程名)删除表的命令是(drop 表名)。

  4. 计算字段的累加和的函数是:(sum),统计项目数的函数是:(count)。

  5. 关系数据库中,主键是(外键)。

  6. 声明抽象类的关键字是(abstract),抽象类不能(sealed)。

  7. .NET运行库支持被称为(委托)的引用类型,其作用类似于C++中函数指针的用途。

  8. XML的全称是(Extensible Markup Language)。

  9. C#中所有的类型实质上都是从(Object)类派生而来的。

  10. 声明静态变量的关键字是(static),声明常量的关键字是(const)。

  11. C#中处理内存管理功能的是(托管代码)。

  12. 在C#中用于显式地将一个值或引用转换为另一种不同的类型称为(拆箱)。

  13. 在ADO。NET中,command对象是用(ExcuteNonQuery)(ExcuteScalar)(ExcuteDataReader)方法执行命令。

  14. B/S通常使用的结构设计模型分为(模型)(视图)(控制)。

  15. SQL SERVER中索引类型包括的三种类型分别是(主键索引)(唯一索引)(聚集索引)。

  .net软件工程师面试题二. 简答题:

  1.什么是中间语言(IL)?它的作用?

  答:代码在执行前都要被编译为托管代码,与CPU无关的指令集。

  其作用:支持平台无关性,还支持语言的互操作性。

  2.什么是装箱和拆箱?

  答:值类型转换成引用类型是装箱,引用类型转换成值类型是拆箱。

  3. 出ADO。NET中读写数据库的主要的几个类?它们的作用?

  答:Connection数据库连接;Command执行SQL语句或存储过程;DataAdapter用于填充DataSet和更新数据库的一组数据命令和数据库连接,断开模式;DataReader,读取数据库信息,是只读向前的;DataSet数据在内存中的缓存。

  4. C#中接口和类有什么异同?

  答:类是引用类型,可以继承类、接口和被继承,有默认的构造函数,有析构函数,可以使用abstract和sealed,有protected修饰符,必须使用new初始化。

  结构是值类型,只能继承接口,不能被继承,没有默认的构造函数,可以创建,没有析构函数,不可以用abstract和sealed,没有protected修饰符,可以不用new初始化。

  如何选择使用结构还是类:

  1.堆栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些

  2.结构表示如点、矩形和颜色这样的轻量对象,例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存。在此情况下,结构的成本较低。

  3.在表现抽象和多级别的对象层次时,类是最好的选择

  4.大多数情况下该类型只是一些数据时,结构是最佳的选择

  5. 解释ASP。NET中的code-behind?

  答:代码隐藏,显示逻辑的代码和处理逻辑的代码分离

  6. 什么是ASP。NET中的用户控件?

  答:是asp.net代码创建的控件,就像在标准的ASP.NET Web页面中创建控件一样,可以在多个ASP.NET页面中重用它们。

  7. 在C#中,string str = null 与 string str = “” 请尽量说明其中的区别。

  答:string str=null没有分配空间,string str=“”分配了空间

  8. 什么是受管制代码?

  答:由公共语言运行环境进行管理的代码,它主要负责内存管理。在.net平台上运行的代码都是受管制代码

  9 C#中常用的访问形式?它们各自的作用域?

  答:public 不受限制的访问。

  private 只能在本类中访问

  protected 本类和继承他的类中访问

  internel表示在同一个应用程序(application)或类库(library)中都能使用

  10. SQL SERVER 中的存储过程的理解?

  答:存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。

  11.CTS,CLS,CLR分别作何解释?

  答: CTS:公共类型系统.主要是为了语言之间的进行标准化处理.

  CLS:公共语言规范.主要是确保代码可以在任何语言中访问的最小标准集体

  CLR:公共语言运行时.主要是管理代码..处理,加载代码,以及所有服务的代码

  12. ASP。NET和ASP的主要优势?

  答:ASP.Net的优势:

  ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++ , VB , JS等等,当然,最合适的编程语言还是MS为.Net Frmaework专门推出的C(读c sharp),它可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/ 纠错体系。

  13. NET的错误处理机制是什么?

  答:try{可能要出错的代码}

  catch{扑捉到错误后的处理}

  finally{不论代码是否出错都要执行}

  14. 解释Page.IsPostBack属性?

  答:使用者第一次浏览这个网页时Page.IsPostBack 会传回False,不是第一次浏览这个网页时就传回True

  15..net framework包含哪几种技术?

  答:Application Framework,Domain Framework

  16.触发器分为事前触发和事后触发,有何区别?

  答:事前触发器运行于触发事件发生之前,而事后触发器运行于触发事件发生之后。通常事前触发器可以获取事件之前和新的字段值

  17.解释SQL SERVER2000中HAVING的用法?]

  答:在分组时筛选数据

  18.解释SQL SERVER2000中GROUP BY的用法?

  答:分组

  19.解释下C#中的方法的重载?

  答:重载方法:是指使用相同的方法名,但指定不同的参数(个数,类型)。

  20.事务是什么?

  答:在许多大型、关键的应用程序中,计算机每秒钟都在执行大量的任务。更为经常的不是这些任务本身,而是将这些任务结合在一起完成一个业务要求,称为事务。当某一个任务失败时,就恢复到指定的恢复点,这个叫回滚。

  21.描述下ASP。NET中使用DataReader对象 和DataSet对象的区别?

  答:dataset是保存数据的数据结构,断开模式,而DataReader不承担保存数据的责任,需要自己手动关闭连接数据库,它只负责从数据源读取数据到本地而已,是只读向前的,它不是数据结构,而是网络通讯组件的高层封装。

  22.分析类和结构的异同?

  答:类是引用类型,可以继承类、接口和被继承,有默认的构造函数,有析构函数,可以使用abstract和sealed,有protected修饰符,必须使用new初始化。

  结构是值类型,只能继承接口,不能被继承,没有默认的构造函数,可以创建,没有析构函数,不可以用abstract和sealed,没有protected修饰符,可以不用new初始化。

  如何选择使用结构还是类:

  1.堆栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些

  2.结构表示如点、矩形和颜色这样的轻量对象,例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存。在此情况下,结构的成本较低。

  3.在表现抽象和多级别的对象层次时,类是最好的选择

  4.大多数情况下该类型只是一些数据时,结构是最佳的选择

  23.解释ADO。NET中的使用Connection 类的CLOSE()和DISPOSE()的区别?

  答:close只是关闭,dispose是释放资源。

  24.叙述ADO。NET中的DataAdapte类的作用?

  答:断开模式连接数据库,并且填充DataSet。

  25.什么是WEBSERVICE ?

  答:web服务,是利用SOAP(简单对象访问协议,Simple Object Access Protocol)在HTTP上执行远程方法调用的一种方法,也可以使用WSDL(Web Service Description Language,Web服务描述语言)来完整的描述Web服务,基于XML标准。

  26.行下面代码后:

  String strTemp ="abcdefg 某某某";

  int i System.Text.Encoding.Default.GetBytes(strTemp).Length;

  int j = strTemp.Length;

  问:i=( 14) ;j=( 11)

  原因是什么?

  答:汉字占2个字节,所以i=14

  27..叙述ASP。NET中的几种验证控件(equiredFieldValidato, CompareValidator, RangeValidator, RegularExpressionValitor, CustomValidator, ValidationSummary)及作用?

  答:

  a) RequiredFieldValidator(必须字段验证);

  b) CompareValidator(比较验证);

  c) RangeValidator (范围验证);

  d) RegularExpresionValidator(正则表达式);

  e) ValidationSummary(验证总结);

  f) CustomValidator(自定义验证)

  .net软件工程师面试题三. 编程题:

  1.有三个表,结构如下:

  STUDENT(学生证号,姓名,性别,出生年月)

  COURSE(课程号,课程名,授课教师)

  SC(学生证号,课程号,成绩,授课教师)

  用标准SQL 语句完成下列操作

  1. 查询女生的基本情况,并按照学生证号降序排列

  答:select * from STUDENT where性别=’女’order by 学生证号 desc

  2. 查询成绩在90分以上的学生的姓名

  答:select 姓名from STUDENT,SC where STUDENT.学生证号 = SC.学生证号 and SC.成绩 > 90

  3. 查询数学类课程的课程号和课程名(模糊查询,以S开头)

  答:select 课程号,课程名 from COURSE where 课程名 like ‘S%’

  4. 查询选课学生所选课程的课程号和成绩,以及该学生的姓名和性别

  答:select 课程号,成绩,姓名,性别 from SC,STUDENT,COURSE

  where SC.学生证号 = STUDENT.学生证号

  and COURSE.课程号 = SC.课程号 group by 学生证号

  5. 查询03号课程的平均成绩

  答:select avg(成绩) from SC where 课程号 = ‘03’

  6. 删除成绩不及格的学生姓名

  答:delete from STUDENT where学生证号 in (select学生证号 from SC where 成绩 < 60);

  delete from SC where成绩 < 60;

  注意:删除的顺序不能反

  7. 把学生证号为90876的学生所选的01号课程成绩改为80分

  答:update SC set 成绩 = ’80’where 学生证号=’90876’ and课程号 = ‘01’

  2.SQLSERVER服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号。(10)

  答:select ID from table1 where LastUpdateDate = (select max(LastUpdateDate) from table1)

以上面试资料.net软件工程师面试题精华集锦中的一部分,经过一段时间的工作经验的积累后,可发展成为高级软件工程师、算法应用开发工程师和需求工程师,但需要具有丰富的软件开发经验和相关工作的技术背景。如果想成为技术精英、项目经理,则还需要具有较强的管理和组织等方面的能力。

原文地址

本文转自Work Hard Work Smart博客园博客,原文链接:http://www.cnblogs.com/linlf03/archive/2012/12/26/2834908.html,如需转载请自行联系原作者

.net软件工程师面试相关推荐

  1. java高级软件工程师面试_高级软件工程师的新面试问题

    java高级软件工程师面试 I'm putting together some practice interview questions for a friend who lost his job. ...

  2. java软件面试题_java软件工程师面试试题

    java软件工程师面试试题 更新时间:2019年01月25日13时15分 来源:java培训 浏览次数: 我们找工作的人都会面临一个难题,那就是面试,根据工作性质的不同,面试的要求也会不公,好点的工作 ...

  3. java工程师面试常见问题_JAVA软件工程师面试遇到的十个问题,这些你都知道吗?...

    原标题:JAVA软件工程师面试遇到的十个问题,这些你都知道吗? 我们找工作的人都会面临一个难题,那就是面试,根据工作性质的不同,面试的要求也会不公,好点的工作,面试官都会问我们一些问题,尤其是学术性较 ...

  4. C++软件工程师面试考点.md

    C++软件工程师面试考察主要有C++基础(最好也懂Java).数据结构及简单算法.TCP.操作系统.网络编程.Linux基本操作和Shell编程.数据库,设计模式和智力题也会涉及少量. C++基础 参 ...

  5. 软件工程师面试及简历指南

    没有灵丹妙药能让你成功被应聘为软件工程师.但是,在此过程中却有一些非常有帮助的建议. 我最近采访了 Matt Langan 和 Christian Macolino,Atlassian 公司两名最顶尖 ...

  6. java工程师面试英文自我介绍_软件工程师面试英语自我介绍范文

    软件工程师面试英语自我介绍范文 当碰到陌生人时候,常常需要我们进行自我介绍,通过自我介绍可以让别人认识自己.怎么写自我介绍才能避免踩雷呢?以下是小编为大家整理的软件工程师面试英语自我介绍范文,欢迎大家 ...

  7. 软件工程师面试学习指南

    本文列出了一个涵盖许多热门面试题的清单,相信会对你有所裨益. 作者 | Ben Rogojan 译者 | 谭开朗,责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 以下为译文: 与其他技术 ...

  8. 迟来的面试经历——纪2018.4的Dorabot蓝胖子机器人软件工程师面试经历

    以下是我当时在知乎的回答:   蓝胖是我第一家面试实习的公司,得知这家公司还是因为有师兄推荐,本来以为蓝胖是因为很低调才导致我之前不知道深圳还有这样的一家公司,结果后来发现在我的交友圈子里还是有不少人 ...

  9. 华为OD软件工程师面试总结

    一.自身基本情况 二战考研狗,且没有工作经历,只能走社招:然后我在boss直聘上面挂着我的简历,然后幸运的遇到一个校友HR,最后面试了西安研究所云核心网产品线软件工程师. 二.面试 1.机试题 题目分 ...

最新文章

  1. 【核心API开发】Spark入门教程[3]
  2. approach for attending ieee conferences
  3. ChartDirector资料小结
  4. mysql5.0锁定用户_MySQL系列(五)---总结MySQL中的锁
  5. mysql linux文件_MySQL在Linux系统下配置文件详解
  6. MDT部署中命令行脚本的使用。
  7. P3521-[POI2011]ROT-Tree【线段树合并】
  8. ZZULIOJ 1136: 首字母变大写
  9. 演练 动态数组存储学生对象 并且实现遍历 0119
  10. Linux驱动(5)--关于Bootloader
  11. django 1.8 官方文档翻译:9-1-4 格式本地化
  12. 什么是死锁及死锁的必要条件和解决方法【转】
  13. jq ajax xml,jQuery+ajax读取并解析XML文件的方法
  14. 38个MySQL数据库的小技巧
  15. 前端知识体系及修炼攻略
  16. enctype=multipart/form-data的表单无法获取表单中除了type=file以外的其他参数 commons-fileupload 获取除file外其他参数...
  17. 比较x^y和y^x的大小
  18. linux中命令tat,文件管理类命令(ls,tat,glob,cp,touch等)
  19. BLE Mesh (8) —— Friendship
  20. 《NFL橄榄球》:洛杉矶公羊·橄榄1号位

热门文章

  1. android手机和ios手机的分辨率
  2. 触发器与存储过程的区别
  3. GitHub 星标 5k+,北大学弟的硬核 CS 指南,太强了
  4. 魔兽分辨率修改器的C语言实现
  5. 公交车 自动报站功能
  6. Ubuntu键盘按键修改方法
  7. 创建Windows10 密码重设盘
  8. 火绒剑,监控功能的使用
  9. 东南大学2014计算机考研真题,2014年东南大学计算机专业考研真题
  10. 基于Linux的powerlink实现