【携程】Java岗-酒店部门后端实习
一面
- 自我介绍,项目有没有有关高并发处理,用的什么数据库
- 链表和数组的区别(存储离散和连续,到达界限的扩容,搜寻和插入删除的时间复杂度)
- 数据库底层数据结构是什么(二叉树红黑树b树b+树一套)
- 事务隔离机制,四个等级,分别对应那些异常操作(没答太好)
- binlog,redolog和undolog
- 数据库封锁协议(一级二级三级,具体操作,消除哪些异常)(没答太好)
- 会用java么,对java的了解有多少
- 数据库高性能的优化操作(!)
- 排序算法了解么(8大排序),简述下快排(初始原理,优化,左右指针swap,random随机数确定pivot)
- 口述算法,两个栈实现一个队列,到中途在加入怎么办(入在A,要出则把A全部弹出到B,出几个弹几个,再入就全压回到A)
二面
- 项目了解,是不是java,看过effective java么(可惜看的是effective C++)
- java语法怎么样,框架熟么
- 直接写题:
-
字符串出现次数前k大的,输出对应字符串和次数,相同次数的字典序从小到大(map排序秒了)
-
了解sort的实现么,这个cm在这里插入代码片p函数具体在里面怎么实现的(说了快排,C++stl优化的快排,里面重载了iterator和>,用cmp)
- 你用了map作为数据结构,知道map怎么实现的么(红黑树那一套,左旋右旋)
- 为什么来携程,为什么离开上一家(互联网,数据库,技术规划)
- 提问(项目建议保留自己有价值的,虽然不问,简历最主要的目的就是进技术面,进了之后再看实力;
- 用java业务,C++进来可以转,但没有培训,全靠自学)