首页 > 字节一二三面面经(已经OC)

字节一二三面面经(已经OC)


一面:

自我介绍,

简单问了下项目实现流程

算法题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(参数类型占位)面试官才满意

然后就是问了一些最近找实习情况,实验室情况,未来规划等等

字节跳动以及oc准备5月去实习了
腾讯面经
亚马逊面经:推荐大家可以看一下这个,这个大部分问题我都写了简单的回答点(不一定对,非详细解答)

更多模拟面试

全部评论

(26) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

近期精华帖

热门推荐