某互联网门户公司面试
2016-03-06 14:17
232 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/suparPeng/article/details/84768649
前两天去某互联网门户公司面试java后台开发职位,面试题目如下:
1 添加索引后如何知道查询是否命中了索引?
这个问题,我平时没有关注过,回答说如果添加索引后查询时间明显缩短那就命中索引了。面试官不满意,他提示数据库查询有缓存,同一sql语句,第二次查询会比第一次快,这不能表示命中索引。后来,在网上搜了一下,可以通过查看sql的执行计划。
2 如果在A,B,C三个字段建了联合索引,问where A='value',是否会命中索引?
我说不会。因为我觉得关键字是由A、B、C三个字段值组成的,应该是对(A,B,C)做的排序。网上查了一下,才知道这种情况其实是可以命中索引的。因为对(A,B,C)排序,可以保证A是有序的,虽然B、C是无序的。例如(1,9,2),(2,5,7)(2,1,3),(1,6,4),排序结果为:(1,6,4),(1,9.2),(2,1,3),(2,5,7)。参考:http://blog.csdn.net/shellching/article/details/7655793
3 索引的数据结构?
我说是一种多路查找树,我确实不记得是具体是什么树了。面试官接着问,具体是哪种树。没办法,我瞎蒙说是红黑树。又问查找的时间复杂度,我答应该是O(树高)。翻了一下数据结构教材,索引的结构是B树。B树的介绍可以参考:http://blog.csdn.net/v_JULY_v/article/details/6530142/
4 不同的Java内存管理方案的优缺点?
面试时没有打出来。搜了一下,面试官应该是想问CMS和Parallel两种gc算法。可以参考:http://www.deepinmind.com/gc/2014/05/01/g1-vs-cms-vs-parallel-gc.html
5 servlet是单例的吗?
我说是。又问,那怎么保证线程安全?我说尽量让servlet无状态,不要声明静态域和实例域。现在想想,回答的不够全,如果确实需要静态域和实例域的话,可以使用同步机制,通过加锁来保证正确性。上网查了一下,其实说servlet是单例是不准确的,严格地说是一个ServletMapping对应一个单例实例,如果一个Servlet被映射了两个URL地址,会生成两个实例。
6 tomcat容器包含哪些模块?如何自己实现一个web 容器?
这个真不会啊。
先写这么多,想起别的来再补充。
1 添加索引后如何知道查询是否命中了索引?
这个问题,我平时没有关注过,回答说如果添加索引后查询时间明显缩短那就命中索引了。面试官不满意,他提示数据库查询有缓存,同一sql语句,第二次查询会比第一次快,这不能表示命中索引。后来,在网上搜了一下,可以通过查看sql的执行计划。
2 如果在A,B,C三个字段建了联合索引,问where A='value',是否会命中索引?
我说不会。因为我觉得关键字是由A、B、C三个字段值组成的,应该是对(A,B,C)做的排序。网上查了一下,才知道这种情况其实是可以命中索引的。因为对(A,B,C)排序,可以保证A是有序的,虽然B、C是无序的。例如(1,9,2),(2,5,7)(2,1,3),(1,6,4),排序结果为:(1,6,4),(1,9.2),(2,1,3),(2,5,7)。参考:http://blog.csdn.net/shellching/article/details/7655793
3 索引的数据结构?
我说是一种多路查找树,我确实不记得是具体是什么树了。面试官接着问,具体是哪种树。没办法,我瞎蒙说是红黑树。又问查找的时间复杂度,我答应该是O(树高)。翻了一下数据结构教材,索引的结构是B树。B树的介绍可以参考:http://blog.csdn.net/v_JULY_v/article/details/6530142/
4 不同的Java内存管理方案的优缺点?
面试时没有打出来。搜了一下,面试官应该是想问CMS和Parallel两种gc算法。可以参考:http://www.deepinmind.com/gc/2014/05/01/g1-vs-cms-vs-parallel-gc.html
5 servlet是单例的吗?
我说是。又问,那怎么保证线程安全?我说尽量让servlet无状态,不要声明静态域和实例域。现在想想,回答的不够全,如果确实需要静态域和实例域的话,可以使用同步机制,通过加锁来保证正确性。上网查了一下,其实说servlet是单例是不准确的,严格地说是一个ServletMapping对应一个单例实例,如果一个Servlet被映射了两个URL地址,会生成两个实例。
6 tomcat容器包含哪些模块?如何自己实现一个web 容器?
这个真不会啊。
先写这么多,想起别的来再补充。
相关文章推荐
- 【9】-互联网公司技术型面试需要的素质
- 某互联网公司2014 Java工程师面试试题
- 互联网公司Web前端常见面试题目整理汇总
- 横空出世,席卷互联网 [评微软等公司数据结构+算法面试100题]
- 一个IT农民工分享互联网巨头公司面试流程
- ] 一个IT男分享的6大互联网巨头公司的面试流程
- 一个互联网公司的面试,对两个字符串比较,如果它们是打乱顺序的同一个字符串,返回true.
- 横空出世,席卷互联网--评微软等公司数据结构+算法面试100题
- 2019最新一线互联网公司(百度、头条、网易) Android 社招面试题目
- 互联网公司面试题目收集
- 【9】-互联网公司技术型面试需要的素质
- [某课网]玩转算法面试_从真题到思维全面提升算法思维_互联网公司算法面试真题
- 如何准备互联网公司面试(算法相关)
- 找工作笔试面试那些事儿(15)---互联网公司面试的零零种种和多家经验
- Java后台-面试问题汇总:历时20天,主流互联网公司面试经历
- 鹅厂员工告诉你面试互联网公司要不要穿正装
- 找工作笔试面试那些事儿(15)---互联网公司面试的零零种种和多家经验
- 互联网公司面试题目收集
- 【9】-互联网公司技术型面试需要的素质
- 知名互联网公司校招 Java 开发岗面试知识点解析