您的位置:首页 > 职场人生

java面试题整理

2015-11-20 16:18 393 查看
项目计划提前完成,已经连续闲了三周,实在无事可做。回忆一下今年大大小小N次面试,一是为了自己缕清,方便将来总有一天要换工作。二是,若有学弟学妹找工作,也可以借鉴嘛。 一. Spring MVC 几乎所有面试官都会问spring ,spring实在太好用了。
1. 什么是IOC,谈谈你对IOC和DI的理解,IOC在项目中的应用? http://jinnianshilongnian.iteye.com/blog/1413846http://www.cnblogs.com/xdpgacl/p/4249939.html
2. Spring实现AOP的方式,在什么地方用到AOP了? http://blog.sina.com.cn/s/blog_636415010100v434.html
http://pandonix.iteye.com/blog/336873/
http://jinnianshilongnian.iteye.com/blog/1474325

3. Spring的事务管理
事务就是对一系列的数据库操作(比如插入多条数据)进行统一的提交或回滚操作,如果插入成功,那么一起成功,如果中间有一条出现异常,那么回滚之前的所有操作。这样可以防止出现脏数据,防止数据库数据出现问题。
开发中为了避免这种情况一般都会进行事务管理。Spring中也有自己的事务管理机制,一般是使用TransactionMananger进行管理,可以通过Spring的注入来完成此功能。
4. 谈谈SSH整合
SSH:Struts(表示层)+Hibernate(持久层)+Spring(业务层)
a、Struts
Struts是一个表示层框架,主要作用是界面展示,接收请求,分发请求。
b、Hibernate
Hibernate是一个持久层框架,它只负责与关系数据库的操作。
c、Spring
Spring是一个业务层框架,是一个整合的框架,能够很好地黏合表示层与持久层。
索引
1.选择合适的数据类型。越小、简单越好。整形存储IP。
2.尽量避免null
1.1.选择合适的标识符。考虑MySQL是怎样运算和比较的。一旦选定,保证所有相关表都使用相同的数据类型。
1.整形最好,更快的处理。可以设为auto_increment
2.尽量避免字符串作标识符,消耗更多空间。
二。DBMS,索引都是进行优化的最主要因素。
对多列索引(组合索引),列的顺序非常重要,MySQL仅能对索引最左边的前缀进行有效的查找。
mySQL 1.普通索引 索引类型normal 2.主键索引 3.唯一索引 unique 4.全文索引
fulltext 5.多列索引


MySQL与oracle区别
1.oracle大型数据库,mysql中小型数据库。MySQL开源,oracle收费。
2.oracle支持大并发,大访问量。
操作
1.MySQL主键可设为自动增长类型auto_increment。插入记录时,不需要指定该记录的主键值,mysql自动增长。oracle没有自增长类型,主键一般使用使用的序列,插入记录时将序列号下一值赋给该字段。
2.mysql可以用双引号包起字符串,oracle中只能用单引号引字符串。在插入修改字符串前必须做单引号替换,把所有出现的一个单引号替换为两个单引号。
3.mysql中组函数在select语句中可随意使用,但在oracle中如果查询语句有组函数,其他列名必须是组函数处理过的,或者是group by子句中的列否则报错。组函数,如AVG([{DISTINCT|ALL}])DISTINCT不同的。COUNT、SUM、AVG/MAX/MIN
4.mysql处理翻页,limit (页码-1)*每页记录数,每页记录数。
oracle处理翻页ROWNUM。


SELECT * FROM w WHERE en LIKE '2011-01-21%'

;
Hibernate的查询会将表中的所有字段查询出来,这一点会有性能消耗。Hibernate也可以自己写SQL来指定需要查询的字段,但这样就破坏了Hibernate开发的简洁性。而Mybatis的SQL是手动编写的,所以可以按需求指定查询的字段。

Student s1 = new Student();
Student s2 = s1;
java里面创建一个对象放在堆里。创建八大基本类型放在栈里。栈的运算比较快。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: