虾皮秋招一二面

8.2 15:15一面 约50mins
项目:
1.redis数据结构 在项目中都用到了哪些 怎么使用的--答 使用String数据结构解决的session共享问题。。
session共享是??
介绍zset底层--压缩列表和跳表
介绍跳表--多层有序链表
跳表有双向指针吗?--最底层有双向指针
为什么在最底层设置双向指针?--跳表的高层是单向的,是为了加速查找,最底层是完整的有序链表,存储所有节点,双向在指针支持高效的范围查询(Range Query)和反向遍历

2.redis线程模型

3.RPC和HTTP的区别,已经有HTTP了,还需要有RPC吗?

4.Etcd的一点原理
Etcd里有没有主从复制?--有,使用的是Raft算法
分布式系统的三角(一致性C、可用性A、分区容错性P)
Etcd有高一致性,是牺牲了什么?--CP,牺牲了A,当发生网络分区或节点故障导致无法达成多数派(Quorum)时,Etcd 会拒绝写入(甚至部分读取),系统表现为不可用,直到分区恢复。

八股:
了解C++吗?问了两个C++中的数据结构,我说不了解,面试官说对应java中的hashmap和treemap
讲了一下这两个数据结构
如果要存储海量数据,用这两个数据哪个占内存更多,面试官的意思是由于哈西冲突非常多,所以hashmap多??
好像还有别的,但是忘了。。

手撕:(约20mins)
二分查找(只写函数部分)
LRU,只让讲了一下思路

二面:8.13
点评项目的底层过程
介绍了一下redis,说了一下数据结构
缓存穿透,我回答了四种,面试官问还有吗????

两个手撕:
一个升序数组旋转后,找最小值,使用二分查找和时间复杂度
一个字符串最多有k个不同字符的子串的最大长度

最后又来了两个八股:
什么是线程安全?怎么保证?你实际用过吗?
GC

虾皮你咋还不出结果,可等死我了
全部评论
请问是笔试多久后约面的啊
点赞 回复 分享
发布于 08-04 09:43 四川

相关推荐

09-06 21:35
西北大学 Java
1. 项目成果是什么?怎么做的质量保障?2. 什么场景用到ES?Redis都扛不住ES能抗住吗?方案合理吗?3. 有用过本地缓存吗?4. 算法:Result<orderlD> confirmOrder(Order order) (}伪代码实现下单接口(扣减库存、创建订单),要求:吞吐高商品不超卖每人限购一件5. 针对写的伪代码的问题:下单怎么保证同步?6. 并发场景下同一个用户两个请求过来,会不会超卖?前一个请求的异步订单还没有保存,这时第二个请求也没有检测到已经下单,可能出现并发问题,怎么解决?(创建一个轻量的任务去DB,再去做其他的更新)7. 算法:给定数字数组,返回第三大的不重复的数,不存在返回null要求:遍历和比较次数尽可能少(时间复杂度限制),空间复杂度尽量低(空间复杂度限制)7767856->67767766->nul6 7 -> null8. 间隙锁是干啥的?9. 意向锁的作用呢?是表锁还是行锁?解决什么问题的?10. select a, b, c from t where a = xx and b = xx orderby c desc   a,b有联合索引,c也有索引  这个场景走的什么索引?c怎么扫描?怎么优化?11. select a, b, c from t where a = xx and b = xxa.b有联合索引  怎么优化?为什么?12. 秒杀场景中怎么保护系统的稳定性?系统外部的?13. 有什么限流算法?漏铜令牌桶?14. 怎么设置限流的值?怎么去确定这个值?需要关注哪些指标?15. 应对Redis热点问题有什么解决办法?16. Redis和数据库一致性怎么做保障?非秒杀环境17. binlog丢失用什么方法去兜底?18. 怎么解决Redis数据没有及时更新,检查出现的数据不一致情况?(从DB入手,加一个保证线程去查看)
查看18道真题和解析
点赞 评论 收藏
分享
评论
7
42
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务