写点什么

字节一二三面,面经(已经 OC)四月底真实面试经历!

用户头像
Java大蜗牛
关注
发布于: 2021 年 05 月 05 日


一面:

自我介绍,

简单问了下项目实现流程,

算法题 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(参数类型占位)面试官才满意然后就是问了一些最近找实习情况,实验室情况,未来规划等等...


希望本文会对大家有帮助,祝大家早日拿到心仪的 offer !作者在这里也为大家准备了不少的面试题资料和文档,已经整理好了!需要的加君羊:114 295 1706  领取!

最后说一句(求关注,别白嫖我)三连支持一下 谢谢!


发布于: 2021 年 05 月 05 日阅读数: 24
用户头像

Java大蜗牛

关注

Java程序员一枚,不定时更新分享Java技术! 2021.04.29 加入

加小助手vx:a13142089174 领取2021最新完整面试题及答案(都整理成文档),有很多干货,包含mysql,netty,spring,线程,spring cloud、JVM、源码、算法等详细讲解,详细的学习规划图等学习资料!

评论

发布
暂无评论
字节一二三面,面经(已经OC)四月底真实面试经历!