去哪儿面经

#去哪儿旅行秋招# 一天面完一二面和hr面,面完马上出结果
1.自我介绍
2.项目
3.数据库中的表的设计?
4.数据库事务的实现原理?
其实问的就是ACID特性的实现原理:
【原子性】实现原理:undo log
实现原子性的关键,是当事务回滚时能够撤销所有已经成功执行的sql语句。InnoDB实现回滚,靠的是undo log:当事务对数据库进行修改时,InnoDB会生成对应的undo log;如果事务执行失败或调用了rollback,导致事务需要回滚,便可以利用undo log中的信息将数据回滚到修改之前的样子。
【持久性】在Inonodb中使用到了Buffer Pool来提高数据库的访问速度,但是由于buffer pool带来了新的问题,如果MySQL宕机,而此时Buffer Pool中修改的数据还没有刷新到磁盘,就会导致数据的丢失,事务的持久性无法保证。当数据修改时,除了修改Buffer Pool中的数据,还会在redo log记录这次操作;当事务提交时,会调用fsync接口对redo log进行刷盘。如果MySQL宕机,重启时可以读取redo log中的数据,对数据库进行恢复。redo log采用的是WAL(Write-ahead logging,预写式日志),所有修改先写入日志,再更新到Buffer Pool,保证了数据不会因MySQL宕机而丢失,从而满足了持久性要求。
【隔离性,一致性】隔离性追求的是并发情形下事务之间互不干扰
实现原理:锁机制
行锁与表锁
5.BNSE是什么?
应该说的是修正的第三范式
6.最新的JDK版本是什么?常用的是哪个版本
7.HashMap底层?
8.为什么HashMap底层采用红黑树,而不用B+树这种数据结构?
9.红黑树左旋右旋?
10.算法题:按照单词翻转字符串,例如I love qunar,翻转结果为qunar love I,这个写了一下,比较简单,然后扩展求I love qunar和qunar love I最长公共子串,知道是使用KMP算法,但是公式忘了,面试官就没让写了
11.反问
#软件开发笔面经##面经##秋招#
全部评论
笔试啥时候做的
点赞 回复 分享
发布于 09-02 11:07 北京
怎么样
点赞 回复 分享
发布于 09-02 11:16 美国
小红书
校招火热招聘中
官网直投
最长公共子串那道题什么意思, 空格也当成普通字符来处理吗
点赞 回复 分享
发布于 09-02 17:07 四川

相关推荐

不愿透露姓名的神秘牛友
08-23 15:53
点赞 评论 收藏
分享
3 35 评论
分享
牛客网
牛客企业服务