阿里、腾讯、网易、头条、微策略、CVTE、百词斩面试经验总结

春招基本上已经告一段落,一个多月来大大小小也面试过几家公司,从一开始的接到面试电话就惶恐不安,说话都不利索,到后来的还算能和面试官侃侃而谈,能够就面试中的一些开放性问题提出自己的解法。窃以为自己在不断的面试中还是有进步的,不论是技术上的还是自我表达和与人沟通上的。回想起自已过去的一个月面过的公司其实应该是挺多的了,大大小小应该参加过十几场面试,电话面试也有,视频面试也有,这里总结一点:自我表达很重要!因为有的时候很多知识点并不是自己不知道,而是自己表达不好,比如项目中的一些细节,一些算法思路的口述,一些基础知识的描述,这些东西都是需要一个很好的语言组织能力去表达给面试官的,如果表达不清,面试官可能会觉得你基础知识不扎实,或者觉得你很难沟通,所以通过不断地面试,总结每场面试,回忆在面试中知识点欠缺的地方或者是表述不到位的地方,有针对性地去补充欠缺的知识点,思考下次面试的时候应该怎样去更好地表述,这一点是很重要的。所以面过几次之后,吃过了表达上的亏,后面我开始对收到的每一个面试电话录音,面试完后再反复听自己的录音,从一个旁观者的角度去看待整场面试,对每一个面试官提到的问题,思考他为什么会这么问,他想知道什么,我应该怎样去更好地表述自己的观点。这样不断地纠正自己的表达,之后的几场面试,不管是头条的还是腾讯的,都变得游刃有余了,至少没有犯表达上的错误。下面我也总结一下面试过程中面试官常问的一些问题:

阿里

一面(3月1日):阿里一面是处女面(偷笑),接到阿里一面电话的时候真的很方,我是年后投的简历,没想到还没投一个星期就收到了一面电话,我还想先面几家小公司攒攒面试经验然后再去打阿里这个大boss呢,然而阿里完全不给我机会。当时投简历的时候看见牛客网上有内推不管三七二十一就投了,而且投的还是JAVA岗,我一个只会C++的连JAVA语法都没看过的人去投了阿里的JAVA岗(哈哈哈现在想想那个时候简历投得真是草率)。接到面试电话的时候我在爬山,当时以为不会这么早收到面试电话,就和表弟去三清山玩了,晚上刚回到酒店就收到了面试电话,一看是浙江杭州打过来的就知道大事不妙,然后心里开始方,几乎是颤抖的手拿起电话接通(其实当时内心是拒绝接这个面试电话的,因为真的没有一点点防备,但是没有办法只能硬上了)。

对方的第一个问题是:我看你简历上写的都是C++的项目啊,JAVA你会吗?

我:不会。

面试官:要不这样,我给你一晚上的时间看JAVA,明天上午我再打电话过来面你JAVA?

我:不行,其实你可以问我C++和Linux的一些东西啊,这些东西我还是比较熟悉的。(其实我的内心独白是:这是什么操作,一晚上学JAVA,怎么可能嘛,再说我现在还在外面,周围连台电脑都没有,三清山上也没有网吧啊,怎么学,当时只想把话题绕开)

面试官:但是我们公司目前招的是JAVA的啊,嗯,C++,让我想想啊。。。

(面试官开始陷入沉思,我感觉一面还没开始就要挂了orz,都是当时投简历的时候脑子进的水)

面试官:堆排序你了解吗,说说堆排序的过程吧。

我:balabala。。。

面试官:B树和B+树了解吗?

我:balabala。。。

面试官:现在假设有很多的数据,怎样用B树或B+树来提高查询的效率?

(其实一开始听到这个题目我是很懵逼的,这是个什么题,条件这么模糊,自己平常琢磨出来的题吗,喵喵喵。但是没办法,只能硬答了)

我:用B+树建索引,balabala。。。有的没的说了一大堆。

面试官:假设现在内存太小,但是数据量太大,内存装不下索引怎么办?

(我现在更懵逼了,完全不知道该怎么办,但还是硬着头皮答了)

