字节基础架构-分布式存储一面面经

感觉小哥好温柔
首先做了个自我介绍,然后小哥看我主要写java,沉思了一会,开始问
1.首先介绍一下java里的继承、多态、override
2.介绍一下hashmap和hashtable,有什么区别
3.arraryList和linkedList的区别
4.介绍一下进程和线程,线程内存和进程内存的关系
5.进程之间的通信方式
6.管道有哪几种,各有什么区别
7.介绍一下jmm,老年代和新生代各自采用什么算法进行回收
介绍一下注解的原理
8.介绍一下线程池
如何解决线程资源竞争问题
9.介绍一下你项目的亮点,并说下最大的收获
算法题:实现LRU,问了下怎么优化
感觉问的很基础,也有可能是小哥不写java的原因
(刚联调完就来面试,几个月了什么八股文也没背,什么题也没刷,本来以为会凉,结果莫名信心大增,感谢小哥)

#字节跳动2022届秋招提前批##面经##基础架构工程师##字节跳动#
全部评论
想问下 是成都的岗吗
1 回复 分享
发布于 2021-08-23 16:48
注意jmm讲的不是java运行时数据区,而是并发编程里面的原子性,有序性,可见性的保证
1 回复 分享
发布于 2021-08-23 10:14
lru可直接用linkedhashmap吗
点赞 回复 分享
发布于 2021-08-22 18:27
我前几天面字节鸡架也是问得不难
点赞 回复 分享
发布于 2021-08-22 08:43
女生面试还是有优势滴
点赞 回复 分享
发布于 2021-08-21 12:42
这是秋招面经?实习都比这难吧
点赞 回复 分享
发布于 2021-08-20 23:31

相关推荐

一面:全程50min,八股30min,算法20min1. innodb引擎的rr级别,age是普通索引,id是数据库主键,递增字段。事务A:begin;T1 select * from user where age = 20;(2个结果)T3 select * from user where age = 20;T4 update user set name = 'name1' where age = 20;T5 select *from user where age = 20;comit;事务B:T2 begin insert into user values('name2', 20); comit。请你分别告诉我T3-T5各有几个结果?2、3、32. TIME_WAIT 状态原因?ack至少丢失一次;防止建立历史连接3. 设计一个抽奖系统,每个用户可以抽 m 次,奖品个数为 n,每个用户最多只能中奖一次,大流量场景下如何设计,可以支持百万级并发抽奖?从接口、逻辑、扩展方面依次回答了。4. 算法:130. 被围绕的区域======================================================================二面:全程 40min,项目 15min,算法 20min,反问 5min1. 自我介绍2. 说下实习干了啥?大致介绍了下,然后说的实习难点3. 接口重构做了什么?说了过程,说了上线策略4. 你们后端服务大致拆分了几个服务?为什么那么拆分?5. 慢 SQL 治理的过程和原理?6. 其他记不清了7. 算法:LCR 084. 全排列 II。中间看成了全排列,5 分钟秒掉结果调试半天没有输出,经提示有重复数字。抠了半天抠出来了======================================================================三面:总共 70min,实习+项目+八股 20min,算法 50min1. 自我介绍?2. 实习工作?3. Netty 为什么快?4. 详细说下 NIO?5. 各种其他问题,记不清了6. 算法:31. 下一个排列总结:栽在三面了,唯一一次原题没写出来。当时写 hot100 就没细看,感觉这题有点难,结果唯一一次出原题我还没写出来!
查看11道真题和解析
点赞 评论 收藏
分享
鼠鼠第一次投大厂面试,写面经攒人品:1. 个人介绍(2min)2. 挖项目(我跟后端相关的项目似乎只有抖音商城(字节跳动青训营),他一直挖我这个项目)3. 服务是怎么被发现的?(微服务)4. 假如你这个服务要更新,要更平滑,不让用户感到延迟,你会怎么做?- 维护两套环境(蓝:当前生产环境;绿:新版本环境)。- 新版本在绿环境测试通过后,切换流量到绿环境,蓝环境作为回滚备用。- 优点:零停机,用户无感知切换。5. 你输入一个url的处理过程6. 然后就开始写题了,面试官直接口述,输入一个数字,输出下一个最小的比这个数大的数字(重新排列)leetcode类似的题目是:[556. 下一个更大元素 III](******************************************************)这道题手撕还是相当紧张的,给我撕出来了7. 数据库事务是什么8. mvcc是什么,怎么实现的?9. 场景题,给你一个番茄小说的书,有十万订阅,如何快而准确的通知到所有订阅的人更新了(这里要求你去用具体的实现)我这里寄了,后面复盘的时候,应该是使用feed流,这个是用ai写的答案:- 推模式 (Fanout-On-Write/Writes):- **操作时机:** 当关键事件(如新章节发布)发生时**立即**执行。- **目标用户:** **核心活跃粉丝(数量相对较小)**。- **动作:** 将事件**直接写入**这些目标粉丝的个人 **收件箱(Inbox Feed)**(一个按时间排序的数据存储)。用户访问自己的 Feed 流时,直接从这个收件箱拉取即可,延迟极低。- 拉模式 (Fanout-On-Read):- **操作时机:** 当用户主动请求访问 Feed 流时执行。- **目标用户:** **非核心粉丝(长尾粉丝,数量大)** 或 触发推模式的粉丝,在访问 Feed 时可能需要拉取更长时间范围内的数据。- **动作:** 后端服务在用户请求时,**实时聚合**用户所关注对象(收藏的书籍)的 **发件箱(Outbox Feed)** 数据(包含所有发布事件),按时间排序后返回给用户。这需要访问多个发件箱(每个收藏的书一本)并聚合。- **「推拉结合」的关键:** **合理区分「核心粉丝」与「长尾粉丝」**,只对核心粉丝进行实时写入。**关键组件与流程详解:**1. **事件源 (Event Source):**- **新章节发布:** 最核心的事件源。携带 `bookId`, `chapterId`, `publishTimestamp`。- **粉丝关系变更:** 用户收藏 (`favor`) 或取消收藏 (`unfavor`) 一本书。携带 `userId`, `bookId`, `action`, `timestamp`。2. **事件总线 (Event Bus):**- 使用高吞吐、可靠的消息队列如 Kafka/Pulsar。接收上述事件并进行持久化,供下游消费者订阅。后面是就是针对十万用户的进行**精准界定“核心活跃粉丝” (`HotFanCache`):**,查询优化,**高性能存储与分片:**10. 反问,问了业务是什么,技术栈是什么,然后和面试官聊的蛮开心的,面试官夸了基础好,知道稳了10min之后,hr通知2面.1面成功.
番茄小说二面3人在聊
点赞 评论 收藏
分享
评论
1
39
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务