设为首页 加入收藏

TOP

西安一家公司的.net面试题(超全,含英语测试 带答案)(五)
2014-11-23 21:57:17 来源: 作者: 【 】 浏览:66
Tags:西安 一家 公司 .net 试题 超全 英语 测试 答案
t class和interface有什么区别
答:接口用于规范,抽象类用于共性。接口中只能声明方法,属性,事件,索引器。而抽象类中可以有方法的实现,也可以定义非静态的类变量。抽象类是类,所以只能被单继承,但是接口却可以一次实现多个。抽象类可以提供某些方法的部分实现,接口不可以.抽象类的实例是它的子类给出的。接口的实例是实现接口的类给出的。再抽象类中加入一个方法,那么它的子类就同时有了这个方法。而在接口中加入新的方法,那么实现它的类就要重新编写(这就是为什么说接口是一个类的规范了)。接口成员被定义为公共的,但抽象类的成员也可以是私有的、受保护的、内部的或受保护的内部成员(其中受保护的内部成员只能在应用程序的代码或派生类中访问)。此外接口不能包含字段、构造函数、析构函数、静态成员或常量。
第二十一,abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized
答:不可以将abstract与static合用。不可以将abstract与native合用
第二十二,接口是否可继承接口 抽象类是否可实现(implements)接口 抽象类是否可继承实体类(concrete class)
答:可以,可以,可以
第二十三,启动一个线程是用run()还是start()
答:start();
第二十四,构造器Constructor是否可被override
答:构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。当两个分离的对象的内容和类型相配的话,返回真值
第二十五,是否可以继承String类
答:不能
第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法
答:不能,一个对象的一个synchronized方法只能由一个线程访问。
第二十七,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后
答:会,之前。
第二十八,编程题: 用最有效率的方法算出2乘以8等於几
答:2<<3;
第二十九,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对
答:不对,其hashcode应当是相等。因为hashcode用的是同一个类的方法,同时其每一个属性值是相等的。
第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递
答:引用ref
第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
答:必须为byte,short,int或char,不可以是其它类型
第三十二,编程题: 写一个Singleton出来。
答:48、编程题: 写一个Singleton出来。
一个类Class只有一个实例存在。
一般Singleton模式通常有几种种形式:
第一种形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。
public class Singleton {
private Singleton(){ }
//在自己内部定义自己一个实例,是不是很奇怪?
//注意这是private 只供内部调用
private static Singleton instance = new Singleton();
//这里提供了一个供外部访问本class的静态方法,可以直接访问
public static Singleton getInstance() {
return instance;
}
}
第二种形式:
public class Singleton {
private static Singleton instance = null;
public static synchronized Singleton getInstance() {
//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次
//使用时生成实例,提高了效率!
if (instance==null)
instance=new Singleton();
return instance;    }
}
其他形式:
定义一个类,它的构造函数为private的,所有方法为static的。
一般认为第一种形式要更加安全些


数据库方面:


1.存储过程和函数的区别
答:存储过程是编译好的存储在数据库的操作,函数中不能使用临时表,和动态SQL
2.事务是什么?
答:数据库事务是指作为单个逻辑工作单元执行的一系列操作。
数据库事务的ACID属性


事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性:


原子性


事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。原子性消除了系统处理操作子集的可能性。


一致性


事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。某些维护一致性的责任由应用程序开发人员承担,他们必须确保应用程序已强制所有已知的完整性约束。例如,当开发用于转帐的应用程序时,应避免在转帐过程中任意移动小数点。


隔离性


由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。当事务可序列化时将获得最高的隔离级别。在此级别上,从一组可并行执行的事务获得的结果与通过连续运行每个事务所获得的结果相同。由于高度隔离会限制可并行执行的事务数,所以一些应用程序降低隔离级别以换取更大的吞吐量。


持久性


事务完成之后,它对于系统的影响是永久性的。该修改即使出现致命的系统故障也将一直保持。
DBMS的责任和我们的任务


企业级的数据库管理系统(DBMS)都有责任提供一种保证事务的物理完整性的机制。就常用的SQL Server2000系统而言,它具备锁定设备隔离事务、记录设备保证事务持久性等机制。因此,我们不必关心数据库事务的物理完整性,而应该关注在什么情况下使用数据库事务、事务对性能的影响,如何使用事务等等。
3.游标的作用?如何知道游标已经到了最后?
答:指示当前记录的位置,检查NULL
4.触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。
答:一个事前,一个事后。通常事前触发器可以获取事件之前和新的字段值
1。用C#实现以下功能
a 产生一个int数组,长度为100,并向其中随机插入1-100,

首页 上一页 2 3 4 5 6 7 8 下一页 尾页 5/9/9
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇对象与对象引用是一回事吗? 下一篇华为面试亲身揭秘

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: