抱着试一试的心态,在一个月以前提交简历,然后后来收到了笔试通知,笔试是在线的,翘了课参加的,笔试40分钟20道单选题,每道题有6个选项,需要注意的就是选错会扣分!题目不算很难,都是一些很散的知识点,考的范围很广,具体的我也记不太清了,毕竟过了一个月了,网上搜能搜一大堆,这里我也不细说了。选择题做完还有60分钟左右给你3到附加题,全是编程题,第一题是对内存的申请释放做优化的,第二题是操作系统资源分配的,第三题是对TCP包的接收进行排序整理的。总的来讲,没有单纯的类似leetcode那种数据结构的算法题,题目都是跟操作系统或网络有关的,需要结合具体场景分析的。还有一点就是时间完全不够用,最后我只写出来两道,感觉是没戏了。
笔试完整整一周都没消息,我估计是挂了,结果在一周后午睡的时候收到短信通知面试,于是赶紧上网站上预约,发现面试时间是10天以后,正好跟实验室出差冲突了,没办法只能请假了。面试那天到了酒店,一面上来先让自我介绍,然后开始对着简历让我聊聊项目,还好简历上的项目不是太水,而且全是自己完成的,所以聊得还可以。接下来问我会不会SQL语言。。。我SQL语言早就忘光了,然后就老实交代。然后就出了一道题:统计一个英文文件上出现次数最多的20个单词,这个不怎么难。最后就是问了我几个非技术问题,如果功能需求和性能需求冲突了怎么解决,自己最擅长的技术领域等。然后就让我出去等消息了。整个一面下来感觉回答没有太大的亮点,而且SQL语言还没答出来,心想可以回去了吧。。
没想到在门口等了1分钟工作人员让我去另一间房等二面。。。二面是应该是一个技术主管,面试的时候先和我开了几个玩笑,有点让我不知所措,囧。。。然后言归正传,这个主管好像是阿里云的,所以看到我简历上又云计算的项目,就让我先介绍一下项目,面试官应该对云计算很懂,一眼就看出来我设计上的薄弱环节,然后就是狂轰滥炸,比如系统的持久性,多节点部署的负载均衡,如何处理系统内部的依赖关系,整个系统的容错机制——我回答云中又HM监控组件安全,虚拟机自动重启,接下来又问我虚拟机太重,可否部署在其他地方?我回答docker,然后问docker怎么理解的等等。。。。项目经验问完又问了一些C++特性问题,比如纯虚函数的作用,sizeof一个空类和sizeof一个抽象类的结果,虚函数的原理,什么是晚绑定,一些C++11的关键字的意义等等,这里我答得还行,都是秒答的。最后是一道算法题,把一个多层链表转化为单链表,纸上写代码,我一开始用一个队列实现的层次遍历,写完了又问我有没有不借助辅助存储的方法,我想了一下说可以用DFS深度优先搜索搞定,然后写了个递归实现。最后总算是面完了,我10点来的二面面完已经12点半了,出来以后工作人员给我说下面还有个HR面,让我出去吃个饭,1点半回来面。
HR面基本上就不涉及技术了,问了我一些基本情况,包括学习、爱好兴趣、实验室啊还有性格上的东西,聊得也还行,面完之后出来等了一下就说全面完了,回去等通知。。。当时我顿时感到如释重负,出了酒店就赶紧打个车直奔火车站了。。。