首页 > 字节跳动提前批客户端(三面已过,等审批)
头像
0x:cafebabe
编辑于 2020-10-30 17:14
+ 关注

字节跳动提前批客户端(三面已过,等审批)

时间线:

7.26,16:00 一面
7.27, 20:00二面,21:00三面
每一面大概都一个小时左右。
7.28,hr微信告知,三面已过,等后续流程……

一面:

大概持续了一个小时15分钟。
面试开始,先问问题。
1、tcp和udp详细介绍一下?
2、tcp为什么要三次握手?为什么要四次挥手?如何保证数据传输可靠性?
3、http和https区别?(特别问了http中的几个方法怎么用的)(https中的SSL以及CA证书)
4、post和get的区别?
5、浏览器中输入一个URL到页面出现,背后具体是什么过程?
6、Java内存模型。
7、gc回收
8、什么时候触发minor GC?
9、什么对象可以做GC root?
10、Java从创建一个对象到释放内存具体底层实现?(jvm类加载->使用->判断垃圾回收->调用finalize()方法->下一次GC回收)
11、Java锁机制介绍一下?(主要讲了Synchronized之后,面试官说可以了)
还有一些有点忘记了,提问大概五十分钟左右,刚开始有个两分钟自我介绍。
还有一个场景题,有点类似生产者消费者模式。
手撕题
1、leetcode96 ,给一个数n,求数值为1到n的节点有多少种二叉搜索树的排法。
2、股票题,最简单那个。
一面总体问的很基础,但是每个点问的很细,每当你说出一个回答,面试官会问为什么要这样做,所以必须真的是比较深入了解其中的原理。(一面面试官非常和蔼,看起来有点像瘦版徐大sao,好亲切,看到面试官顿时不紧张了)

二面:

老惯例:两分钟自我介绍。
之后问了大概十五分钟的学校项目以及实习正在做什么,之后开始问问题。
1、重写和重载区别?(本菜鸡重载有个点答错了,差点以为凉了)
2、String、StringBuilder、StringBuffer底层实现与区别(面试官喜欢问为什么,例如String为什么设计为不可变,为什么扩容两倍还要加2)
3、HashMap和ConcurrentHashMap。(又是一波为什么)
4、CAS(优点、缺点,底层实现(unsafe类->本地方法->c++代码调用cpu指令))
还有一些有点忘记了,全都是基础,但是回答之后,面试官就问的比较深了,喜欢在你的答案上加为什么……
然后中间让我手撕了一个单例模式(双重校验锁方式实现)
之后开始问我为什么类属性要加volatile修饰符?
我:防止重排序。
面试官:为什么要防止重排序?
我:(又问为什么……太难了……)我支支吾吾说半天,面试官笑了……
之后又问我为什么要两次判断?
我内心一松,终于能回答一个问题了。
之后又问了一波虚拟机(和一面稍稍有一点重,但是侧重点不一样,总之就是一波为什么,例如为什么Eden区和survivor区是8:1:1)
然后让我手撕快排,这个很基础了,五分钟搞定。
二面面试让我压力最大,很紧张,写代码手有点抖。还好给过了……

三面:

(面试官好年轻,发量惊人……很和善,给人如沐春风的感觉)
惯例:自我介绍两分钟。
面试官还没反应过来我已经自我介绍完毕,然后面试官楞了一下,叫我仔细介绍一下。
然后讲了在研究生期间做了什么项目?又问我实习做了什么事情。(大约三十分钟,面试官很耐心的听我讲,感觉很棒)
然后开始问Java的基础,问我Java用过的集合,除了HashMap用过其他map吗?(大概讲了一下LinkedHashMap还有treeMap底层实现以及在编程当中的使用情况,又问了一下HashSet底层实现)
然后问了泛型以及为什么<>内不能是基本类型(底层实现以及牵扯到的Java内存,栈内存和堆内存)
之后又问我数据库中join(我回答不是很全面)
在一个页面中的加载问题MySQL分页(limit offset)
之后开始手撕题
topK问题,
大意是一个矩阵中,找出K个最大数
我直接暴力了……
最后优化:通过下标操作,看成是一个数组,直接用快排排出前K个即可。

(本菜鸡比较幸运……)




补充:
8月5日收到意向书。
祝各位大佬都能拿理想的offer。


PS:2020.10.29 HR谈薪资,22k白菜价。

更多模拟面试

全部评论

(13) 回帖
加载中...
话题 回帖