求职日记|字节后端开发二面面经
24595
2021.09.15
2021.09.17
发布于 未知归属地

20210915
先说整体感受吧,整体加做算法时间共70多分钟,面试官人特别好,很和蔼,问题都特别专业有针对性,每个问题都会结合业务问的非常深,一直问到你不会~~

  1. 自我介绍

  2. 说说实习项目,感觉做的哪一个项目比较有挑战,遇到过什么难题,你是如何解决的?有没有更好的解决方法

  3. 我有一个项目的类似网关,就是与第三方对接,负责报文加密解密,解析报文(参数转换)这些,然后再向核心系统推送
    面试官问我:如果消息推送失败了怎么办?
    答:在推送之前有一个 log 表先保存这些消息,然后再向核心系统推送,确保消息不会丢失
    又问:万一 log 也插入失败了呢?我说这属于系统故障了,他说只是这条记录插入失败,mysql 能保证 100% 插入成功吗? 我....
    给我说有没有考虑用消息队列

  4. 消息队列用的什么?为什么用RabbitMQ,kafuka有没有考虑过?
    我说并发量不高,所以没用kafuka,追问:为什么kafuka能有高吞吐?我根本没用过.....
    追问mq的其他使用场景,我说异步,限流,削峰

  5. 谈一个你擅长的吧~,我说redis(给自己挖大坑!)
    说吧,你都会redis哪些, 我balbalba把五种数据结构,geoadd,hyperloglog,bitmap,redis的持久化操作,主从复制一大堆都说了一下...

  6. 这些数据结构怎么实现的呢?具体说一下
    答:我说了 list 是双向链表,hash 是类似与 hashMap(又说了hashMap的实现),散列表只能用你说的那种方式实现吗?后来我才了解到原来 hashMap 的数组+链表+红黑树是叫做拉链法,还有一种开放寻址法, 非科班的悲哀...

  7. 那你说说 set 是怎么实现的吧,zset 呢?我猛一下发现我并不知道 set(不重复集合)是怎么实现的,联想了 hashSet 的实现,说和 hash 一样的实现,被否定,zset一下子居然忘了是干啥的了...

  8. hyperloglog 底层怎么实现的?为什么会有误差呢?(说实话,我在面试前5分钟还专门大致看了一下和统计学有关就没细看,结果还是没答出来)

  9. redis只做了缓存吗?分布式锁做过没(上次面试也问了,当时答得不好恶补了一下,大家面试没答出来的一定要看啊,可能继续问)
    答了 setnx 那一套,又追问过期时间那一套,解锁加锁同一个线程那一套

  10. mysql 和 mongo 的区别

  11. mysql 的事物 ACID 以及都是如何实现的?
    答:A原子性用 undo log 实现
    I隔离性说了 MVCC,以及 readview,表隐式字段,快照读,版本链,如何判断当前事物能不能读某个版本,等等...(MVCC 推荐看 b 站 IT 老哥讲解的视频)
    D 持久性说了 redo log 和 mysql 的 buffer 那一套(这里面问的特别深,顺序 IO 和随机 IO,redo log写入策略..)
    C一致性:一致性怎么实现这个问题难我很久了,之前搜博客也没看到很好的解答,我就按照自己理解说其他三个都能保证的话就具备了一致性,面试官否定~

  12. mysql的锁有哪些?
    答:行锁,间隙锁,表锁,以及锁升级过程
    追问:就这些了吗? next-key lock 没有没有了解过,我:......
    后面还问了一些暂时想不起来了

  13. 听上一位面试官说你 leetcode 刷了 500 道题是吧,那我们来做道题吧,

大家以后面试千万别说自己 leetcode 刷的多少道题啊!!虽然刷了500多道但我还是个菜鸡啊!

题目:给一个 N*M 的数组,0 表示可以访问,1 表示不可以访问,可不可以从左上角(起始)到右下角(结束)并且把每个 0 结点都访问到,且每个结点只能访问一次,输出路径,如果不能访问返回空

我想了一会,唉!还就内个暴力 dfs 加回溯
大概思路就是先预处理数组,把所有能访问结点的个数 count 出来,然后维护一个是否访问的数组 isVisit,和结果集 List<Point(x,y)>res
每次 dfs 先判断当前结点是否是最后一个结点,如果是,那 count 是否为0了,为 0 返回 res;不为 0,res.remove(),设置未访问,count++;
然后快乐的 dfs 暴搜了~

最后面试官说可不可以剪枝,考虑过dp吗,这些优化我想了一想还就内个都没想出来,我是菜鸡!
最后问一些问题,面试官说我整体知识点掌握的还不错,是他面过非研究生非科班里面比较好的了~,顺便透露了一下他以前是打ACM的..
我:原来是ACM大佬,肃然起敬!
许愿三面!加油!

评论 (68)