软件工程师笔试题和面试题答案
如下内容是用友笔试题目NET面试题专栏部分,推荐给大家练习。
1、 面向对象的语言具有___封装__性、___继承__性、___多态_性。
2、 能用foreach遍历访问的对象需要实现 __ IEnumerable __接口或声明__GetEnumerator __方法的类型。
3、 以下叙述正确的是:
A. 接口中可以有虚方法。 B. 一个类可以实现多个接口。
C. 接口不能被实例化。 D. 接口中可以包含已实现的方法。
4、 简述 private、 protected、 public、 internal 修饰符的访问权限。
Private 私有成员:只有本类内部可以访问
Protected 受保护成员:只有本类和本类的子类可以访问
Public 公有成员:完全公开,没有访问限制
Internal :在同一命名空间下可以访问
5、写出一条Sql语句: 取出表A中第31到第40记录(SQLServer, 以自动增长的ID作为主键, 注意:ID可能不是连续的。)
select top 10 * from A where id not in (select top 30 id from A)
5、 DataReader与DataSet有什么区别?
(1)、dataset表示一个数据集,是数据在内存中的缓存。 可以包括多个表;
(2)、dataset连接数据库时是非面向连接的。把表全部读到Sql中的缓冲池,并断开于数据库的连接
(3)、datareader 连接数据库时是面向连接的。读表时,只能向前读取,读完数据后有用户决定是否断开连接。
6、 简述什么是装箱?
把一个值类型的数据转换为引用类型的数据的过程叫装箱。
7、 下列选项中,(c)是引用类型。
a) enum类型 b) struct类型
c) string类型 d) int类型
8、 一个数据库中的一个表中有 year 、salary这两个字段,原表中数据如原表,请用SQL查询出结果显示的数据:
原表中数据:
year salary
—————————————–
2000 1000
2001 2000
2002 3000
2003 4000
结果表中数据:
year salary
——————————————
2000 1000
2001 3000
2002 6000
2003 10000
写出SQL语句如下:
create table test([year] int ,salary int)
insert test(year,salary) values(2000,1000)
insert test(year,salary) values(2001,2000)
insert test(year,salary) values(2002,3000)
insert test(year,salary) values(2003,4000)
select t1.year, (select sum(salary) from test as t2 where t2.year