更新:牛客许愿真的很灵,上午发完帖,中午就收到了阿里的意向书😂
-----------------------------------------------------------------------------------------------------
已经hr面完好几天了,整理了一下前面四轮的面经,希望可以对大家有用。许愿我可以面试通过,早点收到offer
一面
- 你的参与的运维项目里redis集群如何部署,gossip协议,如何实现容错呢
- redis的基本数据类型,备份如何实现
- 为什么redis单线程比较快
- 如何去实现一个跳表的数据结构
- Go语言的并发是如何去做的,goroutine模型,协程数如何设置,如何最大化系统的性能
- go语言channel的原理,使用的时候遇到的问题
- Java的lock和synchronized的区别,lock如何实现,看过源码吗,说一下具体的过程
- 读写锁如何实现,锁升级和锁降级
- volatile关键字的原理
- CAS是怎么实现的,在哪些地方会有使用
- MySQL的索引了解吗,哈希索引和B+树索引
- 如何去优化数据库索引
- Java的HashMap concurrentHashmap 1.7,1.8区别,红黑树具体是什么样的
- JUC包里还有哪些东西,说说所有你知道的,解释一下
- rehash的问题一般怎么去解决,举几个例子
- TCP和UDP协议了解吗,具体讲一下,DNS的过程
二面
这一面总共面了我1小时30分钟,感觉是压力面
- 讲一下负载均衡有哪些做法,你知道的都说一下
- 然后给了一个场景,服务端和客户端的分别怎么去做
- 每回答一点,就会被问考虑XX问题了吗,然后继续深入问一下,这个场景题说了大概有半个小时
- 两阶段提交中,如果rollback了,这个具体过程是什么样的
- 如何去处理数据库大表join的问题,说了一些mapreduce的思路,让我继续去想优化,最后给了提示回答出来了
- redis集群如何去保证可用性,为什么要采用这样的机制,如果让你去设计,如何去做。raft协议的原理
- 反问环节,给出了对我回答方式的一些建议。
三面
- Java深拷贝浅拷贝,深拷贝如何去做(递归clone,还有序列化反序列化)
- JAVA BIO与NIO、AIO了解吗,具体讲一下
- Java反射的时候可以修改类的属性吗,如果可以,如何修改
- 如何去防止SQL注入
- MySQL行级锁和表级锁
- 系统压测的话应该关注什么样的指标
- 类加载机制,不同版本的同名类如何去区分
- Java锁机制,lock实现
- Java里面如何去关闭一个线程
- Java线程池的原理和实现,一些机制
- redis的应用场景,缓存击穿和缓存雪崩
- redis主从如何保持一致性,主从同步的具体过程
- Go语言设计上主要有哪些优势,适用于哪些场景
- redis cluster集群如何设置,通信协议具体讲讲,如果遇到热点key访问如何解决
- 挑一个项目讲一下
- 具体讲一下你这个项目里面的图像检索算法是怎么做的,为什么会用这个检索库,算法的原理。为什么系统设计成分布式的结构能加速检索,文件索引如何去设计。
四面(交叉面)
- http缓存
- TCP seqNum机制
- 如何设计TCP重传机制
- http状态码
- http头部有哪些信息
- cookie和session,session的数据怎么存储
- 错误和异常时抛出还是直接处理,如何选择
- redis为什么这么快
- redis和memchache的区别,为什么redis单线程
- 如何根据业务去规划redis集群容量
- hashmap的原理
- redis有哪些数据结构,应用到哪些场景
- MySQL查询的时候怎么解决offset很大影响查询性能的问题
- 项目,觉得收获比较大的时什么
- redis cluster官方版本的集群原理,gossip协议
- 白板写下简单算法题,如何去找到字符串中第一个出现一次的字符
- 白板写下单例模式的几种方式,分析下利弊
- 反问环节
全部评论
(18) 回帖