时隔三月,参加2022春招散招,终拿字节跳动后端开发意向书
3个月前头条正式批笔试4道编程题只AC了2道,然后被刷了做了200多道还是太菜了,本来对字节不抱太大希望,毕竟后台竞争太大,而且字节招客户端开发比较多。后来看到有散招免笔试,抱着试一试的心态投了,然而几天过去毫无反应,20天后突然告诉我进行面试。8.10一面,8.12二三面,之后8.25晚上收到电话,拿到意向书。
字节跳动后端一面(纯技术面)
-
队列的实现,需要注意的地方
-
快速排序的实现、时间复杂度分析
-
B树和B+树的区别、应用
-
HashMap的实现,扩容机制,扩容时如何保证可操作
-
Redis扩容机制(渐进式单线程扩容)
-
Spring AOP的原理
-
Spring IoC的原理,如何实现,如何解决循环依赖
-
两线程对变量i进行加1操作,结果如何,为什么,怎么解决
-
CAS概念、原子类实现原理
-
synchronize底层实现,如何实现Lock
-
AQS有什么特点
-
可见性的底层原理
-
JVM内存模型,为什么要这么分
-
本地方法栈和虚拟机栈的区别
-
如何查看JVM参数是否正确
-
TCP三次握手,如何实现
-
Socket编程底层如何实现
-
select和epoll的区别
-
算法:蛇形打印二叉树
字节跳动后端二面(项目面+技术面)
-
项目详聊(问了很多、很细)
-
Innodb多列索引
-
MySQL默认事务隔离级别,不可重复读是什么意思,如何实现可重复读
-
Redis服务端有20GB内存,现在要缓存200GB数据,如何处理
-
算法:给出[[1, 2], [3, 5], [8, 8], [15, 16], [32, 38]],求间隔
字节跳动后端三面(综合面)
-
谈谈Java垃圾回收机制
-
算法:给出两个升序数组A、B和长度m、n,求第k个大的数
-
算法:给出数组A,长度为n,数组中元素的值位于[0, n - 1]之间,求是否有重复元素
-
职业规划
-
您如何学习Java
-
最近有在学什么,分享一下
总结
3次面试都面了1小时以上,有些问题自己也忘了,以下是这次面试的个人感受:
-
1面技术面,问得广又问得深且喜欢问实现和原理;
-
2面项目面,主要是项目和架构;
-
3面综合面,猜测是考察对知识的整体认知和对自己的学习方法、未来规划的认;
-
当然3轮面试都少不了的手撕代码(三面的算法题差点炸了)。
-
最后只想说,希望以上我的经历能给大家带来帮助,并且对每位阅读到这里的朋友送上一份福利,在此奉上我自己收集整理的[全套JAVA面试集]:
基础+中级+高级等面试真题解析,SSM框架、分布式、微服务、调优:Spring、SpringMVC、MyBatis、ZK、Nginx、MQ、kafka、Redis、MongoDB、SpringBoot、Dubbo、SpringCloud等,以及设计模式、并发编程、网络、算法与数据结构等各方面的面试解析。
)
全套JAVA面试集
再者,如果你要去准备面试或者学习,可能光单纯的刷这些个面试题的作用还不能达到最佳效果,因此我将此阿里大牛手写整理的[Java进阶核心知识集]也一并奉献出来,只愿大家一举得Offer,跳个槽涨个薪。我也能攒波人品,一举两得,何乐而不为!
Java进阶核心知识集
查看17道真题和解析