然后我们就内存装不下索引这个问题深入地探讨了20多分钟,好吧其实全程感觉我都在说一些有的没的,也不知道答没答到点子上,我后来才知道这一类海量数据的问题其实都有一类通用的解法:https://github.com/linw7/Skill-Tree。然而我当时并不知道,然后面试官看我可能实在也答不出来什么了,这个问题就先放过我了。

面试官:我看你项目上有用TF-IDF算法,这个算法解释一下?

我:balabala。。。(我对我用到的算法还是很了解的)

面试官:你还用到了simhash算法,解释一下?

我:balabala。。。(项目中的算法问题从来不怵)

面试官:Linux中都有哪些锁,你举例说一下?

我:balabala。。。(Linux系统编程还是不虚的)

当时还问了一些别的记不太清了,比如问了一些当时为什么做这个项目,项目中遇到的问题是怎么解决的,还问了多线程并发编程注意事项等等。

面试官:好了,今天的面试就到这里了,你还有什么想问我的吗?

我:请问您平常做的工作是什么呢?

面试官:我主要是负责蚂蚁金服金融业务这一块,balabala。。。

(好吧,我现在才知道自己面的是阿里的蚂蚁金服,因为官网上完全看不出来自己的简历被推给哪个部门了)

一面就这样结束了,大概40分钟,面试官让我之后多学学JAVA,说后面可能会有人面你JAVA。(我:喵喵喵,还有下一面?)。之后的几天我就一直在看JAVA,好歹是把语法掌握了。

二面(3月12日):二面是在下午,收到二面电话已经是一个多星期之后了,我还以为不会有二面了呢。

二面面试官第一个问题:我看一面面试官给你评价有不会JAVA,自己有没有下去学?

我:有啊,之前几天一直在学JAVA语法,但是一个礼拜过去了还没收到面试电话,我还以为一面挂了呢,所以这几天也没怎么接着看JAVA。。。

面试官:好,那我就不问你JAVA了。(我:喵喵喵,不问了,刚学完语法现在又不问了?)。

之后问了一些计算机网络方面的,比如TCP三次握手四次挥手,TIMEWAIT状态,什么是子网掩码等。问了一些操作系统方面的比如你对操作系统的理解,库函数和系统调用的区别等。问了一下大学ACM经历(因为我简历上有写),问了一下自学计算机的历程,问了一下项目中的TF-IDF算法。最后是共享屏幕,远程编程,他让我下载一个钉钉,然后通过钉钉把题发给我,共享我的屏幕。这道编程题我写了快50分钟,(后来想想其实题目不难,主要是当时太紧张,之前也没有共享屏幕编程的经历,拿到题目的时候就很方,后来想想题是真的不难)写完后用他发来的数据测试了一下,测试用例都过了,然后把代码发给他,结束了二面。二面问问题的时间再加上敲代码的时间大概有一个半小时。二面结束的那天晚上,我躺在床上的时候忽然想到了那个题目的最优解,然而又有什么用呢当时没想出来orz,但是那会儿我并没有想过20几天之后头条一面我会再度遇到这个题目,并靠这个最优解顺利通过了一面哈哈哈哈哈(可见总结每一个面试题并将它解决掉对后面的面试有多么重要,因为你永远也不会知道下一次面试官会不会再次问到同一个问题,所以碰到问题当时不会不要紧,下去之后立马解决,就算以后不会遇到,权当拓展知识面)

二面过后10天,我得知自己挂了,自己也有反思,其实二面的时候基础知识和项目经验这一块我觉得答得都还可以,就是那道编程题50分钟才写出来真的是太伤了,阿里二面挂了之后我开始在准备面试之余去网上刷题,只是希望以后碰到这种题目脑子转得快一点。

网易

笔试(3月18日):嗯,没错,之前就听说过网易笔试很难,而且网易比较看重学校,像我这种辣鸡211网易爸爸基本上是不考虑的。然而头铁的我还是去参加了网易的笔试。三道编程题,当时只AC了两道,最后一道直接放弃,因为我知道自己写不出来,也知道可能没几个人能写出来,因为真的是很难,有兴趣的可以去牛客网上看看今年春招网易游戏第一批笔试的最后一题,当时看到这道题,初步思路是BFS,但是知道自己写不出来,于是直接放弃。

