前言:
没有绝对的天才,只有持续不断的付出。对于我们每一个平凡人来说,改变命运只能依靠努力+幸运,但如果你不够幸运,那就只能拉高努力的占比。
2021年4月,我有幸成为了字节跳动的一名Java后端开发,正如标题所说,我从外包辞职了,10000小时后,走进字节跳动拿下了offer。相信同行都清楚,从外包进大厂有多难,运气之余,也离不开我自己的脚踏实地,所幸每踏出的一步都留下了厚厚的脚印。
下文内容涉及到:面试题(含答案)+学习笔记+电子书籍+学习视频,免费打包分享,一键三连(点赞+收藏+关注)后直接添加微信:mxh5261 即可免费获取!
A:字节跳动IES互娱面试经历还原(抖音后台)
<1> 字节跳动抖音4面面试题
因为我个人有复盘的习惯,所以在面试字节跳动时,基本是做到了每一轮结束就把面试题给总结出来,当然总结出来的可能跟实际情况有细微出入,但相差不大,基本上是我记忆里的极限。
Java部分:
- synchronized,lock,AtomicInteger底层原理
- HashMap,ConcurrentHashMap底层结构原理
- 讲讲服务注册于发现(这部分主要讲了springcloud eureka 和部分 zookeeper,zookeeper的选举机制)
- Spring AOP 的实现方式,siglib 能否代理final修饰的类?
- JVM垃圾回收过程,并详细讲一种垃圾回收器
- 强引用,软引用,弱引用,虚引用应用场景
计算机网络:
- 拥塞控制和流量控制
- 快重传和超时重传
- 为什么四次挥手后客户端等2MSL
- DNS解析全过程
- http2.0,http3.0
- https的连接过程
- CA证书的验证过程
- RPC框架了解吗?
- 如何设计基于udp的可靠传输?
- tcp如何保证数据安全性的?磁盘如何保证数据不丢的?
操作系统:
- 阻塞io和非阻塞io
- 进程和线程区别,通信方式分别是什么?
- 虚拟内存和物理内存
- linux 按 ctrl + c 中断的原理
- 协程高效在哪?
MySQL:
- Innodb,B+树,聚簇索引和非聚簇索引区别
- 一千万条数据,问 b+树大概多高?
- 为什么用b+树而不是 b树,