快手一天面完
9.18快手主站平台,后端开发,一天面完
上午一面(60分钟)
1.项目
2.手写单例
3.实现hashmap
4.八股文
下午两面一起(130分钟)
二面三道算法题,八股
三面无八股,75分钟设计系统
设计即时通讯,实现群聊私聊,查询用户在线信息,服务器注册,离线消息拉取。
思路:先回答会用到的技术:redis,zookeeper,netty
1.zookeeper做服务注册,消息发送服务器将ip,端口注册到zookeeper下面
2.redis保存已上线用户信息和这个用户客户端与消息发送服务器建立的netty连接
3.服务器分为两类,route服务器,消息发送服务器。
4.群聊:客户端先将消息发给route服务器,由route服务器去redis中查询,拿到消息发送服务器ip,端口号,由route服务器发送给对应服务器,在有服务器通过netty与客户端通信
5.私聊与群聊相似,只是由接收端的userId找到服务器地址
6.离线消息拉取,在redis中用根据userid存储发给这个用户的消息,然后当客户端上线后根据id去redis中查询
7.用户上线去redis中存储一下,在线用户查询直接查询redis。
给出大体思路后,面试官又提出的问题:
1.route服务器挂了怎么办?
2.离线消息太多,一次拉取太多导致阻塞怎么办?
3.不需要使用mysql存储吗?
4.zookeeper挂了怎么办?
三面交流了75分钟,人都麻了,如果大家有其他的方案,希望能评论一下
反问:
1.快手面试太晚了,还有hc吗?
2.部门介绍
三面后面试官叫我等等,联系hr了,hr面试常规问题。
#快手##面试题目#
上午一面(60分钟)
1.项目
2.手写单例
3.实现hashmap
4.八股文
下午两面一起(130分钟)
二面三道算法题,八股
三面无八股,75分钟设计系统
设计即时通讯,实现群聊私聊,查询用户在线信息,服务器注册,离线消息拉取。
思路:先回答会用到的技术:redis,zookeeper,netty
1.zookeeper做服务注册,消息发送服务器将ip,端口注册到zookeeper下面
2.redis保存已上线用户信息和这个用户客户端与消息发送服务器建立的netty连接
3.服务器分为两类,route服务器,消息发送服务器。
4.群聊:客户端先将消息发给route服务器,由route服务器去redis中查询,拿到消息发送服务器ip,端口号,由route服务器发送给对应服务器,在有服务器通过netty与客户端通信
5.私聊与群聊相似,只是由接收端的userId找到服务器地址
6.离线消息拉取,在redis中用根据userid存储发给这个用户的消息,然后当客户端上线后根据id去redis中查询
7.用户上线去redis中存储一下,在线用户查询直接查询redis。
给出大体思路后,面试官又提出的问题:
1.route服务器挂了怎么办?
2.离线消息太多,一次拉取太多导致阻塞怎么办?
3.不需要使用mysql存储吗?
4.zookeeper挂了怎么办?
三面交流了75分钟,人都麻了,如果大家有其他的方案,希望能评论一下
反问:
1.快手面试太晚了,还有hc吗?
2.部门介绍
三面后面试官叫我等等,联系hr了,hr面试常规问题。
#快手##面试题目#