软件工程师面试问题

时间:2017-06-01 09:25:10
染雾
分享
WORD下载 PDF下载 投诉

  软件工程师一般指从事软件开发职业的人。本文将介绍软件工程师面试问题。

  软件工程师面试问题:

  1、java中会存在内存泄漏吗,请简单描述。

  会。如:int i,i2; return (i-i2); 当 i为足够大的正数,i2为足够大的负数。结果会造成溢位,导致错误。

  2、java中实现多态的机制是什么?

  方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。

  3、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?

  对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。当GC确定一些对象为"不可达"时,GC就有责任回收这些内存空间。可以。程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定会执行。

  4、静态变量和实例变量的区别?

  static i = ; file://常量

  class A a; a.i =;//可变

  5、什么是java序列化,如何实现java序列化?

  序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。

  序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。

  6、是否可以从一个static方法内部发出对非static方法的调用?

  不可以,如果其中包含对象的method();不能保证对象初始化.

  7、写clone()方法时,通常都有一行代码,是什么?

  Clone 有缺省行为,super.clone();他负责产生正确大小的空间,并逐位复制。

  8、在JAVA中,如何跳出当前的多重嵌套循环?

  用break; return 方法。

  9、List、Map、Set三个接口,存取元素时,各有什么特点?

  List 以特定次序来持有元素,可有重复元素。Set 无法拥有重复元素,内部排序。Map 保存key-value值,value可多值。

  10、J2EE是什么?

  J2EE是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。

  11、UML方面

  标准建模语言UML。用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图,合作图),实现图。

  12、说出一些常用的类,包,接口,请各举5个

  常用的类:BufferedReader BufferedWriter FileReader FileWirter String Integer

  常用的包:java.lang java.awt java.io java.util java.sql

  常用的接口:Remote List Map Document NodeList

  13、开发中都用到了那些设计模式?用在什么场合?

  每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。主要用到了MVC的设计模式。用来开发JSP/Servlet或者J2EE的相关应用。简单工厂模式等。

 

 14、jsp有哪些动作?作用分别是什么?

软件工程师面试问题

手机扫码分享

Top