8月17
字节一面
给我出了一个题,,就是虚函数重写的问题,写出返回的结果
又问了我cout<< 的 "<<" 为什么左移运算符可以用来输出,在Linux系统里面是输出到哪个文件
面试官发现我不太会这些,然后就开始问我算法与数据结构方面的知识
于是写了一个打印a * b * c = a + b + c的所有满足条件的解, 这个我是直接暴力写的,因为数据量小
又写了一个链表排序,,可惜出了一点小bug,
我灰心丧气地结束了面试,结果居然有二面!
字节二面
二面面试官很温柔,叫我不用紧张,先自我介绍了一下,包括平时的一些爱好和兴趣之类。
后面细细聊了一下项目和我在学校做的事情
问我问题之前问了我最擅长哪个部分,我说数据结构和算法,就问了我知道哪些数据结构,有说到并查集,写了一个返回并查集的那个parent数组内有多少个集合,这个很简单只要判断有多少parent[i] == i就可以了
最后写了一道算法题,两个有序集合的交集。
结束的时候面试官还给我挥手,真的很温柔QAQ
字节三面
面试官:来做个题吧。你实现一下std::sort() 尽量写的和c++标准库里面的一样
我:直接懵逼,后面写了一个快排,链表的归并排序
面试官:你说说rand()的原理吧
我:继续懵逼,我知道这个使用系统时钟来随机初始化一个种子
面试官:你写一下吧,它怎么实现随机的
我:啊这,其实我没有看过它的源码
面试官:那让你自己实现一个你怎么做呢
我:整一个很随机的表,然后从表里面取(2333,禁止套娃),可能里面有一个数学公式可以根据这个传进去的系统时钟来计算出一个随机值。
面试官:你知道hash的实现原理吗,Java、python里面的也可以说一说
我:Java里面hash是一个散列表的结构,解决冲突的方式是链地址法,当链过长时,Java底层用的红黑树,也可以使用rehash的方法
面试官:说说你的优势和劣势?
我:......我觉得我基础不扎实,但是算法和数据结构还比较熟悉(后来还是觉得这样回答不太好)
面试官:说说你的职业规划
我:除了平时的一些业务,我还想做一些可以给别人用的东西(速成造轮子,我猜想可能就是这句话出问题了,因为他们部门好像业务偏多,后面我就被转推到系统架构的岗了)
面试官:你还有什么要问的吗?
我:......新人培养方面的一些问题
总之,字节上海抖音Data部门的面试到此就结束了,感觉有点可惜,因为二面的面试官真的很温柔诶,又很活泼,其实一面的面试官也很温柔,感觉相对冷静一点,三面看发量就是大佬中的大佬了。