快手一面 1h5min
自我介绍完之后就叫自己介绍一个项目。
然后全程围绕项目展开,围绕项目问的八股,以及一些场景下该如何如何,基本都是我回答一点就根据我这一点继续拓展下去。
最后出了一道easy题:旋转链表(leetcode 61),自己读完题给出思路,面试官说正确。写的时候一些细节没处理好面试官提出来我修改。
--------
截取了一些八股:
如何保证消息消费不丢失
线程池八股,线程参数、线程池线程数如何设置。
拒绝策略的话,这些任务怎么办
如果拒绝的任务继续过多怎么办。(限流。)
用redis实现分布式限流如何实现什么什么的。(没听懂)
面试官换成用redis 实现分布式锁如何实现。我答setnx
要注意哪些问题:(设置时要设置过期时间,同时释放时要注意是自己的。释放应该是一个原子操作。Lua脚本
Lu脚本实现原理,为什么就能保证原子?执行一半出错了怎么办,会不会回滚?
我怎么办知道释放的锁是不是自己的?(redis key,value结构,我拿value来记录当前加线程id,面试官说可以)
redis 底层数据结构。
redis string.为什么不包装原C的字符串然后加一个length属性,而是自己新写一个。(没答出来)
Zset了解吗,说一下底层。
跳表和B+树有什么区别。
为什么zset不用B+树 (我答,B+维护起来更加麻烦,插入删除成本较高)
总结:面试体验非常好,面试官很有水平。问的问题不单单是八股,由项目引申到具体情形,以及一些八股。
然后全程围绕项目展开,围绕项目问的八股,以及一些场景下该如何如何,基本都是我回答一点就根据我这一点继续拓展下去。
最后出了一道easy题:旋转链表(leetcode 61),自己读完题给出思路,面试官说正确。写的时候一些细节没处理好面试官提出来我修改。
--------
截取了一些八股:
如何保证消息消费不丢失
线程池八股,线程参数、线程池线程数如何设置。
拒绝策略的话,这些任务怎么办
如果拒绝的任务继续过多怎么办。(限流。)
用redis实现分布式限流如何实现什么什么的。(没听懂)
面试官换成用redis 实现分布式锁如何实现。我答setnx
要注意哪些问题:(设置时要设置过期时间,同时释放时要注意是自己的。释放应该是一个原子操作。Lua脚本
Lu脚本实现原理,为什么就能保证原子?执行一半出错了怎么办,会不会回滚?
我怎么办知道释放的锁是不是自己的?(redis key,value结构,我拿value来记录当前加线程id,面试官说可以)
redis 底层数据结构。
redis string.为什么不包装原C的字符串然后加一个length属性,而是自己新写一个。(没答出来)
Zset了解吗,说一下底层。
跳表和B+树有什么区别。
为什么zset不用B+树 (我答,B+维护起来更加麻烦,插入删除成本较高)
总结:面试体验非常好,面试官很有水平。问的问题不单单是八股,由项目引申到具体情形,以及一些八股。
全部评论
相关推荐
11-01 17:40
门头沟学院 护士 点赞 评论 收藏
分享