官网投递,三天约面
线上面试 (60mins):
1. 自我介绍
2. 问实习
- 介绍自己做的业务
- 上一段实习的公司框架和开源的 RPC 框架的区别
- 负责的业务与核心业务的依赖关系
- 场景题 -> 设计高并发下的负载均衡
3. 项目拷打
- 手写 双检锁单例模式(项目中用到,让我现场写一个示例;有点小细节写错了,但面试官说大差不差)
- 假设注册中心某个节点突然挂掉了,讲下之后的处理逻辑
- 解释项目中 Etcd 的心跳机制
- 注册中心和服务端怎么保持数据的一致性
- 为什么使用 ConcurrentHashMap 作为本地缓存
- ConcurrentHashMap 底层的线程安全怎么实现的
- 系统中不同的重试策略是怎么选择和考虑的
- 一致性Hash 的实现
4 算法
两数相加(leetcode 2 原题)
题目不难,注意处理链表边界
总结:
面试官人很好,会耐心听讲然后提出可交流的点
。一面整体难度不是很高,整个流程下来没有太大的卡点(纯自己视角
,不知道面试官的评价咋样)后续就是好好准备接下来的面试 /\/\/\/\/\/
有目前也是在找实习的朋友嘛,私信或者评论区多多交流呀
作者:牛客上的小小牛
来源:牛客网
介绍业务和框架 以及负责业务和核心业务的依赖关系
场景提设计高并发的负载均衡
重点 关于负债均衡的回答思路很多
HTTP重定向 DNS负载均衡 反向代理 2/3层负载均衡
以及负载均衡的组件 Apache Nginx
手撕单例
java
class Singleton3 {
private static volatile Singleton3 instance;
private Singleton3() {}
public static Singleton3 getInstance() {
if (instance == null) {
synchronized (Singleton3.class) {
if (instance == null) {
instance = new Singleton3();
}
}
}
return instance;
}
}
etcd心跳机制
CurrentHashMap
一致性hash
除了单例应该都是项目上的内容
两数相加
就是链表遍历节点