由于做java外包,所以有了很多面试。这里打算总结一下java面试问题、答案与心得。很多时候问的问题都一样。
先起个头,以后陆续补全,今年年底完成(2008)。有些需要好好回忆一下。
A
简答的题目;
B
数据库题;
C 面试官问的问题;
A 简答的题目:
A.1
form表单中get、post的区别?
A.2
char,int,long 是几个字节的?
Java是unicode的编码。
byte 1字节、8个bit位;char 2字节、16位;short 2字节、16位
int 4字节、32位;float 4字节、32位;long 8字节、64位;double 8字节、64位;
通常情况下1 byte=8 bit
另外相对与JVM这个平台,是的,统一的,因为是相同的平台。相对不同的平台char的长度是不一样的
A.3
java几种数字类型间的转换
实箭头表示无信息损失的转换;虚线表示转换可能损失精度。如果是图中没有出现的转换,java
通过 强制类型 转换;不过可能会丢失精度或信息。
A.4
java位移运算 和 位逻辑运算
请参看我整理的另一篇博文 关于java的移位运算符和位逻辑运算符。
B 数据库题:
B.1
有2张表,员工表(emp): id, name, salary, dept_id;
部门表(dept):
id,name
用一句sql求出平均薪水最高的部门名称?
select name
from dept
inner join ( select max(avg_salary) max_salary, dep_id
from ( select avg(salary) avg_salary, dep_id
from emp
group by dep_id
)
) t
on (dept.dept_id = t.dept_id);
用一句sql求出薪水最高的员工所在部门的名称?
select name
from dept
inner
join ( select max(salary) max_salary, dep_id
from emp
) t
on (dept.id = t.dept_id);
C 面试官问的问题
C.1 讲讲你做过的最成功的一个案例,为什么?
注:也个问题被问道的次数相当多。初算了一下不低于80%。十个公司会有8个问你,呵呵。
C.2
你做的项目不少了,工作时间也挺长的。对项目开发应该有很多的心得或想法;请从管理,需求,开发等角度说一说。
注:问这个问题的出现过3次。每次我都是临场发挥,想到哪里就说哪里。这次我的好好理一理,
下一次好说的更有条理,更logic.
C.3 不少人还问道了 struts2
和struts1的区别 或者 struts2 和webwork的区别?
C.4
由于做的都是web开发,所以很多人spring方面问的问题,spring有啥优点呀,缺点呀,有哪些
亮点呀,这样做的好处是什么呀,等等?
注:关于spring ; ioc、aop肯定是会问道的。
C.5 struts2 的interceptor 也有人问的?
C.6 模式方面问的也不少?
注: 多数集中在 单例、工厂、代理、模板、观察着、适配器等模式上。
流行的框架本身其实就采用了很多模式;spring 的单例模式、原型模式自不用多说;
还用到了很多templet模式。
C.7 数据结构、算法方面也有问的。
注:
做web开发好像用到数据结构方面的不多,好像也就那些排序算法啥的,而且毕业时间
也很长了。所以都没问的很详细。
多数问的都是树,二叉树,先序、中序、后序等等。
在参加HP的一次电话面试时 也问道了图的算法:
问题是这样的:有100个城市,城市之间有路相连(不考虑有向)。比如北京有路和天津相连,
天津有路和东营相连,城市之间就形成了一个路网。请描述一个算法遍历每一个城市。首
先得用java构建一个结构来描述100个城市、路;然后说出算法。
加载中,请稍候......