字节跳动的面试官都挺好,面试的内容是我面试那么多家以来最全面的,问题也没有特别刁钻,都比较符合工作场景。
项目很重要,项目是敲门砖也是面试的大头,如果我没有简历上的两个项目的话,估计简历都很难被捞起来,而且进入到3面。很多面试题都是从项目角度去提问的,而且回答的时候也可以结合项目回答,这个很加分。
除了项目所用技术之外,也要关注项目的业务以及架构,最好是能融合在一起讲清楚。
只有多面试,你才能将原有的「我以为」思维变成「原来是这样」。
一面:
-
TCP三次握手和四次握手?为什么三次握手,TCP 的ack seq是ack次数还是ack字节数?RST报文指的是什么报文?
-
http2的原理,https的原理,描述一下TSL的握手过程。
-
JVM线上参数设置,为什么这么设置?能讲讲jdk的分代搜集器原理吗?
-
volatile 关键字是如何防止指令重排的,synchronized能防止指令重排吗?
-
那进一步说说synchronized的锁消除与锁优化,自旋锁轻量级锁与重量级锁分别都是什么?
-
Innodb引擎一个数据页的大小为什么是16KB?20个mysql字段,都是varchar(10),1000w数据情况下b+树高度是多少?
-
结合WAL机制和回滚段说一说innodb 事务引擎的MVCC原理?
-
Select/Poll/Epoll 三种系统IO的区别?
-
Zookeeper做服务的注册中心,如果服务规模大于1000,会发生羊群效应网络风暴,怎么优化?
-
说一说你理解的countdownlatch?countdownlatch的底层原理?AQS又是什么?
-
线程池的各个参数,ThreadLocal?怎么优化?知道FastThreadLocal吗?
-
装饰者模式和代理模式挺像的,他们有什么区别?
-
你们用了SpringCloudÿ