字节提前批后端飞书两轮笔试加三轮面试
这次整个面试经过在牛客上得到到了很多帮助,现来回报各位牛油。
先说下整个经过,笔者参加了两场笔试,第一轮是在6.28号,当时四题做了200%,第二天收到短信告知没过,问是否参加下一轮,马上回复是。
接着是7.4的笔试,这里感谢字节能给两次机会,这次做了240%,但这次笔试的最后一题似乎有问题,我看好多人都是0%,第二天还是第三天HR打电话约面试。
第一轮面试,7.9号:
大约一小时
一上来就是字节特色之喜闻乐见的做题目:
//已知一天内用户登录登出的日志(数据量较大),
//求这一天用户在线人数的最大峰值和该最大峰值的持续时间段(时间段用开始时间结束时间的闭区间表示)
//- 日志包含字段(userid, login_time, logout_time)
//求这一天用户在线人数的最大峰值和该最大峰值的持续时间段(时间段用开始时间结束时间的闭区间表示)
//- 日志包含字段(userid, login_time, logout_time)
当时看到这题笔者是各种懵,和面试官讨论了有十多分钟,一开始面试官说写个伪代码就行,但我还是觉得要有输入输出才好。
这里真的要好好夸下字节的面试官,你可以很大方的和他们说你的想法,动笔前甚至可以先给他说下你的思路,然后他会帮你判断,避免你做重复工作,面试的感觉太好了。
顺路diss某xxx公司,实习面的时候就题目一给,然后说你拿结果给我看就行了,全程拒绝交流。
做完了后,面试官说我的做法是对的,但只能属于次优解,还和我一起讨论了下时间的复杂度,然后问我能优化吗?我看了会,回答不能。
接着就开始了问答环节,这部分其实参考价值不高,可能遇到的面试官和其他的不同,面字节期间我大概刷了30~40的字节的面经,没见过这么问的。
全是开放性问题,如怎么设计服务器的登陆,cookie的设计等等,更像是在考你的思考能力。
面完后第二天HR打电话,约二面。
第二轮面试,7.14号:
30多分钟
这次面试就比较正常了,面试官一如既往的人很好。
先是几个日常喜闻乐见的问题:
HTTPS,进程通信方式等等。
这里遇到了两个没答上来的问题:
一个是Linux中按下ctrl+c会怎么样?
大数据问题,10G的数据,1G的空间,找重复的数?
接下来又是喜闻乐见之做题目环节:
//给定每个人的父母,判断两个人是否有血缘关系
//血缘关系的定义:有相同的祖先或A是B的祖先
//输入:
//1: [2, 3]
//4 : [2, 3]
//询问1, 4,答案:true
//询问2, 3,答案:false
//输入:
//1 : [2, 3]
//4 : [5, 6]
//询问1, 5,答案:false
//输入:
//1 : [2, 3]
//4 : [5, 6]
//7 : [1, 8]
//询问7, 3,答案:true
//血缘关系的定义:有相同的祖先或A是B的祖先
//输入:
//1: [2, 3]
//4 : [2, 3]
//询问1, 4,答案:true
//询问2, 3,答案:false
//输入:
//1 : [2, 3]
//4 : [5, 6]
//询问1, 5,答案:false
//输入:
//1 : [2, 3]
//4 : [5, 6]
//7 : [1, 8]
//询问7, 3,答案:true
这题笔者一如既往的只能给次优解,这里代码写好后没有跑,面试官了解了思路后直接就继续了。
中间他提到能不能合并,我下来和同学讨论了下,发现这题其实要用并查集来解。
面完后第二天HR打电话,约三面,面试官给了两个选择,一个是这周五,还有一个是下周一,笔者选择了周五。
这里有个小插曲,面完后,面试官提了反问环节,下来看面经时看到说,字节要是有反问环节,就表示你凉凉了,但第二天流言不攻自破。所以大家也别太轻信网上的一些话,做好自己该做的事就好。
第三轮面试,7.17:
40多分钟
起手就是几道问题,也都是日常问题:
笔者用的是c++,可能之前都没问语法,这次问了一些语法问题,
虚函数,四种强制转换,MySQL的引擎和事务等等。
然后又是激动人心的做题环节:
S = "3[a]2[bc]" return "aaabcbc"
S = "3[a2[c]]" return "accaccacc"
S = "2[abc]3[cd]ef" return "abcabccdcdcdef"
S = "3[a2[c]]" return "accaccacc"
S = "2[abc]3[cd]ef" return "abcabccdcdcdef"
这次的题目相比之前的简单,但是比较难受的是这次的面试是在牛客平台上进行的,而之前都是用的zoom,然后用本地编译器编程。笔者面之前就有点隐隐的不安,果然两下写出代码后,一运行就崩了。
检查了两边,发现没啥问题,和面试官交流后他表示我可以在本地IDE上调试,然后两分钟解决了问题,再跑,又出一bug😂😂😂
然后马上再跑到本地IDE,两分钟搞定,都是粗心把变量写错了.... 这里真的是大家面的时候多和面试官交流,只要不乱说些有的没的,提正常需求不要怕。
题目做完了就是反问环节,问了下我这次面的怎么样?面试官表示这个不能说。
然后我又问了下日后怎么学,面试官说我的知识面很广,但是学的都不是太深(不得不说面试官眼光毒辣,这正是我准备时的整体方针),让我最好能找个方向深入的学一学。
再给大家推荐两个网站:
面经到这里就结束了,这里补充下笔者的心路。
笔者从实习期开始投起,阿里、腾讯、华为、网易、美团、PDD、某XXX等公司,结果全军覆没。(注:也投了字节,但当时没经验,投成了日常实习,直接没下文了,颇为可惜。)
当上月底最后一个实习失败的时候,真的是挫败到不行,甚至一度怀疑了自己走程序这条路的正确性。努力没有回报,真的是件很痛苦的事。
之后找同学、师兄聊了聊,就是想吐槽,他们也给我打了气,但始终无法释怀。说实话,这次字节投的时候,我是一点希望都没报的,所以一面结束的时候我认定自己已经凉了。
后面偶然在b站点开了一个视频,解说电影的,当时也觉得自己太颓废了,刻意去找点鸡汤喝喝。
电影的名字是《当幸福来敲门》,这个电影看很早了,只记得很励志,别的啥都忘了。但这次再看时,有种初闻不知曲中意,再听已是曲中人的感觉,再加上解说的确实好,并一直在给鸡汤。
看完后我在操场上走了很长时间,最后终于想通了。任何人都会遇到低谷期,这时应该做的就是默默承受,然后加倍努力。
无论最后能否offer,这次能在这两场笔试和三场面试中坚持下来,我想这是我之前怎么都办不到的,也就是所谓的成长吧!
主席都说过,世上无难事,只要肯登攀。
最后也在牛客上求福一波