一面:
自我介绍,
简略问了下我的项目实现流程,
算法题 1:而后函数计算 n 以内三的倍数和五的倍数和,开始写了工夫复杂度 O(n),面试官说不行,而后优化到了工夫空间都是 O(1):
算法题 2:最长无反复子串长度,一遍过力扣原题
算法题 3:SQL,因为我筹备面试遗记筹备 SQL 了,只会简略查问,这个须要左链接子查问间接放弃
mysql 索引:B+ 树,哈希索引,聚簇索引,非聚簇索引
汇合类:set,list,map,而后到了 HashMap,TreeMap 实现原理, 而后到了红黑树实现原理和长处,而后到 ConcurrentHashMap,HashTable
三次握手四次挥手
Mysql 事物隔离级别和脏读幻读不可反复读,以及 MVCC
而后就到了我的项目细节一点,就是对于我的项目细节深刻挖,事实问了对于 redis 和 mysql 双写一致性,我说应用 RocketMQ 事务型音讯,二阶段提交。而后问了如果音讯失落了怎么解决,我解说了对于 rocketMQ 避免音讯失落原理。而后面试官说这个也不能保障音讯齐全不失落,而后我说 rocketMQ 日志记录,呈现非凡状况能够依据日志解决,面试官问我能不能在代码层面优化一下我说不能。
而后就是另一个方面,对于超卖少卖问题,我的解决方案就是惯例计划,落单前减去库存,失败事务回滚,中间件同步音讯,个别这个计划尽管不能齐全保障不会呈现数据一致性,然而也会小概率呈现少卖状况。后果面试官说这个不对,超卖少卖都有可能,我重复解说为什么不会呈现超卖状况,后果面试官说了你有思考过勾销预约状况呈现问题的状况吗?
而后起初面试官说了我还挺不错,
二面:
自我介绍
我的项目介绍了下
算法题:k 个一组翻转链表
算法题:翻转链表中指定区间的链表
全是原题间接 ac 了
持续深挖我的项目,有局部问题和后面反复不再具体叙述。
Tcp 月 udp 区别,http
次要是手写 RPC 实战我的项目,整个流程,而后就是我的项目细节具体包含:
1:cap 原理,zookeeper 是 cp 还是 ap 的,为什么,选举协定,集群搭建音讯同步。
2:为什么应用 netty,延长到 netty 线程模型,linux 五种 io,java 三种 io,零拷贝
3:自定协定原理:如何解决粘包半包问题,json,kryo 序列化比拟以及原理
4:非凡状况:如果服务提供端忽然挂掉怎么办?我分了两种状况,被动下线和忽然生效解决,两头设计钩子和心跳包
Redis:
几种搭建办法
数据类型以及跳表
如何解决雪崩和缓存穿透:
Java:sychornized 和 retreenltock
次要说了 Sychornized:四种锁状态,Retreenltock:AQS
而后就是垃圾回收算法,
cms 过程,浮动垃圾,三色标记法
Java 汇合相干,还有多线程创立的七个参数
三面:
自我介绍和我的项目介绍:
职业规划实习工夫
算法题:
SQL 还是不会
烧香问题:两个不平均香,每个香焚烧结束一个小时,确定 45 分钟(早就看过了,伪装认真思考,笔画演算,而后说出答案)
Tcp 如何保障可靠性
输出 url 过程:包含 dns 解析以及网络结构每层都产生什么
https:只晓得大体的,
如何避免其余网站取得 ca 证书混充?数字证书保留网站信息,
如何避免篡改?数字签名
数字签名具体原理?不会
虚拟内存的益处:答对了
页面缓存算法?答对了
具体实现细节:LRU 答对了,然而 LFU 遗记了
我的项目:有些和之前一样,多了一个避免反复领取问题,答复了乐观锁和乐观锁
而后就是 mysql 语句执行过程
Spring IOC,AOP,动静代理
Java 汇合几种,重点 map 问了一下
而后 HashMap,为什么查找是 O(1), 答复到基于数组实现,数组查找公式是:元素地位 = 根底地位 +k(参数类型占位)面试官才称心而后就是问了一些最近找实习状况,实验室状况,将来布局等等 …
最初说一句(求关注,别白嫖我)三连反对一下 谢谢!