面试题: 1天的java面试题 已看1
1,自我介绍下,我直接说的项目经历,(哪年在哪个公司呆过)
2,问是否有带过团队的经历,我说去年带过一次。
3,Struts是单例模式还是多例模式?我先说单例模式,后说多例模式。 Struts1是单例的 struts2是多例的
4,JSP与STRUTS的区别是什么,我说了一大堆,面试官让我不要宏观的说,要细化的说,我给简单的说了struts下过滤器,拦截器,jsp有el表达式等。
5,问我ModelDriven是个类还是个接口?我先说是类,后来改说了是个接口。
6,ModelDriven是干什么的?我说是为了返回实体类的。又问返回的比如User对象的属性与直接定义了User属性有区别吗?我所没有,其实是有区别的.
有区别 直接返回对象相当于对象驱动 在页面需要user.name调用 而模型驱动 只需要 调用name属性就可以
7,prepare是什么?我没回答上来
prepare是 struts过滤器中 init() 的中的prepare 准备方法 dofilter 默认是execute() 执行方法
9,接着考数据库知识:如题:
age | name |
---|---|
28 | zhangsan |
28 | lishi |
30 | wangwu |
40 | zhaoliu |
问题:计算下28岁的有几个人,30岁的几个人,40岁的几个人?
我开始准备用 case then 做,
select age,sum(case age =20 then 1 else 0 ) as t1,
sum(case age = 30 then 1 else 0 ) as t2,
sum(case age = 40 then 1 esle 0 ) as t3
from user
group by age; -- 这的sum写到一半忘了个写括号了
面试官说年龄如果重 1 - 100 ,那我的判断100次,我也说了这样的语句数据了大了就查询很慢了。
我又改语句:
SELECT age,COUNT(*) FROM countbyage GROUP BY age (正确)
当时心情不好,注意力没集中,给忘记写age了,反正是很混乱。
10、最后问我薪资待遇是多少,我说出口5k,后来改为4k,面试官说这么不自信?
11 最后面试管给了我他的163邮箱,让我发段代码给他。这样这场面试就结束了。