字节跳动客户端春招一~三面面筋

字节跳动面经(客户端开发工程师——视频架构方向)

我投递的是属于春招补录,在官网投递后大概一星期接到hr的电话,约的一面。因为太久没面试过了,一来就是字节这个大厂,就一直去找牛客上各位大佬的面经,看看大概会问哪些问题,还有问题的难度。

在准备一面的过程,一直在怀疑自己究竟准备的够不够,很担心在面试过程中丢脸哈哈,所以一度在面试前一天考虑要不要放弃。但是后面想着还是尝试一把,不过就当积累经验了,所以一面就如期而至了。

一面的面试官非常nice,会先问你会哪些东西,然后再往那方面问。面试过程中还因为网络的原因,调试了好几次设备,面试官还是非常耐心的哈哈。以下是一面的具体过程:

时长:1小时
1.自我介绍
2.问项目细节(Bmob SDK内部原理)
3.TCP和UDP的区别
4.三次握手怎么实现
5.三次握手序列号的变化
6.多线程数据安全
7.hashmap原理
8.hashmap中链表的优化
9.进程和线程的区别
10.Handle原理
11.okhttp原理
12.synchronized的作用
13.synchronized和lock的区别
14.http
15.线程安全的集合
16.算法
一串字符串,有字母有数字,找出里面的最大

整个面试过程下来,面试体验还是非常不错的,因为感觉问的问题还是比较基础而且大多都是自己准备过的,面试到最后,面试官说hr会重新约时间,然后就结束了一面。下午面完一面,晚上吃完饭看着电视,hr打电话约二面的时间,约在五天后。

收到二面通知后,就又开始着手从牛客上找面经,然后遇到自己不会的面试题就记录下来,在网上找答案,然后理解记忆。

然后二面也如期而至,二面的面试官是个看起来挺年轻的小哥哥,一开始先自我介绍说是视频架构方向的客户端开发工程师,还介绍了这个部门主要是做音视频,还跟我介绍说什么是音视频,听完我大概理解一些哈哈。然后开始正式二面,以下是二面的具体内容:

时长:一个半小时
1.项目细节:内容,自己完成的部分,引入的第三方库的介绍
2.Http如何判断请求已中止
3.java线程池
4.TCP和UDP的区别
5.Synchronized(Class.this)锁的是什么
6.Handler机制
7.ANR的原因
8.线程有哪些状态
9.主线程切换到子线程的方法
10.get和post的方法
11.activity生命周期
12.智力题:一个10升的油桶装满油,两个空油桶,分别为3升和7升,三个油桶均无刻度,如何把10升平均分成5升。
13.算法:一串无序的数字,如何找出缺失的最小正整数
14.概率题:52张扑克牌,分成3份,求大王小王在同一份的概率。

二面的面试官还是很好的,遇到不会的引导你,也会给予提示。但是还是怪自己准备的不够充分,有一些题没答出来,比如后面一道求概率的题。对于前面的智力题,经过面试官的两次提示后终于做出来了。最丢脸的是算法题,写出来没怎么检查就说做好了,导致最后bug一大堆,最后修改了快20分钟才完成。

面试完头脑一片空白,自己也觉得挺糟糕的,觉得应该是过不了了,就没太过去想了。吃完晚饭后,惊喜的收到hr电话,约了三面的时间,是在五天后。真是感谢字节的包容,让我这个菜逼也能有三面的机会。晚上就又开始了查看面经之旅哈哈,然后也去网上查了二面没有答出来的问题的答案。

准备了五天后,三面如期而至,面试官看起来有种技术大佬的感觉,果不其然,面试过程跟我联想的三面有很大不同,连自我介绍都没有,真是措手不及哈哈。三面重点就是对项目细节进行提问,然后联系业务进行追问,这部分答得不太好,深刻认识到自己学到的知识还只是停留在书面上。以下是三面的具体过程:

时长:40分钟
1.项目细节
2.图片断点传输怎么实现
3.put方法和post方法的区别
4.高清图变成缩略图怎么实现
5.DNS解析过程
6.DNS是基于什么协议
算法题:
7.输出二叉树的右视图
8.Topk问题:从N个数中找出第K大的数

