字节跳动飞书后台工程师一面,应该是个凉经

投了字节的春招岗,被刷简历,投了实习岗,被刷简历,结果被捞起来当提前批了,幸运的过了第二次笔试得到了面试机会。
终于迎来了人生的第一面,啊,这种激动而又紧张的心情,让我想跑厕所(
本来因为我朋友之前的面试经历一点Java没问,全挖的os,于是我就从接到电话开始一直在准备os和计网来着,结果一点没问😂

1.自我介绍
2.聊项目亮点
然后我选了redis位图,因为我用这个实现了员工打卡功能,然后面试官说公司员工不多不会有太大的内存优化(虽然我确实也是觉得很新奇才用的
然后选了线程池,因为我用线程池实现了字段校验,过于紧张线程池全都忘光了,于是在线程池参数的配置上胡言乱语,被善意的反驳
然后说了sql优化,同理,过于紧张,话都说不顺了,讲了几种sql的普通优化
3.除了redis的位图,还了解什么
然后我从9种数据结构及其适用场景,string-对象json,hash-对象,list-消息队列,set-共同爱好,zset-排行榜,bitmap-打卡签到,hyperloglog-月活,bloom filter-解决缓存穿透
聊到了两种持久化及其详细过程,rdb-save、bgsave,aof-rewriteaof
聊到了主从复制及其新老版的实现区别,旧版的sync-初次复制和断线重连后的重同步,新版的psync-初次复制和断线重连后的部分重同步
好吧,全程就我在口嗨😭
4.zset的底层数据结构
跳表,没细问,细问我也没看(
5.布隆过滤器是redis的数据结构吗
我说没注意。。。他这么一问我以为不是。。。
6.innodb的锁机制
讲了粒度分类的表锁行锁意向锁,讲了排斥性分类的读锁写锁
讲了四种锁算法,record lock, gap lock, next-key lock, previous-key lock,但是面试官好像不知道我说的最后两个算法,让我打字发给他
以及我还说了innodb在可重复读下是通过next-key lock来避免幻读的,最后被委婉的说不对,求助,难道不是吗,求解答😭 或者我应该结合mvcc来说吧,但是当时我没说,流泪
(2020/7/4更新,这个问题跟朋友聊了聊,next-key算法解决幻读问题是没毛病的,但是面试官的问题应该是rr级别下怎么能解决幻读问题。rr确实不能完美避免幻读问题,除非加锁,即使是mvcc也不能完全避免,记录在博客里了 https://blog.csdn.net/weixin_42907817/article/details/107121470
7.算法
力扣 124. 二叉树中的最大路径和 相类似的题,力扣这题求的是最大路径和,我面试的题是求最长的路径,https://leetcode-cn.com/problems/binary-tree-maximum-path-sum/,hard,做过所以做出来了,但是被牛客坑了,要自己根据输入输出构造二叉树,写完后一直运行失败,最后发现输入框是空的要自己填。。。原谅我是第一次参加面试。因为处理输入输出花的时间比较久,本来应该有第二题的吧,反正面试官一开始是说两道题,改口先做一题。
8.反问
建议,他说还是不问这个吧。
就问了学习建议,面试官说多看看原理会对我具有比较大的帮助,有些paper不一定是对的,然后举例next-key算法能不能解决幻读问题,当然了他没细说。

所以,应该就是凉经,总之我终于是有过面试经验的人了🤣
#字节跳动##校招##Java工程师##面经#
全部评论
大佬厉害!同样后端 我的简单好多...大佬研究生?
1 回复
分享
发布于 2020-07-02 01:45
楼主你好,请问你是实习、校招还是社招?岗位是什么?开发的话,是Java方向还是C++方向?或者其他语言方向~
点赞 回复
分享
发布于 2020-07-01 17:35
联想
校招火热招聘中
官网直投
mvcc是无锁的  通过快照和自增时间戳进行隔离 我就了解这么多
点赞 回复
分享
发布于 2020-07-01 17:37
好奇是什么项目,我只会用Redis做缓存,哈哈哈😂
点赞 回复
分享
发布于 2020-07-01 17:37
其实你这个挺好的,我那个三面挂了才可惜呢,完全不知道自己挂在哪
点赞 回复
分享
发布于 2020-07-01 17:40
已经很厉害了
点赞 回复
分享
发布于 2020-07-01 17:44
是next key lock来在可重复读隔离级别解决幻读的,用了Gap🔒
点赞 回复
分享
发布于 2020-07-01 17:44
转究郎?
点赞 回复
分享
发布于 2020-07-01 17:57
算法题难道不像leetcode那种?还要自己定义输入输出格式吗?那树也要自己写?
点赞 回复
分享
发布于 2020-07-01 18:01
Redis是以插件的形式提供的布隆过滤器吧 Next-key Lock应该是可以解决非唯一索引的幻读问题 Previous Lock是什么我也不知道,求教
点赞 回复
分享
发布于 2020-07-01 18:15
接着冲就完事了!
点赞 回复
分享
发布于 2020-07-01 18:33
明天面试飞书后端,多谢大佬
点赞 回复
分享
发布于 2020-07-01 18:57
请问飞书后端用的技术栈也是go+python吗?
点赞 回复
分享
发布于 2020-07-01 19:07
我觉得回答的还可以哇,一面面完,面试官没约二面嘛
点赞 回复
分享
发布于 2020-07-01 20:27
之前看的是快照读的情况用mvcc解决幻读,当前读的情况用next-key lock解决
点赞 回复
分享
发布于 2020-07-01 22:27
楼主很棒啦
点赞 回复
分享
发布于 2020-07-02 01:05
好棒啊
点赞 回复
分享
发布于 2020-07-02 01:10
应该是过了 hr说十月谈薪?
点赞 回复
分享
发布于 2020-07-02 01:46
欢迎同学考虑北京客户端研发岗位
点赞 回复
分享
发布于 2020-07-02 07:25
可重复读级别不可彻底解决幻读问题,否则还需要可串行化级别干嘛呢。mvcc让读读变得串行化,但是读写还是非串行化的。举例,a前后两次快照读,b在之间进行了插入操作,这时幻读产生了
点赞 回复
分享
发布于 2020-07-02 13:02

相关推荐

12 82 评论
分享
牛客网
牛客企业服务