一面(3月27日):得知自己笔试过了,27号被安排了面试,当时我的反应是:三道题AC两道竟然就过了,果然是最后一道比较难,没几个人能做出来,这样的题反而没有什么区分度。一面问得很杂,C++,项目,操作系统都有涉及,还记得几个问题,比如C++的多态实现机制,内存对齐,const关键字用法,C++中的new和C中的malloc有什么区别,进程和线程的区别,怎样避免死锁的发生,也聊了聊项目,然后抛出一个经典编程题:一个数组,其中只有一个数字出现一次,其他数字出现两次,问如何用最快的方法找到只出现一次的那个数字。答曰:异或。他看我一下就答出来了,肯定是之前看过,又换了一个题:一个数组,其中只有一个数组出现一次,其他数字出现3次,问如何用最快的方法找到只出现一次的那个数字。(我:喵喵喵,之前看过,但是忘了)。然后墨迹了半天,最后在他的提示下给出解法,结束了一面。他说HR会在一周之内通知我面试结果,然而现在都4月9号了还没消息,网易怕是挂了,其实本来对网易也没抱太大希望,只是攒波面试经验而已,通过听网易面试的录音,我发现自己在表达上面还是有些欠缺,回答一些问题的时候结结巴巴,底气不足,即使是回答自己知道的问题也显得没有自信,很容易给人一种技术不行的感觉,现在想来这也许就是网易一面挂了的原因。

--------------------------------------华丽的分割线,4月12日更--------------------------------------

原来网易并没有挂掉,今天中午收到了offer,而且一面就发offer了,算是比较开心了。

CVTE

一面(3月23日):CVTE也是参加过笔试然后得到面试机会,其实CVTE的笔试还是比较简单的了,这里也没有什么好说的。一面的话问得问题都很常见,比如C++的虚函数怎么实现的,static关键字用法,const关键字能否和static关键字联用来修饰一个类的成员函数,为什么,构造函数和析构函数能否声明为虚函数,为什么。main函数执行前程序都做了哪些工作,乐观锁和悲观锁的了解,互斥锁和读写锁的区别,写时复制技术,STL中常用容器的底层实现原理等,智能指针使用及其底层原理,还问了一个比较新颖的题目:父进程调用fork函数创建一个子进程后,父进程中的线程和锁资源会不会原封不动地复制给子进程,当时这个问题我没答好,我当时回答会,其实正确答案应该是锁资源是会复制过去的,但是线程并不会,也就是说如果父进程事先开了许多线程,用到了一些锁资源,然后调用fork创建一个子进程,这个时候子进程内其实只有一个线程,也就是说只有一个执行流程,就是子进程本身,但是锁资源是会原封不动地复制过去的,所以这里就会有一个问题,在多线程环境下,需要父进程在获取所有锁资源后再调用fork,避免子进程的锁资源被无故浪费掉,具体请见:https://blog.csdn.net/xhjcehust/article/details/37728985。所以CVTE一面还是比较涨知识的,至少知道了自己以前的一个盲区。一面结束后很快收到了HR的电话,告诉我一面通过,后续面试要去北京。(我:喵喵喵,去北京?果断拒绝,我只是想攒波面试经验而已,去北京的路费还是不想掏的,再加上最近几天是面试电话高峰期,怎么可能去北京)然后就没有下文了。

微策略

一面(3月26日) :微策略也是参加过笔试然后得到面试机会,笔试难度和CVTE差不多,编程题是全英文的但是不难,除了编程题还有英文阅读题,做英文阅读的时候感觉好像回到了高中时代,就是给一段英文文章,问你下面哪个描述是正确的这种。记得这家公司好像是外企,所以对英文要求比较高,当时投简历的时候还要求有英文简历(为此我还花了一点时间将中文简历直接复制粘贴到有道翻译上,再将翻译好的句子直接拼成一份英文简历,什么,你问我有语法错误怎么办,不管,就是这么简单粗暴)。一面面试官上来用英文说让我自我介绍一下顺便再介绍一下自己做过的项目,我以我六级飘过的英语水平开始做自我介绍,介绍项目的时候就完全是在照着英文简历念了,然后他用英文针对我的项目提了几个问题,我当时也没太听明白他问的到底是什么,其实感觉对方的英文也不怎么样(哈哈哈,毕竟还是中国的程序员),当时只能硬着头皮答了一些有的没的,感觉他也没怎么听明白我说的英文(哈哈哈,中国式英文口音太重)。就在面试即将陷入双方都听不懂对方英文的尴尬情形下的时候,这个时候他说:好了,接下来我们用中文沟通。(我舒了一口气)。后面问的问题就很常见了,C++的多态实现机制(我发现这个每面必问),gdb调试程序的方法,还有一个算法题,多路归并的时间复杂度分析,这个时间复杂度我一开始没答上来,后来在他的引导下答出来了,感觉这个面试官人还是比较好,会在面试的过程中引导你去解决问题。当然中间还问了一些问题现在忘记了,一面面了25分钟结束了,他告诉我后面应该会有HR再联系我,我基本上知道自己一面过了。

