顺丰java工程师 社招面经
1自我介绍
2介绍项目
3有没有思考过用redis 做异步队列有什么缺点?服务器突然断电怎么处理?redis的持久化
讲一下,讲讲你这个消费者生产者模式
EventModule类:代表每个事件具体的信息;放在队列里面的事件
EventProducer类:生产者,生成一个EventModule对象,将该对象存储在Redis list对应的
key中,等待Event Consumer消费;
EventConsumer类:消费者,启动一个线程,从list中读取EventModule对象,然后找到对
应的EventHandle对象,处理对应的事件。
EventHandle接口:处理不同事件,有不同的handle实现;
LikeHandle:对应处理EventType为LIKE的事件;
CommentHandle:对应处理EventType为COMMENT的事件;
4假如我的并发量突然增大,消费者来不及消费队列里的信息怎么办?
用多个消费者
5会不会出现多个消费者同时消费一个信息的情况?
不会
6为什么?从redis本身的性质去想?(不会)
7讲讲你这个分布式session怎么实现的?
8如果不用分布式session,怎么实现这个功能
给他讲了一致性哈希
9讲讲你是怎么限流防刷的?
10既然讲到拦截器,他还能实现哪些功能?
登录权限验证
11你的登录就是用拦截器实现的吗?知不知道怎么实现单点登录功能?
12进程线程死锁用户态内核态区别
13讲讲索引
14讲讲你用过的linux命令
15算法题反问了技术栈go php
16.创建线程方式有哪些?实现Runnable 接⼝和Callable 接⼝的区别,你觉得这两种那种更
有优势?说说你选择的原因
17.你说一下原子类
18.你并发看过什么书?
19.springboot的启动流程
#java工程师##顺丰科技##社招##面经#