携程一面
携程一面9/14号56min
- 自我介绍
- 介绍一下自己的项目,面试官根据项目提了好多问题。
- 问我要不要介绍第二个项目,还是直接问基础?我说问基础吧,项目太拉夸了。
- HTTP1.0和HTTP1.1的区别是什么
- 简单介绍一下hashmap,为什么链表长度大于8就要转化为红黑树,为什么不用avl树,红黑树有什么特性。
- int类型的数组和ArrayList链表都存放这相同的数据,哪个检索的速度更快
- 介绍一下双亲委派机制,如何打破双亲委派?
- MySQL中的存储引擎,为什么需要用b+树?
- 聚集索引和非聚集索引的区别?
- JVM的内存区域,那些是共享的,那些是独享的,栈桢里主要存的是什么,局部变量,方法参数,面试官问还有呢,(我忘记了)
- JVM中的垃圾回收,为什么要用分代,新生代和老年代各自使用了什么算法,比例是多少,伊甸园和幸存区的比例是多少?
- synchronize是非公平锁吗,我说不是,如何实现公平锁,我说调底层有一个unfair的一个方法,设置为true。面试官说,synchronize是关键字,(哦哦,我说的那个是lock的),那我不知道。
- 最左前缀匹配原则,为什么要遵循,不遵循就会导致索引失效,为什么会失效?
- 做一道算法题:非递归遍历二叉树
我用的bfs去遍历,面试官看了一眼,感觉没问题,问我能不能用dfs的形式,我又重新修改成了dfs的遍历,他说应该没问题。
反问: 问公司的业务,技术还是以JAVA为主,看部门的要求,有的部门对多线程要求的更深,有的部门需要对数据存储掌握熟练。
面试官说我需要对原理了解的更深入一点,面试的时候也不全是背的,现在你们把好多知识点都背过了,我们不知道你们是不是真的懂了???
哈哈,你们不问我们也不背呀。最后面试官给我推荐一本书, 《编写可读代码的艺术》
#携程##面经#