java面试官如何提问
)根据简历,哪个项目印象最深刻?
无分值,但是根据简历,确定后续的问题主要覆盖面。
2)这个项目架构设计是怎么样的?有哪些系统,哪些部署环境,整个的功能和数据流向是怎么样的?
能够完整地说出系统的功能,部署的环境,数据的流向。评定相应的分值:1-5
3)这个项目用了哪些技术?为什么要用这些技术?
清晰地说出所使用的技术、框架,知道这些技术的使用目的。评定相应的分值:1-5
4)实施时发现这些技术有哪些优缺点?优点是怎样发挥利用的,缺点是如何克服的?
很明确这些技术本身的优缺点,清楚描述优点的发挥场景,以及对缺点的克服、绕过方案。评定相应的分值:1-5
5) 最后项目完成后,觉得当初的设计有哪些问题,应该做哪些改进?
有没有反思架构的设计,有没有想过某些技术的合理性并考虑重新选择,并分析改进和
替换的原因。
一、Java基础部分
1、面向对象的特征有哪些方面?
答:面向对象的特征主要有以下几个方面:
1)抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。
2)继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段(如果不能理解请阅读阎宏博士的《Java与模式》或《设计模式精解》中关于桥梁模式的部分)。
3)封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方法就是对实现细节的一种封装;我们编写一个类就是对数据和数据操作的封装。可以说,封装就是隐藏一切可隐藏的东西,只向外界提供最简单的编程接口(可以想想普通洗衣机和全自动洗衣机的差别,明显全自动洗衣机封装更好因此操作起来更简单;我们现在使用的智能手机也是封装得足够好的,因为几个按键就搞定了所有的`事情)。
4)多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应。简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情。多态性分为编译时的多态性和运行时的多态性。如果将对象的方法视为对象向外界提供的服务,那么运行时的多态性可以解释为:当A系统访问B系统提供的服务时,B系统有多种提供服务的方式,但一切对A系统来说都是透明的(就像电动剃须刀是A系统,它的供电系统是B系统,B系统可以使用电池供电或者用交流电,甚至还有可能是太阳能,A系统只会通过B类对象调用供电的方法,但并不知道供电系统的底层实现是什么,究竟通过何种方式获得了动力)。方法重载(overload)实现的是编译时的多态性(也称为前绑定),而方法重写(override)实现的是运行时的多态性(也称为后绑定)。运行时的多态是面向对象最精髓的东西,要实现多态需要做两件事:1. 方法重写(子类继承父类并重写父类中已有的或抽象的方法);2. 对象造型(用父类型引用引用子类型对象,这样同样的引用调用同样的方法就会根据子类对象的不同而表现出不同的行为)。
1
描述一个系统,功能,设计,实现
描述
团队结构,工作职责
描述
为什么采用一个技术,为什么不使用一个技术
描述
应用中有使用到集群么?多大规模?
cluster
“cluster中应用中碰到的问题,session共享问题?”
cluster
如何实现集群?session复制?无状态?集中session?
cluster
Collections和Collection的区别?
collection
HashMap和HashTable的区别
collection
Java中有那些集合的接口
collection
Map与Collection的关系?
collection
ClassLoader是如何查找类的?
core
equals与==的区别
core
“Exception,checked,unchecked”
core
exception机制,层次
core
final关键词的使用
core
hashCode()方法的作用
core
InputStream与Reader的区别
core
interface与abstract类的区别
core
Java非阻塞I/O?
core
Java的基本对象Object有哪些方法?
core
“Java中反射的性能如何,你是怎么看待的”
core
Object的hashCode()的计算,肯定唯一的吗?
core
典型的web应用的classloader结构
core
“对象要实现排序,需要实现什么接口”
core
请问你在什么情况下会在你的JAVA代码中使用可序列化?
core
如何保证一个类的非静态方法在多个实例中是同步的?
core
如何将一个String转化为int
core
如何序列化一个类的实例
core
怎么样克隆一个类
core
怎样标识JavaBean对象里面的一个属性不需要被序列化?
core
Java中内存调优的参数
gc
垃圾收集是什么,为什么需要,怎么工作
gc
ajax
http
cookie&session
http
cookie的原理
http
http中的forward和redirect的区别