三面重点侧重项目和业务,这个跟我在牛客上看到的一些面经还是有挺大不同的。三面面试官还是挺耐心(虽然答题时没有提示哈哈),比如在我做第二道算法题的时候,做了还是挺长时间的,面试官也是没有催我,不过我还是没把最优时间复杂度的答案做出来,最后就用了暴力解法,直接排序然后找第K个数。做完后面试官说本次面试就到这里了,就结束面试了。关掉面试页面后,想了一下,想到可以用K次排序来优化时间复杂度,捶胸顿足,不过最优的方法还是想不出来,而且之前也没做过这道题,应该是很经典的一道算法题,还是菜吧。

现在距离三面已经过了10天了,一直都没有oc,官网也还是显示“面试中”的状态,估计是进备胎池了哈哈哈。

以下是我面试的一些小小的感悟:

1.面试准备过程中可以先去牛客上找找相关的面经,看看大概会问哪些问题,以及问题的难度大概是怎样的,对于一些不懂的问题也可以及时记录并查找答案,说不定面试中真的就问到了哈哈。

2.如果是面试客户端的同学,从我自己的面试来看,应该问的比较多的是安卓和java基础,以及计算机网络的内容,不过也要看你面试的是哪个方向。

3.算法题的话,我刷了剑指offer百分之八十的题目,还有Leetcode上的二十多道题,对于一些经典的面试题目,也可以去刷一下。

4.对于项目,最好写自己比较熟悉和经得起问的,在面试前先自己想一下面试官会就项目的一些细节问哪些问题,看自己是否答得上来。

5.在面试过程中,如果实在有不懂的地方,我觉得应该还是诚实的说这个可能不太懂或者没怎么接触过,面试官应该会转换话题问其他的,如果完全不懂的又说懂的话,面试官问起来如果答不上来或者答得不对可能就会有点尴尬。

6.对于有一些不能确定答案的问题,可以跟面试官说说自己得想法,有些面试官可能会引导你,这就很完美了哈哈。

就我自己的面试而言,我觉得字节的面试总体感觉还是比较看重基础的,所以一定要在面试前充分准备,所有的准备都是值得的,不论最后的结果怎么样,这都会是一次很棒的经验。其次,一定要相信自己,坚定信心,勇于尝试。

这次字节的面试体验还是相当不错的,一面到三面的效率也是挺高的。最后,引用我自我介绍中说的一句话:字节跳动是我非常喜欢的公司,非常感谢字节跳动给予的面试机会。

文中有说的不对的地方,欢迎大家批评指正。祝愿大家都能够过关斩将,最后收获自己心仪的offer,加油!

#字节跳动招聘客户端研发面经##字节跳动##安卓工程师##校招##面经#
全部评论
天,我也面的视频架构,两道算法题重了
1
送花
回复
分享
发布于 2020-04-28 21:46
top k的话估计他是想让你写快排方法,很经典的题了
点赞
送花
回复
分享
发布于 2020-03-19 13:24
滴滴
校招火热招聘中
官网直投
博主我想问下 你面试是穿的正装嘛
点赞
送花
回复
分享
发布于 2020-03-19 15:29
楼主,想问一下概率题是怎么做的
点赞
送花
回复
分享
发布于 2020-03-19 15:44
谢谢楼主的面经,好详细
点赞
送花
回复
分享
发布于 2020-03-20 01:22
老哥,现在拿到oc了吗
点赞
送花
回复
分享
发布于 2020-03-20 19:21
楼主收到oc了么
点赞
送花
回复
分享
发布于 2020-04-20 19:57
哈哈哈,还真是巧了😂
点赞
送花
回复
分享
发布于 2020-04-28 23:48
听说字节跳动客户端开发不需要安卓项目经验,真是这样吗?
点赞
送花
回复
分享
发布于 2020-05-02 17:42

相关推荐

10 111 评论
分享
牛客网
牛客企业服务