4月的腾讯校招广州线就这样结束了……曾经以为我会找不到工作,没想到这次却运气这么好的拿到了暑期的offer,实在惶恐。
虽然一开始就没报什么希望,但是还是随着大流网申了。这里要说一句,面试真的是一件低成本高收益的事,我面了还蛮多次的……虽然自己没有刻意总结,但是一路下来,面试表现我觉得还是隐隐在进步的,所以害怕被刷被鄙视,也应该去水一下……
群面这种东西体验越多自然是有优势的,但是单面还是取决于你过去三年来的努力。
我投的是腾讯的后台开发,网申是不刷人的,等到快要笔试的时候,腾讯会发统一笔试通知~当然所有大公司都是这样的。
笔试:
腾讯笔试是一部分多项选择题+大题部分。
多项选择就是一些基础知识,fork,操作系统,计网的一些问题,有常规的,也有问的比较细的,整体难度不难
大题部分,我做的那套题有4道题
一、栈与堆的区别,这个题从内存上,数据结构上都能说
二、最长回文子序列。回文子串有一个特定算法可解,不过既然是子序列,那么用动归可以得到式子。dp[i][j]代表i-j里最长回文子序列长度,比如dp[0][0]为1,如果dp[i]==dp[j],那么dp[i][j] = dp[i-1][j-1]+1,嗯就是这样的思路
三、给定一个n,构造一个n*n的回型矩阵。要求从边缘开始向内。这个思路在网上蛮多的,可以把中心点当成原点,将矩阵分割为四个象限,这样看ij的时候判断一下是在哪个象限,就可以知道赋值数字究竟该怎么变化了。思路就是从中点出发赋值。
四、写一个蛮简单的sql
同学们!虽然我说的如此轻松,可是事实是,我只写了第一道题…………
当我看到第二道题时,我觉得似乎哪里见过,似乎以前没做出来?于是我下意识认为这个题我做不出来orz,于是看第三题,想了很久,没想明白是从中间开始算。。。所以坑坑坑啊
第四题,那么简单,可是,我不会sql啊……仰天流泪
当我交卷的时候,内心是崩溃的。
然后我就想明白了那个回文子序列的问题,也想起来当时没做出来的那个时候,我还不知道何为动态规划……
然后我以为腾讯爸爸就要和我说再见了,什么也没想的我赶紧点了个外卖安抚一下自己
4月8日是华为的面试,那个时候去参加了一下,两场都很顺利的水过……华为真是我见过面试最水的公司,不知道挑人依据是什么……
然后我信心满满觉得华为应该可以过吧,所以当我收到腾讯的面试通知的时候,我是震精的,怎么办,去不去,哎呀我这么垃圾,去了也是被虐啊呜呜,根本不敢去QAQ
一起的非技术小伙伴笔试被刷,看着我恨铁不成钢的骂我,说她准备去霸面,我左思右想,觉得既然过了还是好好珍惜一下机会……于是我决定,我也去霸面!说不定就能再得到一次机会呢~
霸面:
我收到的面试通知是4月11日,但是面试开始是4月10日……隐隐觉得第二天去是会吃亏的,所以我也要把握第一天的机会!
摸到了喜来登,腾讯的前台们收着霸面的简历,一楼的霸面区位置还是挺多的,和小伙伴找了个位置坐下,把简历放了进去。我就把我那头天晚上套了个模板的简历放在了后台那里。前台hr告诉我,后台的简历是一定会被看到的,于是我信心满满的就开始等啊等啊等啊……等到下午两点的时候困得在椅子上坐着睡着了……睡醒之后觉得有点失落。我的简历写的是真不行,所以放进去根本不会被注意到,想想我一直凭着学校的名头就可以顺利渡过网申,感觉除了有个名牌大学的头衔外一无所有啊。
困倦的我已经把简历投完了决定回去,毕竟我明天还有正式机会。于是第一次的霸面,就成了一次体验生活。
一面:
出门晚了又要打印简历差点迟到,到了签到大厅的时候面试官已经给我发了短信问我还要不要来面试……好虚
赶紧签了到冲上楼却发现面试官叫了另外的人,于是只好接着等。喜来登是五星级酒店……站在门外啥也听不见。一直在紧张紧张。
终于轮到我,面试官很年轻,看了看我的简历就放到了一边。叫我写了一下链表的反转。这个很好实现不需要我说吧。
然后让我实现以下memcpy,我问面试官需要考虑安全问题吗,面试官非常实诚的告诉我,实际上就是在考在拷贝内存的时候可能会发生什么安全问题。QAQ
于是我按我的想法说了一下,长度问题之类的……面试官沉吟了一下开始指引我,让我考虑一下,当dest和src的范围重合了应该怎么办……这个时候你要保证复制的正确性嘛,然后他一不小心就说你可以从尾部开始复制……额,我是想说可以先把src的内容拷到的别的地方再复制给dest……然而似乎没什么必要说了
他似乎觉得他说得太多了,又问我,如果dest的范围完全在src里了呢?我觉得这个情况和那个重合是一毛一样的于是说,也要考虑这个问题。面试官听到这个就很满意……
接着问我三次握手四次挥手
三次握手我很熟啊,四次挥手给忘了。。。。结果四次挥手答完之后面试官就说,真的是这样吗?你再想想,然后一不小心就带出了一些东西……是下一个问题的答案,因为下一个他问的就是为什么要这么设计orz,面试官你这么萌真的好吗
然后问我主要开发是在哪里呢QAQ,我以写小代码为主,偶尔写个项目也是用编辑器直接搞定的额,windows下linux下都有。但是做的项目都是有自己的测试接口的,再加上我通常debug一般不考虑内存cpu问题,用输出通常就能锁定问题发生的位置,然后用眼睛检查代码逻辑……额
他问我有没有用过linux下的gdb我说没有orz
于是我的面试就结束了。
作为一个一面,问的还是很基础且合适的。想了一下大部分问题我是回答上来了但是这个面试官说漏嘴的有点多啊……感觉不行
结果半个小时后状态就更新了。。。。
妈呀我居然过了腾讯的一面!兴冲冲的回学校了。
冷静了一下觉得二面还是不行……不过还是发个嫖圈压压惊再说。
二面:
二面面试官看起来就很严肃的样子,紧张紧张……
同样看了一眼我的简历就没有再看了,开始问我操作系统里物理地址和逻辑地址的问题。问我,一个进程把内存都占了会发生什么情况,我傻傻的看着他,会宕机?我唯一能想到的这个情况就是曾经迭代matlab把我的8g内存生生用掉了7g多……电脑卡的不能用也停不下来只能强行重启。于是他换了个方向提示我,问我知道逻辑地址比物理地址大的多么……我一激灵,这是在考我换页啊!于是赶紧把页面错误率什么的往上一说,OK。继续这个问题深入,知不知道这个换算是怎么一回事呢?我说mmu啊?面试官很高兴的问,你觉得mmu是个什么呢?我心想是个device呀PPT里好像是这么写的,你到底想问我啥呢。。。他就问我是个软件还是个硬件。我说软件啊。他问这个是什么时候调用的,我想 啊?什么意思。。面试官问,如果是自己写的代码运行的时候需要访问内存,那这部分是什么时候执行呢,是在用户态还是内核态呢。我支吾了一下说内核态吧,于是接着问……此时我真的懵逼了,没做过不清楚啊。。。面试官就问我,你知不知道呢,我就说对不起我没做过这方面的事情不是很清楚,面试官说不知道就说不知道好了,你说了我才知道接下来怎么问你嘛。然后我想,哎哟完了,要挂了。
紧接着拿了一道题给我做,给了我纸和笔。是一个整数,任意整数可以被分解为连续数字相加的数组形式,比如15分解为1+2+3+4+5,7+8等等,叫我分解任意整数。
然后我傻了吧唧开始找规律浪费时间。。。心慌啊心慌
突然一个时刻我开了窍,发现这就是个等差数列啊……于是等差数列往上一摆这个题解决。面试官问我复杂度,说还可以优化,于是我也马上回答了在Sn和a1确定的情况下只要考虑n符不符合就可以了……这个思路以前看算法书的时候遇到过,还是用上啦。面试官看起来比较满意。
然后又是一道题,100个灯泡是亮的。从1开始按倍数按开关,问最后亮暗如何。于是我就开始分解啊分解。。。首先它亮不亮和它之前亮不亮有关系嘛~然后就还找了一点傻了吧唧的规律出来。15分钟之后面试官问我思路,我说了一下,他说这样做可能做不出来,叫我想一下,一个数说可以分解为两个数相乘,那么就说明他会被按偶数次,如果可以分解为一个数的平方,那么就会被按奇数次。我闻言大惊,赶紧算了一下,然后一想,真是这么回事~妈呀,我咋想不出来呢。面试官问我,那么最后暗的灯还剩什么呢,我就傻乎乎的开始说,1,4,9,16,25,36……面试官就说,是平方吧,然后又给我讲了一点。问我有什么问题吗,我说没有……心里想的是,又长了见识,谢谢腾讯爸爸的面试官。其实感觉跪了不好意思问他什么,还是赶紧撤吧,外面世界太险恶了。
然后下午四点的时候状态改为了hr面…………惊呆了。据说技术岗hr面不怎么刷人…………难道,难道我能去鹅场了???
兴奋又激动,不敢相信,又觉得困惑,不应该呀,题并不算难,而我答得也谈不上好,怎么就过了呢QAQ,是不是没睡醒啊
晚上出了个小乌龙,有人说已经三面面完了为什么还通知他去hr面……难道第三面还是技术面。。。
惊呆。原来技术面有3面!说句实在话,我对自己的基础还是比较信的嗯必经考前会认真背书,但是对我的项目着实没什么信心。虽然都是自己做的,但都是些课程大作业,没什么亮点可言,想必面试官已经从很多份简历里看到了我的这些项目……面了两轮都没有问项目我以为是我运气好,原来还有第三面问项目,呜呜,心碎了,腾讯爸爸再见,我不打算去了呜呜。
室友和我说一定是我想多了,那个人肯定是流程出问题了,半信半疑……
hr面:
到了签到处我赶紧问hr,说我今天是hr面吧,面试官是个hr吧……签到处的人一脸懵逼看着我orz,告诉我,是的。我心想,我要是进去发现面试官是个男的我就跑出来呜呜呜。
等待的时候我想明白了为什么面试官都不问我项目。一直我的项目都很虚,很怕他问我……因为没有什么好说的。但是面试官也不傻呀,他看一眼就大概了解项目水平了,不值得问自然会从他的题库里拿出来考你,所以一直没什么大项目经验的同学也可以认真打好基础,大公司想考察你,总是能找到一万种方法的。
和hr沟通的很愉快,谈了很多,也谈了蛮久,最后问了她结果什么时候出,她说下周。然后我心想,周一就该出了吧,还有四五天要等啊。
焦心等待:
如果说全部流程哪个部分最痛苦一定是这个。hr面结束后状态迟迟不改……周天的时候心都碎了,不过因为没什么人收到消息还比较安心。周一状态改为完成面试,同时有IEG的小伙伴收到消息……心碎。
绝望的等啊,再也没有调过手机静音,每天第一件事看有没有短信(这个时间段还在等华为的通知orz也没有等到,两批offer都发完了也没有等到,至今不懂为什么被刷),心碎。
周三的晚上,问舍友,你看我们还能收到么……她回答不出来,心死的睡觉。被刷就被刷吧……生活还是要继续的,作业还没写完呢……虽然暑期可能要蹲监狱实训QAQ,想到这个心就好痛,为什么不要我我的腾讯爸爸呜呜呜。每天都在鼓励自己要振作起来。
终于周四,去上课的路上,想着腾讯全国只收1000人,我只不过是一个学校里一个院的普通学生……哪里有本身竞争过全国那么多优秀的大学生?枉我一路面试过来,心态也不端正,竟真以为自己能进腾讯,真是呵呵 的时候,收到了电话……
和hr说话的时候她告诉我,我的部门是teg的基础架构部,我说好的好的,hr叫我不要太激动……放下电话差点哭出来,我有工作了,天啊,以后终于能有养活自己养活爹妈的本钱了。这种感觉相信很多人都有的嗯。
至此我的腾讯之旅就结束了。写在签约的今天,也写在生日的头一天。还有半个小时就到了我的21岁生日,这是最棒的生日礼物。
写的很乱,仅以此自勉。如果有人能从中获得共鸣,获得一些帮助,我不胜荣幸。