logo资料库

广东深圳中软资源技术服务有限公司JAVA笔试及面试真试题.doc

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
广东深圳中软资源技术服务有限公司JAVA 笔试及面试真试题
广东深圳中软资源技术服务有限公司 JAVA 笔试及面试真试题 笔试试题 1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方 面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两 个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。 对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性, 新 类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那 里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个 基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护 的接口访问其他对象。 4. 多态性: 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。 多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问 题。 2、String是最基本的数据类型吗? 基本数据类型包括byte、int、char、long、float、double、boolean和short。 java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率 节省空间,我们应该用StringBuffer类 3、int 和 Integer 有什么区别 Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型, Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。 原始类型封装类 booleanBoolean charCharacter
byteByte shortShort intInteger longLong floatFloat doubleDouble 引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不 同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用 类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值 为 null,而原始类型实例变量的缺省值与它们的类型有关。 4、String 和StringBuffer的区别 JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字 符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字 符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以 使用StringBuffers来动态构造字符数据。 5、运行时异常与一般异常有何异同? 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇 到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常, 但是并不要求必须声明抛出未被捕获的运行时异常。 6、说出Servlet的生命周期,并说出Servlet和CGI的区别。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service 方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的 时候调用其destroy方法。 与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例 可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成 后就销毁,所以效率上低于servlet。 7、说出ArrayList,Vector, LinkedList的存储性能和特性 ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和 插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作, 所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上 较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍
历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。 8、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和 StatelessBean的区别。 EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT 等技术实现。 SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其 他EJB组件。EntityBean被用来代表应用系统中用到的数据。 对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。 对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象 视图,或是一个由现有企业应用程序实现的实体。 Session Bean 还 可 以 再 细 分 为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都 可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者 的状态,因此通常来说,一个使用者会有一个相对应的 Stateful Session Bean 的实体。 Stateless Session Bean 虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说 当 使 用 者 呼 叫 Stateless Session Bean 的 时 候 , EJB Container 并 不 会 找 寻 特 定 的 Stateless Session Bean 的实体来执行这个 method。换言之,很可能数个使用者在执行 某个 Stateless Session Bean 的 methods 时,会是同一个 Bean 的 Instance 在执行。 从 内 存 方 面 来 看 , Stateful Session Bean 与 Stateless Session Bean 比 较 , Stateful Session Bean 会 消 耗 J2EE Server 较 多 的 内 存 , 然 而 Stateful Session Bean 的优势却在于他可以维持使用者的状态。 9、Collection 和 Collections的区别。 Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、 线程安全化等操作。 10、&和&&的区别。 &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。 面试试题 1题:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应
该输出为“我ABC”而不是“我ABC+汉的半个”。 2题:请使用任意一例排序算法,对Integer[] inteArr={5,9,1,4,1,2,6,3,8,0,7}进行排序; 3题:设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1; 4题:以面向对象的思想写出一个javascript函数(比如:有学生对象,有姓名,年龄,学号等); 5:写出uinx和Linux的常用命令; 6:采用单例模式,把文件contxt.properties中的内容转化为键值对的java对象; addr=192.168.1.11; poprt=8080; username=jason; pwd=123456; 数据库题目: 有三张表,学生(学生编号,学生姓名,性别);课程表(课程编号,课程名称);成绩表(学 生编号,课程编号,成绩); 1:查询课程名称为数字的所有学生的姓名,成绩,并按降序排序; 2: 课程名称为英语,查询出该课程男生,女生的平均分和最高分;
分享到:
收藏