二面(3月28日):其实27号下午微策略的HR就打电话过来说接下来的面试要去杭州进行,我说视频面试不行吗,她说不行,只能现场面。然后我就说学校有课去不了就拒绝了(喵喵喵,去杭州?我只是想攒波面试经验而已,去杭州的路费还是不想掏的)。然后当天晚上大概10点钟左右又收到微策略HR打来的电话,说28号给我安排了视频终面,还给我发来了链接地址(我还有什么好说的呢,满满的都是套路,差点就信了,幸亏当时拒了,省了一波去杭州的路费)。二面应该是一个总监级的人物(后来聊天的时候知道的),谈吐很好,给人一种很温和很舒服的感觉。开始也是英文交流,后来改成中文。问得东西不多,主要问了一下什么时候能去实习,之前做过的项目,遇到问题怎么解决的,大学期间的经历,获得过的奖项,感觉像是聊天一样,其实也没问啥。二面大概40分钟,最后他感谢我投他们公司,我感谢他能安排视频面试,双方互祝安好,二面结束。整场面试下来感觉技术方面的就没怎么问,或者问得不深,聊天的成分还是居多。最后他告诉我后面应该会有HR联系我。(喵喵喵,今天都4月9号了一点消息都没有)

阿里、腾讯、网易、头条、微策略、CVTE、百词斩面试经验总结

头条

笔试(3月24日):头条笔试五道编程题,只AC了一道,其他几道都是通过部分测试用例,最后一道直接放弃因为当时没时间了。没想到这都过了笔试。收到面试通知的时候真的可以说是很惊讶了。

头条的面试效率应该是我面过的所有公司中最高的了,头条是视频面试,我是3月31日下午3:00开始面,到下午6:00的时候三面全部面完,中间基本上只有上厕所的时间,当场面完当场告诉你结果。感觉头条对算法的要求还是比较高的,三场面试基本上大部分时间都是在做算法题。当然项目和基础知识也有涉及。

一面(3月31日):一面面试官一看就是一个程序员,视频中的背景一看就是在他住的房间里面,还能看到衣柜。。。他头发挺乱的,给人的感觉就像是刚睡完午觉头发乱糟糟的那种。穿一件黑色T恤,典型的程序员装扮。上来就是一道编程题:合并两个有序的单链表。出完题后他电话就响了,就出去接电话去了,然后留我一个人在那敲代码。题不难,他接完电话回来后基本上我也写完了,然后他让我说了一下思路。然后开始问操作系统方面的,多线程和多进程的区别,Linux下都知道哪几种锁等。后来又说我们再来写一道题,求股票的最大利润,基本题意就是给一个按日期排列的股票价格的数组,任意日期买入,往后任意日期卖出,求能获得的最大利润。(当时拿到这道题,喵喵喵,这不是阿里二面的那一道吗,阿里当时还给了一个公式,题意比较隐晦,没想到头条问这道题的时候这么直接,心中暗喜),当场给出最优解,就是从后往前算,整体时间复杂度O(n),空间复杂度O(1)。面试官看了我的解法之后,感觉他不太相信有空间复杂度O(1)的解法,反复地问我算法的思路,最后总算是给他讲明白了,然后就告诉我一面过了,让我在线上等一会儿,应该会有二面。(PS:我后来才发现这道题原来是《剑指offer》的原题,只是当时忘了,还好给出了最优解)

