字节跳动后端社招面经(二面、三面)
字节一面(都是相对比较浅的问题):
自我介绍
项目介绍
项目问到token,说一下
项目如何实现的,如果多终端呢(这里我回答的不是很流畅)
还可以存放在哪里session
cookie是什么
为什么当时没有实现(我直接回答的因为不会)
正整数开根,保留两位小数
JMM说一下(开始背书)
说到线程,那么线程是属于那块区域的
GC说一下(开始背书)
有用到hashmap吗?实现?
是线程安全的吗?
想要线程安全怎么办?
为什么使用红黑树
红黑树特性
和平衡搜索二叉树的区别
时间复杂度?
在浏览器输入一个网址会发生什么?(又开始背书了)
TCP/IP模型和OSI模型
用过索引吗
怎么样确定使用到了索引
索引类型
为什么用B+树
和B树有什么区别
聚簇索引和非聚簇索引
有用过锁吗
说一下lock和synchronized的区别
代码题:手写一个单例模式吧(默写)
看到有volatile关键字
说一下volatile吧
和synchronized的区别
乐观锁和悲观锁
反问环节
到这里一面就结束了,总体上来说还算是可以,只是有少部分的点有些遗忘所以导致答得不太流畅,一面没有问到计网和多线程,操作系统相关的知识,后续面试可能会是重点。
字节二面
1. 平时用的工具链和技术栈是什么?
2. golang踩过坑吗?
3. 这段golang代码有没有bug?
5. 拉链法中链表过长时变形为红黑树有什么优缺点?
6. HashMap的并发不安全体现在哪?
7. HashMap在扩容时,对读写操作有什么特殊处理?
8. ConcurrentHashMap是怎么做到并发安全的?
9. Java有哪些锁机制,分别有什么特点?
10.知道CAS吗? Java中CAS是怎么实现的?
11. MySQL的存储引擎用的是什么?为什么选InnoDB?
12. MySQL的聚簇索引和非聚簇索引有什么区别?
13. B+树和二叉树有什么区别和优劣?
14.针对一个场景设计索引,考察的是联合索引与列选择性的知识
15.现有一个新的查询场景,要怎么解决?
16.假如要查A in () AND B in (),怎么建索引?
17.查A in () AND B in ()时, MySQL是怎么利用索引的?
19.用过Redis的哪几种数据结构?ZSET是怎么实现的?
20. zrange start, stop,总长度为n,复杂度是多少?
21. Kafka的消费者如何做消息去重?
22.介绍一下Kafka的ConsumerGroup
23. Kubernetes和Docker用得怎么样?
24.时序型数据库的存储结构是怎么样的?
25. LSM树了解吗?是一种什么存储结构?
26.在生产中用过Cassandra和RocksDB吗?量有多大?
27. Cassandra 的墓碑机制是什么 ?
28. 算法题:面试哥题霸上的原题,
三面
1. 聊项目和工作经验
2. 用Kubernetes的过程中踩过哪些坑?
4. 假如用id翻页的方式,数据库表如何设计?索引如何设计?
5. 假如量很大,你觉得需要分库分表吗?怎么分?
6. 分库分表后怎么查询分页?
7. 分库分表后怎么保证主键仍然是递增的?
8. 现在需要支持深分页,页码直接跳转,怎么实现?
9. 瞬时写入量很大可能会打挂存储,怎么保护?
10.断路器内部怎么实现的?
11.断路器会造成写入失败,假如我们不允许写入失败呢?
获取往期更多最新面试题资料,直接转发一下这篇文章+关注公众号【Java烂猪皮】关注后回复【666】即可获取哦~
腾讯、阿里、滴滴后台面试题汇总总结 — (含答案)
面试:史上最全多线程面试题 !
最新阿里内推Java后端面试题
JVM难学?那是因为你没认真看完这篇文章
关注作者微信公众号 —《JAVA烂猪皮》
了解更多java后端架构知识以及最新面试宝典
看完本文记得给作者点赞+在看哦~~~大家的支持,是作者源源不断出文的动力