项目经理面试题Word文件下载.docx
《项目经理面试题Word文件下载.docx》由会员分享,可在线阅读,更多相关《项目经理面试题Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
b)?
a:
b;
等同于下式?
19、列举常见集合框架类型?
20、面向对象的特征?
21、Java命名规范?
22、Java语言共包含47个关键字?
23、设计模式?
24、简述MVC的应用(如STRUTS1.x、STRUTS2.x架构等)?
25、WEB
SERVICE名词解释。
JSWDL开发包的介绍。
JAXP、JAXM的解释。
SOAP、UDDI,WSDL解释。
26、存储过程和函数的区别?
27、
游标的作用?
如何知道游标已经到了最后?
28、你认为一个项目如何进行才正确?
29、你经常看或仔细研读过的书有哪些?
30、你认为你应聘我们公司的项目经理,你自身的优势在哪?
31、你认为项目中最重要的是哪些过程
32、如果给你一个4-6个人的Team,那么你怎么分配他们、管理他们?
33、简述常用的软件开发文档
34、简述类的关系
高级软件工程师面试题答案
1、类、对象的概念:
1)类:
具有共同属性和行为的对象的抽象。
类是创建对象的模板。
2)对象:
现实世界中的实体。
在计算机中,是指可标识的存储区域。
3)类是对象的抽象、对象是类的实例。
2、抽象:
是从特定的实例中抽取共同性质形成一般化概念的过程。
3、接口与抽象类:
1)接口和抽象类都用于抽象,接口是抽象类的抽象。
2)接口中只有方法声明,没有实现(无方法体);
在接口中声明的方法具有public和abstract属性,一个类可以实现多个接口(即多继承),接口以‘,’分隔;
接口中的方法必须全部实现。
3)抽象类可以有部分方法实现,抽象类必须通过继承才能使用。
4、内部类(InnerClass):
1)内部类是嵌套在另一个类中的类。
2)内部类用于名称隐藏和程序代码的组织,另外内部类拥有直接访问其外部类所有成员(包括private的)的权限(无需任何关键字修饰)。
3)内部类不可以在其他类或main方法里实例化,必须使用如下方法(非静态内部类)
外部类.内部类对象名=new外部类().new内部类();
静态内部类调用方式:
外部类.内部类对象名=new外部类.内部类();
4)非静态内部类不可以声明静态成员;
静态内部类的非静态成员可以访问其外部类的静态成员,声明为静态的成员不可以访问外部的非静态成员。
5、访问修饰符限制:
Privateprotectedfriendly(default)public
同类YYYY
同包不同类NYYY
同包子类NYYY
不同包不同类NNNY
不同包子类NYNY
6、Static关键字的使用:
1)类成员,直接使用类名.成员调用。
2)静态方法只能访问静态成员。
3)静态方法不能使用this、super关键字。
4)静态方法不能被非静态方法重写或重载。
7、final关键字:
1)被final修饰的变量为常量不能改变。
2)被final修饰的方法不可以重写。
3)被final修饰的类不能被继承。
8、abstract关键字:
1)被abstract修饰的类不能实例化。
2)被abstract修饰的方法只能在子类中实现。
9、native关键字:
非Java语言的编写,例如JNI技术。
10、synchronized关键字:
多线程的同步访问控制。
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。
java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
(Throwable是所有Java程序中错误处理的父类,有两种资类:
Error和Exception。
Error:
表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息。
Exception:
表示可恢复的例外,这是可捕捉到的。
Java提供了两类主要的异常:
runtimeexception和checkedexception。
checked异常也就是我们经常遇到的IO异常,以及SQL异常都是这种异常。
对于这种异常,JAVA编译器强制要求我们必需对出现的这些异常进行catch。
所以,面对这种异常不管我们是否愿意,只能自己去写一大堆catch块去处理可能的异常。
但是另外一种异常:
runtimeexception,也称运行时异常,我们可以不处理。
当出现这样的异常时,总是由虚拟机接管。
比如:
我们从来没有人去处理过NullPointerException异常,它就是运行时异常,并且这种异常还是最常见的异常之一。
出现运行时异常后,系统会把异常一直往上层抛,一直遇到处理代码。
如果没有处理块,到最上层,如果是多线程就由Thread.run()抛出,如果是单线程就被main()抛出。
抛出之后,如果是线程,这个线程也就退出了。
如果是主程序抛出的异常,那么这整个程序也就退出了。
运行时异常是Exception的子类,也有一般异常的特点,是可以被Catch块处理的。
只不过往往我们不对他处理罢了。
也就是说,你如果不对运行时异常进行处理,那么出现运行时异常之后,要么是线程中止,要么是主程序终止。
如果不想终止,则必须扑捉所有的运行时异常,决不让这个处理线程退出。
队列里面出现异常数据了,正常的处理应该是把异常数据舍弃,然后记录日志。
不应该由于异常数据而影响下面对正常数据的处理。
在这个场景这样处理可能是一个比较好的应用,但并不代表在所有的场景你都应该如此。
如果在其它场景,遇到了一些错误,如果退出程序比较好,这时你就可以不太理会运行时异常,或者是通过对异常的处理显式的控制程序退出。
异常处理的目标之一就是为了把程序从异常中恢复出来。
)
Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。
一般Singleton模式通常有几种种形式:
第一种形式:
定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。
public
class
Singleton
{
private
Singleton(){}
//在自己内部定义自己一个实例,是不是很奇怪?
//注意这是private
只供内部调用
static
instance
=
new
Singleton();
//这里提供了一个供外部访问本class的静态方法,可以直接访问
getInstance()
return
instance;
}
第二种形式:
{
private
null;
public
synchronized
//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次
//使用时生成实例,提高了效率!
if
(instance==null)
instance=new
}
其他形式:
定义一个类,它的构造函数为private的,所有方法为static的。
一般认为第一种形式要更加安全些
13、分类列举服务器和组件技术:
1)服务器端技术:
Jsp、Servlet;
2)组件技术:
JavaBean、EJB。
14、Http与Https:
Https即多了安全的Http,s(SecuritySocketLayer)指加密套接字协议层(简写SSL)。
15、OSI(OpenSystemInterconnection)网络抽象模型:
1)由国际标准化组织(ISO)提出。
2)将互联网分为七层,从下至上分别为:
物理层(physical)、数据链路层(datalink)、网络层(network)、传送层(transport)、会话层(session)、表示层(presentation)、应用层(application)。
底层通过提供接口支持上层功能。
各层详解:
物理层:
LAN/ATM,为硬件层。
数据链路层:
LAN/ATM
网络层:
IP协议,IOS
传输层:
TCP/UDP协议,支持JavaSocket。
会话层:
表示层:
HTML、XML
应用层:
HTTP协议,使用JavaServlet/JSP
<
第八层(Web服务层):
SOAP/UDDI>
16、J2EE的容器与服务器:
容器负责EJB组件中生命周期的控制;
服务器包含在容器外,提供系统级操作底层服务,包括事务、事件、多线程……。
17、继承限制:
父类对象不可以赋给子类对象,因为子类可能具有更多的成员,反之可以。
等同于下式
if(a>
b)c=a;
elsec=b;
19、列举常见集合框架类型:
1)List、Set、Map。
由这三个接口实现出ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等常用集合框架。
2)Vector属于重量级组件不推荐使用。
3)Map类型维护键/值对,Hashtable与HashMap相近但效率略低于HashMap、高于TreeMap,TreeMap优点是可以排序。
4)Set类型可装入唯一值,HashSet效率高于TreeSet但TreeSet可以维护内部元素的排序状态。
5)List类型可按某种特定顺序维护元素。
ArrayList允许快速随机访问,但如果添加或删除位于中间的元素时效率很低;
LikedList提供最佳循序访问及快速的中间位置添加删除元素,并有addFirst、addLast、getFirst、getLast、removeFirst、removeLast方法。
20、面向对象的特征:
1)继承:
通过子类可以实现继承,子类继承父类的所有状态和行为,同时添加自身的状态和行为。
2)封装:
将代码及处理数据绑定在一起的一种编程机制,该机制保证程序和数据不受外部干扰。
3)多态:
包括重载和重写。
重载为编译时多态,重写是运行时多态。
重载必须是同类中名称相同参数不同(包括个数不同和类型不同),但返回类型不同不构成