二面(3月31日):一面结束很快就开始二面了,二面视频背景应该是在公司,办公环境还比较不错。二面面试官先让我做一个自我介绍,然后说:我看一面面试官对你评价很高啊。我:哈哈哈 是吗。(心想很可能就是一面那道题我给出了一个最优解,有点出乎一面面试官的意料,可能他当时并不知道有这样的解法,感谢阿里二面,感谢《剑指offer》)。然后二面面试官上来又是一道编程题:删除二叉搜索树中特定的节点。我当时拿到这个题的时候一脸懵逼(后来知道是LeetCode原题,只是自己没有刷到orz)。后来在二面面试官的提示下找到了删除节点的方法,勉强写了出来。然后还问了一个比较有意思的题,给一个单链表,怎样随机返回其中的某一个节点?我给出的解法是先按链表长度随机生成一个随机数,再去链表中走相应的步数,返回那个节点。又问我如果链表很长怎么办?我:有多长? 他:无限长。(我:喵喵喵)。最后我给出的解法就是将无限变为有限,把链表分割成有限长度的小链表,再去随机取小链表中的节点。然后他好像勉强接受了这个解法,然后问了一些项目方面的问题,最后说让我在线上等一会儿,应该会有后续的面试。

三面(3月31日):很快就到了三面,三面上来也是一个算法题:给一堆扑克牌,设计一个算法将它打乱,越乱越好。我给出解法之后让我分析时间复杂度和空间复杂度,让我分析打乱的效果,怎么去衡量打乱算法,能不能给出一个更好的算法等等。(我后来才知道原来他问的是经典的洗牌算法)但是当时并不知道,只能按照自己的理解给出算法,然后再分析看有没有更好的算法。然后开始问我项目,问最小编辑距离算法,TF-IDF算法(因为我项目中有写),分析时间复杂度,问知不知道协程等等。最后面试结束,也没给具体结果。后来HR打来电话说两周内才会出结果,让我耐心等待。(今天已经4月9号了,一个多星期过去了还没有消息,我只想说虽然头条面试效率高但是总体等待的时间一天也没少)

头条面完之后我开始总结,其实面试过程中问到的一些算法之前都没有了解,像那个洗牌算法和删除二叉搜索树中节点的算法,在之前没有接触过这类的题的时候,想要通过面试,那就只有在面试的过程中不断思考解决方法,如果能在面试官的提示中找到解法,并展示出自己的coding能力,还是很有可能通过面试的。所以面试过程遇到不熟悉的问题不能方,一定要不断尝试去解决,在解决问题的过程中展示出来的能力往往是面试官看中的。

--------------------------------------华丽的分割线,4月17日更--------------------------------------

今天晚上收到头条HR的电话,算是给了一个口头offer了,三面过去竟然等了这么久,一度以为自己挂掉,接到HR电话的那一刻还是比较开心的啦!

阿里、腾讯、网易、头条、微策略、CVTE、百词斩面试经验总结

腾讯

腾讯的面试过程真的可以说是紧张而又刺激了。腾讯是找学姐内推的,所以没有参加笔试就得到了面试机会,可以说是非常幸运了。

QQ音乐一面(3月8日):那是一个晴朗的晚上,知道QQ音乐很可能会打电话过来,因为3月7日其实已经打过电话了,只是那时刚好在洗澡,完美错过面试电话(因为这个吓得我后面腾讯面试期间都不敢去洗澡了)。果然3月8号又打了过来,开始让做自我介绍,还记得我当时结结巴巴,紧张得连自我介绍都说得不利索(哈哈哈,QQ音乐第一面其实是我人生中第二场面试)。当时面了大概一个半小时,问得特别多特别细,项目方面也是问得很细。C++方面问了虚函数实现机制,STL用过哪些容器,各自的底层实现是怎样的,哈希表和map的区别,哈希表怎么避免冲突,项目中的线程的同步是怎么实现的,看我简历上有写熟悉vim,熟悉gdb调试,问我有没有用过vim的插件,我说用过you complete me和ctrlp,问我gdb怎么打印堆栈信息,怎样检测程序是否内存泄露,怎样发现程序是否死循环了,C++编写的程序怎么去连接C语言的库,当时回答extern “C”,问我有没有用过git,为什么git中有了commit命令还要有add命令,直接commit不好吗,问我git中怎么创建分支合并分支,分支冲突怎么解决等等。当时还问了一些开放性问题,比如在两台主机之间传一个大的文件,怎样传输更快。我后来才知道其实这样的开放性问题并没有一个标准答案,只要能给出解决方案,言之有理即可。当时还问了很多问题都记不大清了,面完之后将近晚上10:30了,他后面给我的信息是一面没什么问题了,要把我的简历给他leader看一下。然后就结束了一面。

