shopee后端面试记录

八股盛宴

1. 自我介绍

2. 操作系统的虚拟内存机制

1. 程序地址空间

2. 虚拟内存映射到物理内存

3. 程序的内存地址都在物理内存里吗

1. 内存替换

4. 访问不存在的地址

1. 缺页

5. 页面替换算法

1. Lfu

2. Lru

3. Fifo

4. Clock

6. lru算法实现

1. 哈希+双向链表

7. TCP拥塞控制

1. 慢启动+拥塞避免

2. 发送窗口丢包

8. 快重传和快恢复

1. 三个ack

9. Syn flood

1. 半连接队列

10. 一台服务器最多连接多少TCP

1. socket数目

2. 文件描述符

3. 内存限制、CPU性能、网络带宽

11. https建立连接

12. 对称加密和非对称加密

13. 中间人攻击和SSL劫持

14. MVCC机制

1. 隐藏字段

2. Undo log版本链

3. 读视图

15. 不同隔离级别 read view

16. 怎么得到读视图

17. 幻读与邻键锁

18. 怎么加邻键锁

19. zset原理实现

20. ziplist实现

21. ziplist插入元素

22. redis持久化

23. RDB数据快照

24. CopyOnWrite

25. Redis cluster

26. kafka性能瓶颈

27. 主节点挂了怎么副本选主

算法:打家劫舍2

#秋招

全部评论
base 南京OD,机会多多
点赞 回复 分享
发布于 09-02 08:59 贵州

相关推荐

1.项目中mysql和redis一致性保障是怎么做的?我简历上写的是先更新数据库,后RocketMQ删redis缓存。然后追问,如果写好Mysql了,但是消息没发出去怎么办。我回答MQ会有ack,生产者没收到回传的ack就重试/抛异常统一处理,或者事物消息。消费者那边mq有重试机制,重试多次未成功就进死信队列,或者落库后续人工处理。2.Mysql的隔离机制是什么?回答RR,问RR有什么问题吗?我说有可能幻读,快照读通过MVCC机制解决,当前读通过临键锁。他追问我的项目是怎么选择隔离机制的呢?我说因为Mysql默认就那样,不过我的电商系统,用RR可能更好,如果RC有可能出现数据不一致的情况。3.有没有了解过读写锁?适用于什么情况?我说读读不互斥,读写,写写互斥,一般用在读多写少的场景。追问1微秒临界区,读写比例10:1,该不该用读写锁?(完全不会,最后提问问他,面试官和我说想考查我有没有看过读写锁实现底层,问了ai,也各个说法不一,有无大佬会这个的)4.项目用的websocket长连接,服务端如果发现一个客户端连接qps特别高,疑似被攻击,服务端想要断开连接,这时候该怎么做?这个我也不是很会,我说的是像tcp那种发个消息给客户端(就是瞎说的),他好像不太满意,就说他换个说法:如果直接关闭会有什么问题?(完全不知道,查了以后感觉有可能是没发断开连接的原因,客户端会无限重连)5.concurrenthashmap,底层怎么实现的?说了数组 + 链表 + 红黑树 用 CAS + synchronized实现,synchronized是什么锁?主要让我答可重入,为什么要可重入?我没回答太好,我说的是递归的时候不会死锁。(查了以后感觉是不一定是递归,有可能这个线程会调用其他加锁的方法)6.算法:LRU,acm模式,自己写main方法。
查看13道真题和解析
点赞 评论 收藏
分享
评论
点赞
3
分享

创作者周榜

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