作者:孩子气zyj2 | 来源:互联网 | 2023-09-17 12:43
背景
本人19年毕业,双非硕士,软件工程专业,1年工作经验(银行外围系统,又老又久,无高并发场景)Java后端开发,无实习经历,通过BOSS找的字节猎头。
刚开始说是被飞书拒绝了,然后被教育捞起来了。
不絮叨了,直接看面经!
一面
时间:7月24日 1小时
ps:很基础的知识点考察,涵盖了IO,网络等基本的理论知识,数据库和多线程会结合个人的语言和使用过的软件框架做提问,一面很基础,基本都答上来
hashmap原理,底层实现,线程不安全的原因,怎么扩容,底层数组大小为什么是2^n,扩容死锁产生的过程(不会), 1.7和1.8的区别
concurrenthashmap原理,结构,为什么线程安全,分段锁怎么实现
synchronized和lock区别, volatile原理了解吗
Lock底层实现原理, AQS怎么实现的
Redis数据类型,删除策略,持久化方案,分布式方案,redis cluster方案原理(没看具体的架构内容),分布式一致hash知道吗?
IO模型:IO模型有哪些,select和epoll原理,select的缺点(搞Java,如果没有高并发场景的经历,IO这块也就不怎么了解了,基本都是复习多线程的知识去了)
OSI模型(五层和七层)
介绍下tcp和udp
tcp握手,挥手
慢启动,快速重传,快速恢复
time-wait介绍下
innodb特点
innodb索引物理结构
主键,回表,覆盖索引
与MyISAM对比
算法:三数之和,要求给出时间复杂度和空间复杂度,刚开始暴力三重循环,后来要求优化
二面
时间:7月31日 1小时
ps:结合项目经历提问,面试官会结合简历和一面结果适当补充一些基本理论知识和常用框架的提问,个人对kafka不太了解,可能面试官不太满意
项目经历:分库分表,不借助中间件怎么实现,MyCat了解过吗(不了解),分库和分表怎么选择?结合项目场景讨论划分规则
其他项目经历,反射、注解的原理,有用过线程池吗?Java线程池有哪几种?Java线程池的构造参数?什么是阻塞队列?Java有哪些阻塞队列?
https建立连接的过程是怎样的?
了解中间人攻击和跨域攻击吗?
进程与线程的区别和联系
进程的切换发生了什么
线程的切换为什么比进程的切换代价小
进程通信的方式和举例
kafka的产生背景和在项目中的使用
topic和partition,partition是干什么的
Consumer Group是干什么的
怎么将partition分配到多个broker上?怎么动态调整partition和broker的数量?
rebalance什么时候发生,rebalance过程(这个真不知道)
Linux的shell用的怎么样?grep、sed、awk有用过吗?(只会grep...)
怎么监控机器性能?
Linux文件系统了解吗?软连接和硬连接?
矩阵顺时针旋转90°和逆时针旋转90° 股票买卖(几个变种问题没做出来,但是基本的应该还行)
三面
时间:8月6日 1小时
ps:主要是系统设计,发散性问题,另外,面试官吐槽了我的简历,建议简历老老实实套模板,不要花里胡哨,程序员的简历要整洁明了
kafka如何做到高可用(不会,面试官不太满意,因为我的工作经历没有互联网高并发,而且kafka的确没怎么看)
设计热榜,动态展示top K
N个线程交替打印,怎么实现,写出来,跑一下
设计长短地址转换
四面
基本流程,问离职原因,聊人生等等
总结
整体字节跳动的面试感受,面试官很专业,要求基础知识很熟悉,面试之前一定要准备后再去面试。LeetCode题目也要刷。手写算法留的时间不多,3-10分钟,如果3分钟还没写,就要求讲出解题思路。
切记面试前一定要刷题和准备,简历上的项目不熟悉的千万不要写上去,写上去的项目备好2-3个技术方案。
分享一些面试字节跳动必刷的面试题与学习文档
算法(面过字节的朋友都知道,字节的算法是问的最多的)
推荐这份左神写的《程序员代码面试指南,IT名企算法与数据结构题目最优解》
书籍涉及算法与数据结构编程题目240道以上,并且个人实现出最优解,大部分题目为面试高频。
目录(算法分为将、校、尉、士四个等级来表示难易程度)
第1章栈和队列
设计一个有getMin功能的栈(士★)
由两个栈组成的队列(尉★★)
如何仅用递归函数和栈操作逆序一个栈(尉★★)
猫狗队列(士★)
用一个栈实现另一个栈的排序(士★)
用栈来求解汉诺塔问题(校★★★)
生成窗口最大值数组(尉★★)
构造数组的MaxTree (校★★★)
求最大子矩阵的大小(校★★★)
最大值减去最小值小于或等于num的子数组数量(校★★★)
最后
对于大厂面试,我最后想要强调的一点就是心态真的很重要,是决定你在面试过程中发挥的关键,若不能正常发挥,很可能就因为一个小失误与offer失之交臂,所以一定要重视起来。另外提醒一点,充分复习,是消除你紧张的心理状态的关键,但你复习充分了,自然面试过程中就要有底气得多。
以上内容中所有的学习资料、面试资料,均可以免费提供,希望大家金九银十面试顺利,拿下自己心仪的offer!