字节跳动面试流程
今天我把通过一年多内推总结下来的字节求职流程写一遍!不论你是求职老司机,还是小白萌新,期望你有所了解更有底气。
字节的整体流程:简历筛选=>简历评估=>评估通过=>笔试中(非必须)=> 面试中=>面试已完成=>待入职=>已入职
每个流程都是 hr 手工处理的,任意一流程挂了都会变成已结束。
字节 1 面
自我介绍,项目经历,项目上的优化项以及原因
1.ThreadLocal
2.volatile 的作用和原理
3.J.U.C 中的锁
4.atomic 包里的一些问题
5.HashMap 的扩容
6.Semaphore 信号量用来做什么?
7.Java 内存模型
8.Java 内存空间是怎么分配的?
9.Full GC 触发条件、类加载机制、新生代和老年代可以转换吗?
10.这些内存里面的垃圾怎么回收?
11.怎么判断是垃圾?GCRoot 可以为哪些?
12.G1 收集器
13.BIO、NIO、AIO 的对比
14.AQS 是什么
15.JUC 是什么
16.实现线程安全的方法
17.IO与 NIO 的区别
18.解释 NIO 是什么
字节 2 面
1.自我介绍,项目经历,项目上的优化项以及优化的原因
2.Class.forName()怎么执行的?
3.守护线程是什么?守护线程是怎么退出的?
4.Stack 与 ArrayList 的区别
5.HashMap 的 rehash 过程
6.hashcode 和 equals 的区别
7.equals 和==的区别?我要比较内容呢?
8Java 代码编译过程
9.如何设计 hash 函数
10.常用的线程池
11.分段锁
字节跳动面试考点
Java 知识点汇总
数据类型
String
运算
关键字
Object 通用方法
继承
反射
异常
泛型
注解
特性
容器中的设计模式
源码分析
Vector
CopyOnWriteArrayList
LinkedLis
HashMap
ConcurrentHashMap
LinkedHashMap
synchronized 关键字
volatile 关键字
ThreadLocal
线程状态转换
使用线程
基础线程机制
中断
互斥同步
J.U.C - AQS
线程不安全示例
内存模型
线程安全
锁优化
JVM
1.运行时数据区域
2.垃圾收集算法
3.类加载过程:
4.引用类型
5.垃圾收集算法
6.垃圾收集器
7.内存分配与回收
8.内存分配策略
计算机网络
1.简述 TCP 的三次握手、四次挥手,为什么要三次握手?为什么 client 会进入 TIME_WAIT?
1.1 为什么要进行三次握手?
1.2 为什么会有 TIME_WAIT?
2.TCP 的拥塞控制
3.浏览器输入 url 请求服务器的过程,分析其中哪些部分用到缓存。
4.ARP(地址解析协议)
5.HTTP 的流量控制,具体的控制算法
6.计算机网络体系结构
7.路由选择协议
8.UDP 和 TCP 比较
HTTP
1.HTTP 的过程
2.HTTPS 怎么建立请求
3.GET 和 POST 比较
MySQL
1.mysql 的索引,最左匹配原则
2.mysql 的主从复制
3.mysql 的聚集索引、非聚集索引
4.mysql 联合索引,要注意什么?
5.为什么数据库要使用 B+树来实现索引?
6.MySQL 索引
7.InnoDB 和 MyISAM 比较
8.切分
9.MySQL 数据库是怎么插入的?
10.事务怎么回滚?里面有什么日志?
11.一百万条数据记录,如何分页显示最后一条?
12.数据库事务隔离级别,可重复度和可串行化实现的原理
数据库
1.数据库并发一致性问题
2.封锁
3.多版本并发控制
4.异常和数据库范式
5.连接
数据结构
1.B+树和 B 树的区别
2.红黑树
3.红黑树和平衡二叉树的区别
框架
1.Mybatis 动态代理
2.Spring IOC 是什么?怎么实现的?
3.Spring IOC 里面的反射机制怎么实现的?
Redis
1.redis 分片,客户端请求怎么处理?
2.redis 的 zset 底层实现
3.redis 和 mysql 的区别
4.redis 加锁
5.redis 的淘汰策略
6.redis 无法被命中怎么办?会出现什么问题?
7.Redis 和 MySQL 复制和分片
8.Redis 是什么?Sorted List 是什么?skiplist 是什么?怎么实现的?怎么插入一个值?怎么进行查询?和其他数据结构进行对比?
9.Redis 的 hash 和 Java 的 map 的区别
8 个核心要点,轻松应对字节跳动面试
投递简历前
1、简历深度优化,HR 每天翻阅上千份简历,平均 3-10 秒看一篇简历,怎么让自己的简历突出?合理的排版可以大幅增加成功率。除了排版,还要用关键词引导 Hr 看到你的优势和强项,例如“负责”、“操盘”、“数据”等等…
2、自我介绍话术,说简单点,就是 200-300 字的小作文。当公司 hr 给你打电话时,怎么在两分钟内快速介绍自己并吸引 hr?私信问我
简历投递中
3、梳理投递岗位的工作内容,你真的知道你投的岗位是干啥事情吗?我辅导的 80%求职者对岗位工作是没有概念的。建议你去脉脉、领英、赤兔等职场 app,去私信该公司的从业者,询问目前遇到的问题或项目方向,这样你就能在面试中过程中“不经意”的透露自己的想法和强项,让负责人两眼发光。
4、了解行业大概信息,如果是跨行进字节跳动,你是否对所投职能大概了解?互联网产品、信息流广告、算法数据、短视频内容等多职能部门,你了解多少?有哪些看法?
5、公司架构及所处部门等级,字节在全国有多少分公司?分别负责产品开发?客服?审核?内容?商业化?KA/LA/SMB,你知道自己即将去哪吗?发展前景和部门重要级是多少?
面试时
6、基础话术及注意事项,哪些话不能说?“我不懂但我愿意学”,哪些话说出来加分?“我认为最好的解决办法是…因为…”哪些话说了等于不说?“我觉得字节是互联网大厂,我想进来学习提升自己”
7、弄清四轮面试的负责人,第一轮是 Hr 电话面试,第二轮视频或线下面试,第三轮该小组负责人及 Hr 面试,第四轮部门或城市负责人面试。
8、压力面试怎么应对?问到你不懂的问题应该怎么回答?有哪些万能口水话?怎样高效通过第四轮面试?