字节后端开发三面总结(51min)
- 刚上来做自我介绍,然后问我研究生的方向,我说是图挖掘。然后他以为是图形或者数据挖掘,然后我给他解释了一番。
- 接下来问了一个java常考的知识,hashmap,这个真的了解的越多越好,很多公司面试都考了。
- 问我以后的规划(这里我脑子傻了,因为我最开始是找同学内推的后端开发,但是一面过了一个月没有消息,然后我也不是很喜欢开发,就重新投了测试。后来hr又打电话跟我说之前我一面过了,只是一直没联系上我,不知道真的假的,反正就继续面后端开发了。因为除了字节,其他公司我都是投的测试,然后面试的时候,我居然说了一句,以后想搞测试。。,然后面试官来了一句“你不是投的开发吗”,我。。。。😨😨😨,当场石化)
- 因为我的方向是图,然后面试官就要给我出一些图相关的问题。一共出了三个,算是做出来了一个半吧。
- (1)第一题:假设有一些用户,每个用户都有手机号和微信号,然后每个人的手机通讯录里有一些朋友的手机号,微信里也有一些好友的微信号,大部分可能是重叠的,但是也有不同的。我们可以将手机号的关系和微信上的关系构造出两个图来。假设我们只知道其中一部分用户的手机号和微信号的对应关系,怎么确定其他人的?(这个我不会,后来面试官提示感觉像是考察图匹配问题。就是在这两个图上的用户是一一对应的。
- (2)第二题:本来想考我个图的题,后来说太麻烦了,考了个树的。找出所有从根节点出发路径和为target的路径(这里不一定非要到叶子节点)。这个我用回溯写的。
- (3)第三题:假设有n>3盏灯围成一个圈,初始时所有灯的状态是任意的(这里用1表示开,0表示关)。每次对第i盏灯进行处理,那么它以及它左右两边的这三盏灯全部取反。问:经过若干次操作之后,能不能所有的灯都变成开的状态。这个我想了半天也没想出来,只说了如果起始状态是1的,那么需要操作偶数次,起始状态是0的,操作奇数次。后来他说,那么如果每次对第i盏灯处理的时候,只对它和它右边的灯取反怎么办。我刚开始想的是先找到一个0,然后看他左边如果是0,那么两个都取反就可以了;如果左边是1,那么先取反,原来的10变成了01,那么这个0再向左看能不能找到0取反抵消掉。然后他让我写代码。我写了一半不知道怎么写了,突然意识到好像只要有偶数个0就一定能都变成1。
- 最后他问我还有什么问题,我就问了一句,你们公司的主要编程语言是什么。他说是go,我一想,go我根本不会啊,我只会java。心里更凉了😑😑😑
- 感觉这次面试好难啊,前两次面试都很顺利,这次基本上没问什么知识点,出的题都太难了,也不会。而且还说了3中那么蠢的话。不管了,等结果吧