通过字节 Java 研发岗 4 轮面试(月薪 30k)
3 论技术面 + 1 轮 HR 面,最终拿到了 30k*16 薪 的 Offer。
第一轮主要考察 Java 基础,二、三轮注重对应技术的掌握,以及对过往项目的业务理解。之所以令他印象深刻,是因为每轮都聊了一个半小时以上,确实让他受益匪浅。
他最终选择字节,除了这是核心项目之外,还有一个原因,字节的福利号称业内最好,薪资也是同类公司中最高。
“薪资高、发展好、福利待遇优”似乎已经成为字节跳动的标签。
而很多人觉得大厂门槛高:
“渣本双非学历进不了大厂!”
“工作不满 3 年进不了大厂!”
“非科班毕业的,进不了大厂!”
可对于我这个渣本双非毕业的朋友来说,进字节,似乎并没有那么难。用他的话说,进大厂就靠一条:技术实力。
你只要技术实力够好+在面试中表现得还不错,就能拿下 Offer。
字节跳动面试流程
今天我把通过一年多内推总结下来的字节求职流程写一遍!不论你是求职老司机,还是小白萌新,期望你有所了解更有底气。
字节的整体流程:简历筛选=>简历评估=>评估通过=>笔试中(非必须)=> 面试中=>面试已完成=>待入职=>已入职
每个流程都是 hr 手工处理的,任意一流程挂了都会变成已结束。
字节 1 面
自我介绍,项目经历,项目上的优化项以及原因 1.ThreadLocal2.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.实现线程安全的方法http://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、压力面试怎么应对?问到你不懂的问题应该怎么回答?有哪些万能口水话?怎样高效通过第四轮面试?
最后
给大家分享字节面试题完整版,内容都包括了,带答案。希望对你们有所帮助


如果你对我上面的这些总结感兴趣的话
戳此传送门获取
最后,想对同学们说,打好基础,系统学习,才能从容面试。厚积薄发永远是王道,祝大家顺利!
摆正心态,端正认知,意识到当下,就是要采取行动,拯救自己职业生涯的时刻。
现在,立刻,马上!
一起学习java 一起让光明照进黑暗