QQ音乐二面(3月28日):20多天后等来QQ音乐二面,中间一度以为他们leader把我这个渣渣本科生忘记了(然而事实证明他们leader确实把我忘了,还好有学姐时不时提醒leader说还有一个人没面,在这里要特别感激学姐)。QQ音乐把我忘记的这20多天里,我又在腾讯的官网上投了简历,不巧的是27号发现腾讯云把我的简历锁定了,这直接导致我后来又面了腾讯云,然后拿了腾讯云的offer而不是QQ音乐,这波操作真的可以说是紧张而又刺激了。不说了扯远了,说回QQ音乐二面,二面问得东西也比较多,C++多态实现机制(发现这个真的是必问项),++i和i++的汇编层实现原理,static的应用场景,TCP的滑动窗口和慢启动,TCP的TIME_WAIT状态,TCP三次握手交换了哪些数据。开放性问题有,假设有两个人A和B,A要给B转账,如何保证这个过程的安全性和可靠性。就是说A向B转账的时候,如何保证A的钱减少了而B的钱相应地增加了。感觉有点像数据库里面的事务的原子性,如果执行一个事务失败了就回滚为原来的状态。当时这个问题大概讨论了十几分钟,最后还算是给出了一个比较让他满意的答案。然后开始问我对未来的规划,怎么证明自己有很强的学习能力,问我有什么问题问他等等。总体来说感觉二面面试官还是很不错的,也比较愉快地结束了二面。

当天晚上从学姐那里得知自己二面过了,三面需要去深圳,然而我大概晚上8点多的时候又收到了腾讯面试电话,一度以为是QQ音乐三面,当时还纳闷不是说三面去深圳的吗,然而当时人在实验室,光顾着和面试官另约时间了,也没问清楚是不是QQ音乐(后来知道是腾讯云,喵喵喵,这就很尴尬了)。从实验室回到寝室后又收到了QQ音乐二面面试官打来的电话,向我确认刚才打电话的是不是QQ音乐,我说我其实也不知道,然后问我如果报销路费的话,愿不愿意31号去深圳参加QQ音乐终面?(我还有什么好说的呢,当然是愿意啊,别说报销路费了,就是不报销我也愿意去啊)其实当时心里还是比较方的,因为知道4月2日前没拿到腾讯offer的,不管是不是还在内推流程,最后都要参加腾讯笔试,然而对于笔试这种东西我内心其实是无比拒绝的,我只是希望能尽快走完面试流程,不想拖到4月2日之后。

腾讯云一面(3月29日):一面约了下午1点,感觉可能是内推快截止了,腾讯的面试官都在push进度,下午1点还来面试,真的可以说是比较敬业了。一面的面试官好像知道我面过QQ音乐,他说接下来这些问题可能QQ音乐都问过,所以你答到点子上就行了,这样也不会太浪费时间。我说好。所以他问问题的节奏比较快,我答得也比较快,有些问题我答到点子上,他也默认我会没往下深究。一面面了大概40分钟,确实大部分问题都是QQ音乐问过的,当然也有一些没问过,比如问我KMP算法原理,问我https的握手过程,问我项目中有没有考虑过使用无锁队列实现多线程间安全地访问一个队列(我当时是用互斥锁和条件变量实现的,所以有此一问)。问我有没有实现一个异步的场景应用到项目中,当时答曰没有。一面很快就结束了,当时他说应该会有后续面试官联系我。

腾讯云二面(3月30日):不得不说腾讯的效率是真的高,第二天就等到了二面电话,静态库和动态库的区别,算法题:有两个数组A和B,怎样找出A中存在但是B中不存在的元素,时间复杂度是多少。分布式存储有了解过吗,答曰:没有。分布式存储里面保证数据一致的一致性算法知道哪些,答曰:不知道。也问过一些别的东西但是现在忘了,其实也没问多少,20多分钟就结束了,除了分布式方面的没答上来其他的回答得都还好。最后他告诉我周末会有总监面试。

