JAVA面试题.doc_第1页
JAVA面试题.doc_第2页
JAVA面试题.doc_第3页
JAVA面试题.doc_第4页
JAVA面试题.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

杭州迪科信息技术有限公司软件开发工程师岗位(java)初级面试题1. 面向对象的特征有哪些方面?1 封装性2 多态性3 继承性4 抽象性2. 基本数据类型包括哪些?boolean,char,byte,short,int,long,float,double3. map,set,list,三者的优点以及适当场景?4. final, finally, finalize的区别?final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 内部类要访问局部变量,局部变量必须定义成final类型,例如,一段代码finally是异常处理语句结构的一部分,表示总是执行。finalize是object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。jvm不保证此方法总被调用5. overload和override的区别。overloaded的方法是否可以改变返回值的类型?overload是方法的重载,overrided是方法的重写。他都java多态性的不同表现。如果在子类中定义某个方法与父类有相同的名称和参数,我们说该方法被重写了。子类的对象使用这个方法时,将调用子类中的定义,父类中的定义如同被“屏蔽”了。如果在一个类中定义多个同名的方法,他们或有不同的参数个数或有不同的参数类型,则称为方法的重载。方法的重载可以改变返回值类型6. abstract class和interface有什么区别?interface是否可继承interface? abstract class是否可实现(implements) interface? abstract class是否可继承实体类(concrete class)?声明方法的存在而不去实现它的类叫做抽象类。抽象类可以实现接口,抽象类是否可以继承实体类,要看实体类是否有明确的构造函数。1.抽象类可以有构造方法,接口中不能有构造方法。2.抽象类中可以有普通成员变量,接口中没有普通成员变量3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。4. 抽象类中的抽象方法的访问类型可以是public,protected和(默认类型,虽然eclipse下不报错,但应该也不行),但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。5. 抽象类中可以包含静态方法,接口中不能包含静态方法6. 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。7. 一个类可以实现多个接口,但只能继承一个抽象类。8.接口更多的是在系统架构设计方法发挥作用,主要用于定义模块之间的通信契约。而抽象类在代码实现方面发挥作用,可以实现代码的重用7. gc是什么?为什么要有gc?gc 是垃圾处理的意思,内存处理是编程人员容易出错的地方,忘记或者是错误的内存回收会导致程序和系统的不稳定甚至是崩溃,java的gc可以自动监测对象是否超过作用域从而达到自动回收内存的目的,java中没有提供释放已分配内存的显示操作的方法。8. java中的异常处理机制的简单原理和应用?当java 程序违反了java 的语义规则时,java 虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2 种情况。一种是java 类库内置的语义检查。例如数组下标越界,会引发indexoutofboundsexception;访问null 的对象时会引发nullpointerexception。另一种情况就是java 允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw 关键字引发异常。所有的异常都是java.lang.thowable 的子类。9. 多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 有两种实现方法,分别是继承thread 类与实现runnable 接口;用synchronized 关键字修饰同步方法10. 线程的基本概念、线程的基本状态以及状态之间的关系?线程指在程序执行过程中,能够执行程序代码的一个执行单位,每个程序至少都有一个线程,也就是程序本身;java 中的线程有四种状态分别是:运行、就绪、挂起、结束。11. 如下代码 public class test public int amethod() static int i = 0; i+; return i; public static void main (string args) test test = new test(); test.amethod(); int j = test.amethod(); system.out.println(j); 输出结果是什么? da. 0 b. 1c. 2d. 编译失败 12. 如下代码 dint i =1,j =10; do if(i+ -j) continue; while (i 5); system.out.println(i = +i+ and j = +j); 输出结果是什么? a. i = 6 and j = 5 b. i = 5 and j = 5 c. i = 6 and j = 5 d. i = 5 and j = 6 e. i = 6 and j = 6 在接口中以下哪条定义是正确的? (两个答案) a,b a. void methoda(); b. public double methoda(); c. public final double methoda(); d. static void methoda(double d1); e. protected void methoda(double d1); 13. 如下代码: c,epublic class x public x amethod() return this; public class y extends x 哪些方法能加到y类的定义中? a. public void amethod() b. private void amethod() c. public void amethod(string s) d. private y amethod() return null; e. public x amethod() return new y(); 如下代码: public class x public static void main(string args) try badmethod(); system.out.print(a); catch (exception ex) system.out.print(c); finally system.out.print(b); system.out.print(d); public static void badmethod() throw new error(); 结果是什么? da. abcd b. 编译失败. c. 显示c,退出程序. d. 显示b,退出程序. e. 显示bcd,退出程序. 14. 简述synchronized和java.util.concurrent.locks.lock的异同 主要相同点:lock 能完成synchronized 所实现的所有功能;主要不同点:lock 有比synchronized 更精确的线程语义和更好的性能。synchronized 会自动释放锁,而lock 一定要求程序员手工释放,并且必须在finally 从句中释放。15. mvc的各个部分都有那些技术来实现?如何实现?model:javabean 业务处理,数据处理view:显示的jspcontroller:控制,接受view传递的内容和调用javabean,并根据javabean的处理结果进行跳转实现原理:所有的jsp将内容提交给servlet,servlet接受这些内容并调用相应的javabean进行业和数据的处理,一般javabean有专业人员进行开发,完成业务的操作流程,而servlet调用的只是接 口,并根据这些接口的操作结果将内容提交给jsp进行显示16. 说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法设计模式:模式是一种问题的解决思路,它已经适用于一个实践环境。并且可以适用于其他环境。 设计模式的分类:分布式编程模式,用户界面模式,数据模型模式三大类。 设计模式的作用:设计的重用; 为设计提供共同的词汇,每个模式名就是一个设计词汇,其概念使得程序员的交流变得方便; 在开发文档中采用模式词汇可以让其他人更容易理解你的想法。 gof设计模式的分类: 根据目的准则分类: 创建型:creational 与对象的创建有关。 结构型:structural 处理类或对象之间的组合。 行为型:behavioral 描述类或对象如何交互及如何分配职责。创建型模式1.抽象工厂模式 abstractfactory 2.建造者模式 builder 3.工厂方法模式 factory method 4.原型模式 prototype 5.单例模式 singleton 结构型模式 1.适配器模式 adapter 2.桥接模式 bridge 3.组合模式 composite 4.装饰模式 decorator 5.外观模式 facade 6.享元模式 flyweight 7.代理模式 proxy 行为模式 1.职责链模式 chain of responsibility 2.命令模式 command 3.解释器模式 interpreter 4.迭代器模式 iterator 5.中介者模式 mediator 6.备忘录模式 memento 7.观察者模式 observer 8.状态模式 state 9.策略模式 strategy 10.模板方法模式 template method 11.访问者模式 visitor sql 有三个表,项目表、合同表、付款表下面是建立表的语句项目表(项目编号 int,项目名称 varchar(50))项目编号,项目名称1项目12项目23项目3合同表(合同编号 int,项目编号 int,合同金额 number(7,3))合同编号项目编号合同金额111000211500322000付款表(付款编号 int,合同编号 int,付款金额 number(7,3))付款编号合同编号付款金额11100022200032800一个项目可能会有签署多个合同,每个合同会分几次付款设计一个查询,要求返回结果如下项目编号 项目名称 项目所有合同已付款金额- -1 项目111002 项目2null-解答:select x.xuid,x.xuname ,sum(q.qian) from xm x left join (select xuid, hid, sum(fq)as qian from (select ht.hid, ht.xuid,fk.fq from htong ht left join fuk fk on ht.hid=fk.hid) group by hid,xuid) q on x.xuid=q.xuidgroup by x.xuid,x.xuname;请您设计一个查询语句,检索的格式如下-项目编号 项目名称 项目所有合同的金额 项目所有合同已付款金额1 项目1 2500.000 1100.0002 项目2 2000.000 null-解答: select x.xuid,x.xuname ,sum(q.qian),sum(q.t) from xm x left join(select xuid, hid, sum(fq)as qian,sum(htq) as t from (select ht.hid, ht.xuid,ht.htq,fk.fq from htong ht left join fuk fk on ht.hid=fk.hid) group by hid,xuid,htq) q on x.xuid=q.xuidgroup by x.xuid,x.xuname;javascript以下哪条语句会产生运行错误:aa.var obj = ( );b.var obj = ;c.var obj = ;d.var obj = / /; 请选择结果为真的表达式: c a. null instanceof objectb. null = undefinedc. null = undefinedd. nan = nan简述div元素和span元素的区别。div是块元素,span是内嵌元素。块元素相当于内嵌元素在前后各加一个换行。其实,块元素和行内元素也不是一成不变的,只要给块元素定义display:inline,块元素就成了内嵌元素,同样地,给内嵌元素定义了display:block就成了块元素了。取出12中1和2的值var val_span=new array();$(#div1 span).each(function()val_spanval_span.length=$(this).text(););编写一个方法 去掉一个数组的重复元素atotype.strip=function() if(this.length2) return this0|; var arr=; for(var i=0;ithis.length;i+) arr.push(this.splice(i-,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论