面试题汇总
2016-07-19 08:22
405 查看
1:一级缓存和二级缓存是什么?各自的应用场景是什么?hibernate与mybatis区别?
一级缓存是默认开启的,当创建session的时候,为session分配一块内存空间,用于存放session查询的数据,这块内存就成为session;
二级缓存是sessionfactory级别的,便于session对象之间空享数据二级缓存用于经常用到的,很少修改的数据和对象,哪些类是经常用到的很少修改的就使用二级缓存;
对象数据频繁共享,数据变化频率低;
2:享元模式和单例模式的区别是什么?
享元模式是对象级别的,可以有多个对象实例,多个变量引用同一个对象实例;
单例模式是类级别的,一个类只能有一个对象实例;
3:事务管理是在哪一层织入的?(业务层)
4:String常用方法?
1) string.indexOf(str);找不到返回-1;
5:控制器是单例还是多例的?单例
6:list与数组的区别?
1):数据是大小固定的,而list的大小可以变化;
2):数组可以存储基本类型数据和引用类型数据(基本类型/引用类型),而list只能存储引用类型变量;
3):数组只能存储类型一样的数据,而list不做要求;
4):list按放入的顺序来给数据排序,而数据按照下标排序;
7:list和set如何排序?实现comparable接口或者在collections.sort(list,new comparator())里加入比较器
set没有排序的方法,可以Set
set = new TreeSet(),TreeSet存储的时候已经是排好序的
8:list中有哪些线程安全集合?vector
9:多态有多少种?如何实现?
11:list的初始容量的设置?
12:mybatis如何防止sql注入?
13:说说spring容器的有点?
spring面向接口编程
1):IOC,对象的创建,对象之间的依赖关系交给容器来设置,降低了对象之间的耦合度;
2):AOP面向切面编程,将通用代码与业务代码分离,便于开发人员专注于业务的开发和维护;
14:aop的优点和应用?(遇到2次了)
比如在对每个表结构或者数据对象进行save update (CRUD操作)操作时 需要生成创建者 创建时间 修改者 修改时间 ,如果自己手写,工作量比较大,这时就需要aop
如性能监测,访问控制,事务管理、缓存、对象池管理以及日志记录
将通用代码与业务代码分离,便于业务开发及维护
15:容器中为何设置单例?共享数据
16:一个系统有的能登入?有的登不上?有的登入之后速度很慢?分析原因?
17:exits与in,not exits,not in的区别?
还有not exits用法要看看
1):外表大 内表小用in,外表小内表达用exits;
2):exits外表用loop 循环 ,每次循环再对内表查询;
3):in对主查询使用索引,exits对内表使用索引,not in 不使用索引,not exits 主子查询都使用索引;
18:oracle如何实现行转列?
19:spring mvc流程?
1)浏览器发出请求,交给前端控制器DispatchServlet处理
2)前段控制器通过requestmapping找到对应的控制器组件处理请求
3)控制器处理请求,返回一个modelAndView对象,封装了数据和视图名称
4)交给视图解析器viewResolver根据视图名称找到对应的jsp,生成响应界面
20:spring的作用域?
singleton
prototype
session
request
global session
21:解释下spring事务?
对多表进行crud操作时,要么都成功,要么都不成功所执行的一系列动作称为事物
声明式事务
22:单例模式从哪几个方面考虑?
23:说说prototype?
为js对象增加属性和方法
24:转发与重定向区别?
转发是重新发送一次请求,地址栏会发生改变,不会共享数据;重定向是同一个web应用中的一个组件把未完成的任务交给另一个组件,地址栏不变,可以空享数据
25:数据库约束有几种?
unique
not null
primary key
foreign key
check
26:sql删除重复语句?
create sequence s_test start with 1 increment by 1;
select * from test_info where id in(select min(id) id from test_info t group by t.name) ;
27:java与json之间的转换?
28:oracle pass fail?
29:jsp与servlet区别?
jsp前端展示,包含html,java代码,客户端脚本,servlet 主要运行于服务器端,接受请求,发送响应
30:内部类有几种?
静态内部类 非静态内部类 局部内部类 匿名内部类
31:servlet的生命周期?
1)实例化servlet
2)初始化initi方法
3)service方法
4)destory销毁
32:标准标签库有哪些常见标签?
<c:if>
<c:choose>
<c:foreach>
33:jdbc中statement与preparedStatement区别?
34:hibernate与mybatis区别?
Mybatis需要手写大量sql语句,hibernate可以自动生成,偶尔会写一些hql;
Mybatis的工作量比hibernate大很多;
涉及到数据库字段的修改,hibernate修改的地方少,mybatis需要把sql mapping的地方一一修改
一级缓存是默认开启的,当创建session的时候,为session分配一块内存空间,用于存放session查询的数据,这块内存就成为session;
二级缓存是sessionfactory级别的,便于session对象之间空享数据二级缓存用于经常用到的,很少修改的数据和对象,哪些类是经常用到的很少修改的就使用二级缓存;
对象数据频繁共享,数据变化频率低;
2:享元模式和单例模式的区别是什么?
享元模式是对象级别的,可以有多个对象实例,多个变量引用同一个对象实例;
单例模式是类级别的,一个类只能有一个对象实例;
3:事务管理是在哪一层织入的?(业务层)
4:String常用方法?
1) string.indexOf(str);找不到返回-1;
String str = " fan cheng kai "; str.length(); str.trim(); str.toUpperCase(); str.toLowerCase(); str.equals("fan"); str.endsWith("kai"); str.valueOf(100); str.replace("a", "z"); str.substring(3, 8);
5:控制器是单例还是多例的?单例
6:list与数组的区别?
1):数据是大小固定的,而list的大小可以变化;
2):数组可以存储基本类型数据和引用类型数据(基本类型/引用类型),而list只能存储引用类型变量;
3):数组只能存储类型一样的数据,而list不做要求;
4):list按放入的顺序来给数据排序,而数据按照下标排序;
7:list和set如何排序?实现comparable接口或者在collections.sort(list,new comparator())里加入比较器
set没有排序的方法,可以Set
set = new TreeSet(),TreeSet存储的时候已经是排好序的
8:list中有哪些线程安全集合?vector
9:多态有多少种?如何实现?
1)继承;
2)重写;
3)父类引用指向子类对象
10:数组是如何实现扩容的?
声明一个容量大的数组,将原来的数组放入其中,再给元素从新排序11:list的初始容量的设置?
12:mybatis如何防止sql注入?
13:说说spring容器的有点?
spring面向接口编程
1):IOC,对象的创建,对象之间的依赖关系交给容器来设置,降低了对象之间的耦合度;
2):AOP面向切面编程,将通用代码与业务代码分离,便于开发人员专注于业务的开发和维护;
14:aop的优点和应用?(遇到2次了)
比如在对每个表结构或者数据对象进行save update (CRUD操作)操作时 需要生成创建者 创建时间 修改者 修改时间 ,如果自己手写,工作量比较大,这时就需要aop
如性能监测,访问控制,事务管理、缓存、对象池管理以及日志记录
将通用代码与业务代码分离,便于业务开发及维护
15:容器中为何设置单例?共享数据
16:一个系统有的能登入?有的登不上?有的登入之后速度很慢?分析原因?
17:exits与in,not exits,not in的区别?
还有not exits用法要看看
1):外表大 内表小用in,外表小内表达用exits;
2):exits外表用loop 循环 ,每次循环再对内表查询;
3):in对主查询使用索引,exits对内表使用索引,not in 不使用索引,not exits 主子查询都使用索引;
18:oracle如何实现行转列?
select sname, wmsys.wm_concat(score) over(partition by sname order by sub) subs from student
select sname, max(subs) subs
from (select sname, wmsys.wm_concat(score) over(partition by sname order by sub) subs from student) tabs
group by
4000
sname
select sname,
subs,
REGEXP_SUBSTR(subs, '[^,]+', 1, 5, 'i') 语文,
REGEXP_SUBSTR(subs, '[^,]+', 1, 2, 'i') 数学,
REGEXP_SUBSTR(subs, '[^,]+', 1, 4, 'i') 英语,
REGEXP_SUBSTR(subs, '[^,]+', 1, 3, 'i') 物理,
REGEXP_SUBSTR(subs, '[^,]+', 1, 1, 'i') 化学
from (select sname, max(subs) subs
from (select sname, wmsys.wm_concat(score) over(partition by sname order by sub) subs from student) tabs
group by sname) tab
19:spring mvc流程?
1)浏览器发出请求,交给前端控制器DispatchServlet处理
2)前段控制器通过requestmapping找到对应的控制器组件处理请求
3)控制器处理请求,返回一个modelAndView对象,封装了数据和视图名称
4)交给视图解析器viewResolver根据视图名称找到对应的jsp,生成响应界面
20:spring的作用域?
singleton
prototype
session
request
global session
21:解释下spring事务?
对多表进行crud操作时,要么都成功,要么都不成功所执行的一系列动作称为事物
声明式事务
22:单例模式从哪几个方面考虑?
23:说说prototype?
为js对象增加属性和方法
24:转发与重定向区别?
转发是重新发送一次请求,地址栏会发生改变,不会共享数据;重定向是同一个web应用中的一个组件把未完成的任务交给另一个组件,地址栏不变,可以空享数据
25:数据库约束有几种?
unique
not null
primary key
foreign key
check
26:sql删除重复语句?
create sequence s_test start with 1 increment by 1;
select * from test_info where id in(select min(id) id from test_info t group by t.name) ;
27:java与json之间的转换?
* java对象与json对象互相转换 /** * 创建java对象 */ Student student = new Student(); student.setId(1); student.setName("jag"); student.setSex("man"); student.setAge(25); student.setHobby(new String[]{"篮球","上网","跑步","游戏"}); /** * java对象转换成json对象,并获取json对象属性 */ JSONObject jsonStu = JSONObject.fromObject(student); System.out.println(jsonStu.toString()); System.out.println(jsonStu.getJSONArray("hobby")); /** * json对象转换成java对象,并获取java对象属性 */ Student stu = (Student) JSONObject.toBean(jsonStu, Student.class); System.out.println(stu.getName()); /** * 创建json对象 */ JSONObject jsonObj = new JSONObject(); jsonObj.put("id",1); jsonObj.put("name","张勇"); jsonObj.put("sex","男"); jsonObj.put("age",24); //jsonObj.put("hobby",new String[]{"上网","游戏","跑步","音乐"}); //System.out.println(jsonObj.toString()); /** * json对象转换成java对象 */ Student stud = (Student) JSONObject.toBean(jsonObj,Student.class); System.out.println(stud.getName());
28:oracle pass fail?
select id, name, (case when to_number(score) >= 60 then 'pass' else 'fail' end) as 等级 from test_info
select id, name, decode(sign(score - 60), -1, 'fail', 'pass') from test_info
29:jsp与servlet区别?
jsp前端展示,包含html,java代码,客户端脚本,servlet 主要运行于服务器端,接受请求,发送响应
30:内部类有几种?
静态内部类 非静态内部类 局部内部类 匿名内部类
31:servlet的生命周期?
1)实例化servlet
2)初始化initi方法
3)service方法
4)destory销毁
32:标准标签库有哪些常见标签?
<c:if>
<c:choose>
<c:foreach>
33:jdbc中statement与preparedStatement区别?
34:hibernate与mybatis区别?
Mybatis需要手写大量sql语句,hibernate可以自动生成,偶尔会写一些hql;
Mybatis的工作量比hibernate大很多;
涉及到数据库字段的修改,hibernate修改的地方少,mybatis需要把sql mapping的地方一一修改
相关文章推荐
- 面试题40:数组中只出现一次的数字
- iOS面试题总结(一)
- 你为什么找不到女朋友——致程序员
- 说说 IT 技术人的职业规划
- 硅谷女员工公开吐槽工资低被开除 但这只是开始(很现实的情况,但我觉得要归咎于房租太贵,以及自己的职业生涯计划不合理)
- Java面试参考指南——同步
- 面试问题:发一个随机红包,100块钱给10个人。每个人最多12块钱,最少6块钱。怎么分?
- 剑指offer之面试题22:二叉搜索树的后序遍历序列
- 数组循环移位
- MyBatis面试题
- 面试相关知识收集
- 国内一线互联网公司内部面试题库
- 面试,学会这些就足够啦!!!
- 十大必备面试问题 你知道多少???
- 转行做程序员之前你应该考虑的三件事
- 程序员接私单怎么接?,流程,报价。
- 转行做程序员之前你应该考虑的三件事
- Java JVM 请别拿“String s=new String("z");创建了多少实例”来面试 [ 转载 ]
- 常见的面试题总结
- 【面试总结】初探CLR