腾讯云三面(4月1日):一不小心就4月1日了,4月2日之前没拿到offer就逃不过笔试了(心里真的是方的不行)。之前也有问过学姐为什么QQ音乐那边没有消息了,不是说31号去深圳面试的吗,学姐说因为我面了腾讯云(喵喵喵,现在只希望腾讯云这边能给点力了,事实证明腾讯云果然给力)。总监问我要不要参加腾讯的笔试,我说如果4月2号前没拿到offer就肯定要参加笔试啊(其实我当时恨不能说,总监你能不能帮忙push一下进度啊,争取4月2号前出结果,千万不要让我卡在4月2日啊啊啊啊,事实证明总监其实已经在push进度了,不然不会周末还打电话过来面试,真的是非常感谢!)。总监问的问题就比较大而广了,怎样设计一个支持高并发的服务器架构,答曰建服务器集群,做负载均衡。怎样调试一个正在运行的程序,答曰gdb attach。问我的项目支持的最大并发量是多少,问我对AI,大数据,机器学习,区块链是否有了解。三面20分钟就结束了,当时也不知道自己过了没有,一直比较焦虑,因为万一腾讯云没过的话,再去面QQ音乐也来不及了。

腾讯云HR(4月1日):下午一个电话将我从睡梦中惊醒,原来是腾讯云HR(心中窃喜)。和HR聊得不多,只有10几分钟,问了一下个人信息,家庭情况,未来的职业规划,自己的学习历程等等。最后给了一个口头offer,还说会尽快地帮我推进度让我不要担心(感觉HR小哥哥人真的是很好)。HR面就这么愉快地结束了。

腾讯云HR(4月2日):4月2日HR再打电话过来就已经是给电话offer了,晚上就收到了邮件offer。终于不用参加笔试了,这里不得不感谢一下腾讯云的面试官和HR,面试的时候真的很给力,一直都在push进度,基本上一天一面,真的给力。还有特别感谢学姐,每次面完试我都会把结果告诉她,感谢在我焦虑的时候,在我感觉自己面试要挂的时候能有她的鼓励,这份鼓励对我来说意义真的特别大。感谢!!!

百词斩

笔试(3月24日):百词斩的笔试相对来说就比较简单了,三道编程题,基本都是《剑指offer》原题,这个就不多说了。

一面(3月28日):一面问得问题都很基础,TCP三次握手四次挥手,TIME_WAIT状态,Linux下常用命令,gdb调试方法,怎样避免内存泄露,Linux下的sed和awk命令用过没有等等,简单地问了一下项目,一面大概30分钟就结束了。

二面(3月29日):由于当时突然接到班长通知说要开班会,二面给推了。(没想到后来直接三面,哈哈哈哈)

三面(4月2日): 三面是CTO面(哈哈哈,非常荣幸),三面问得东西就比较细了,特别是问项目的时候,记得有一个点上我们还在讨论是用set实现比较好还是用vector实现比较好,还分析了一下两种实现的时间复杂度。sizeof求一个类型的大小的时候是编译时确定还是运行时确定的,SYN泛洪攻击知道吗,怎么避免。还有一道编程题,就是找到一个排序数组中的特定数字的下标,如果这个数字有重复,就返回最后一个的下标,其实就是《剑指offer》原题,改进一下二分查找就好了,再次感谢《剑指offer》。三面很快结束。后面拿了百词斩sp offer,哈哈哈非常荣幸。

总的来说吧,面了这么多家公司,感觉在每场面试之后不断总结,不断改进,不断反思是最重要的。程序员这条道并不容易,尤其是对一个生物狗来说(哈哈哈),感谢在这条路上遇到的每一个人,感谢学姐的帮助和鼓励,感谢阿里大神孔哥在我阿里二面挂掉之后还不断帮我内推给我找机会,感谢阿里云内推群让我认识了很多大佬,说不定秋招还要靠大佬们内推呢哈哈哈哈。


原文:https://www.cnblogs.com/jeysin/p/8758463.html

相关文章