他人——2015实习招聘经验

2015 CVTE 实习招聘经验谈(广州)

距2015年3月18日收到CVTE实习邀请函,已有4天之久。在经过了6轮节奏有些令人窒息的考察后,终于等来了这凯旋的号角。我硕士是控制科学与工程专业,报的岗位是C/C++研发工程师,这属于我的处女面,一切都是新鲜且让人感触多多。
       我是在中午12:00的时候错过了第一次CVTE的HR给我的电话(因为当时吃饭没留意手机,还是提醒大家在非常时期一定要保持对手机的高度敏感,不要因此错过了许多良机!),在12:20左右的时候回拨回去,是总部前台接的,解释说因为公司都有分机号,她也不能确定是谁给了我这通电话,如果下午2点之后没有再次接到电话,就再打过去。我没等到电话,3点左右的时候拨过去了,报了我的姓名,找到了那位HR姐姐,她恭喜我通过了考核。在等电话的时候我很淡定,但我女朋友比我还急(她就那性子O(∩_∩)O),好像生离死别般让自己抓狂。
       废话说多了,进入正题,谈谈我的整个应聘感想,分享一下我的经验之谈,请各位不吝赐教啊!
       网申:填写信息,完成测试题。测试题分为三部分:基础测评,性格测试,专业测试。基础测评基本都是行测题,让人头疼;性格测试,大家做得多了,不多说;专业测试,看你报哪个方向,基本上面技术的都会考到数据结构、数据库、操作系统、程序设计。
       一面:在网申截止的当天晚上,就会收到一面通知,要求在其招聘网站上将简历信息填好打印,并带上参加面试。一面时我所在的小组是一位HR对4位面试者,面试时就问了一个问题,你申请这个职位时的优势在哪?有什么不足?然后轮流回答,我当时就从自己的学习能力以及自己的项目展开,突出自己学习相关知识的能力,以及自己的项目与此职位的相关性,不足的地方我就说了企业工作经验欠缺,行业技术规范不熟悉。随后又接着问了我最满意的项目啊,项目的角色啊等等,感觉对我比较感兴趣。其实我认为,一面主要就是初步看看你这人怎么样,不用过于担心。如果网申没通过,不要犹豫,果断拿着自己做的简历过来面试!
       笔试:一面通过后,当晚就能收到第二天的笔试通知,笔试就在我们学校,近水楼台哈(每个位置上还有士力架和旺仔牛奶,很贴心)。这次的笔试试题有点奇怪,竟然技术类全部是同一套题,这有点让我费解。笔试试题涵盖了数据结构、数据库、操作系统、计算机网络、程序设计这些知识,无论任何企业对技术类的考察,笔试还是面试,都是从这些方面去展开的的,所以大家在学习准备的时候,都要系统地去学习这些知识点。很多人觉得没有大纲很没有方向,其实可以多拿一些往年各个企业的校招题目来做一做,自然知道哪一些是常考的题目,然后再自己归纳总结,一切都要靠自己啊!
       技术初面:当时是笔试结束后当天晚上的11点多才收到消息,第二天14:15分带上自制的简历到指定地点集合,我差点以为已经死在笔试这关了,还好上天眷顾。我下午两点半到了公司,硬是等到了4点半才轮到我面试,挺煎熬的是吧,不过我们刚过去大名鼎鼎的孙总就来迎接我们这批人,和我们谈天说地。我技术面的内容:先从自我介绍开始,然后叫我说一下我最满意的项目,在其中担任的角色,有哪些技术难点,怎么攻克的,我都一一作答了。由此可见,大家在去面试之前要把自己做过的项目梳理总结,面试官一般都会就着你简历上的项目去问你,然后可以引申出很多很多的考点,像相关的知识点,还有项目的不足,为什么当时不选择其他的方案等等。问完项目,接下来就是考察相关知识了,问了我TCP三次握手、四次挥手,随后就是写程序了,写一个函数判断链表是否有环,我写好之后有让我找出环的入口节点,当时思路没打开,但面试官很nice,给我提示了方法,我也跌跌撞撞地写出来了,写代码这段考察就耗了大概15分钟了,写代码的时候还问我问题:进程间通信有哪些方式,我说出了五六个差不多了,我说的时候停笔了,面试官就叫我别停笔,继续写,估计是想让我分心,呵呵!大致就这么过了,后面还问了我一些,你对这个职位还有什么想了解的等等类似HR的问题,不知道是不是暗示这轮通过没啥问题了,哈!
       技术复面&HR终面:技术初面结束回来刚吃完饭,就收到了第二天复面的通知,看来预感没错。可是这次又要上官网继续完善简历,因为又多了很多内容需要填写,各种有些奇葩的问题,耐心写完就耗了我差不多俩小时,挺折磨人!第二天,人虽然不多了,但进度还是很慢,很多同学等了三四个小时。
       技术复面问的问题,深了很多,首先也是叫我介绍一下自己,因为是技术面,所以就着项目、学习展开,之后我叫我说了一下项目,然后面试官就根据我的项目让我说说方案怎么设计的,又指出了我的项目的缺陷,问我有没有办法改进,当时随便说了一点,因为项目这东西肯定有很多不完善的地方,有些问题没有去深究,当时只能随机应变,充分发挥自己的聪明大脑了,所以总结项目非常之重要,不仅仅是总结做过的,还要思考未做的或者没做好的或者是还可以完善的!随后又到了代码时刻,这次是让我写判断一个字符串里的IP是否是合法IP,其实主要思路就是循环字符,通过“.”号分割数字,每一段数字做处理后判断是否在0~255内。我写好后,面试官指出了我遗漏了一个判断条件,就是"."的数量没有判断,若不等于3,也是非法IP,找到错误我又进行了一番修改。修改完后,面试官又加题了,在这个函数基础上加入IPv6的判断,当时不记得IPv6的冒号写法是怎样的,让面试官给我做了一番讲解,我只把思路大概用文字写出来,后来又问我如果有IPv7、IPv8呢,像我的写法每一次的改动都很大,不利于代码维护,当时头脑有点乱,就随便说了说,后来想了想,是不是可以用工厂模式呢?
       我回到了等候室,技术复面完后我问了面试官和HR还有没有下一轮,他们只是笑笑说请先在此等候吧。后来我才知道,有的技术复面就直接刷了,没有随后的HR面了,这样也是为了照顾这些同学,看来自己还是比较庆幸的。中午面试官还带我到他们食堂吃饭,自助啊,吃的不错,哈哈!吃完饭没坐多久我就被再次叫去面试了。HR面是二对二,我和另一个华工的研究生一起接受面试。问的大致都是HR常见问题,你的家庭情况,和亲人的关系怎样,你期望的工作地点和薪资,谈谈你最近烦恼的一件事,如果给你offer你会因为什么原因不来,等等等等。。其实还有很多,恕本人记忆力衰退>_<。面了大概20分钟,我的CVTE应聘之旅就告一段落了。

       Summary:
       我在终面后第三天收到了通知,恭喜我通过了CVTE考核。CVTE整个流程下来,节奏是非常之紧凑的,一天接着一天,直到终面结束。
       这是我第一次参与企业的招聘,也体会了一番带着简历与期待去追寻梦想的心情。总的来说,收获有以下几点:
       1、应聘技术类的同学,要趁早将基础打牢,不管你是什么专业,技术类的考察一视同仁,只要能力足够,笔试和技术面就能过关斩将。涉及的知识有操作系统、计算机网络、数据结构和算法、数据库、概率论,需要系统地去学习,可拿往届的笔试题多练练手。
       2、面试的时候,要将自己最好的一面展现出来,技术面主要就是问你相关的专业知识,懂的要争取完美地回答上来,不懂的可以婉转地表达,切忌直接说不会、不懂,这样会让面试官觉得你一点也不爱思考;HR面其实就相当于面对面的性格测试,HR们希望从你的回答中看出你是一个怎样的人,适不适合他们公司,有没有哪方面缺陷,总之秉承一个原则“假话全不说,真话不全说”,很多时候还是得随机应变。
2015 腾讯实习后台技术岗面经(广州)

伴随着11:07/2015.04.17的一通深圳的电话,我正式收到了2015腾讯实习的offer。7天的等待即如白驹过隙,又如半个世纪那么悠长让人无限缅怀。接到电话的那一刻,明显感觉自己的心跳声在耳边环绕,欣慰自己的付出让人认可,也默默地为自己打气:It's a whole new beginning and challenge, and I believe I can make it.
         与此同时也恭喜我的女票找到了VIP的实习,虽然一GZ一SZ,但我们的付出都得到了回报,毕竟这是好的开始,我也坚信以后会越来越好。感谢一路有你!(≧▽≦)/ 
         好了,感慨结束,回归主旨。腾讯实习的安排有条不紊,从三月初开始网投,3月23/24日宣讲会,到3月29日笔试,再接下来的重重面试,一切按计划进行,给每个人的时间安排都很准确,不用浪费过多的等待时间。只是最后等offer的同学就有点抓狂了,呵呵哒!
         3月29日14点-笔试:地点华工A3-101,今年的笔试题与以往很不一样,以往侧重计算机知识的考察,这次侧重技术细节的考察。我一直按着前面的题目去复习,结果有点被坑到的感觉吧!而且所有报了软件开发的同学都是同一套卷子,不分方向,我是学C++的,做到一些iOS和JVM的题就面如死灰了%>_<%(题目在我另一篇博文[2015.03.29 腾讯实习笔试],不完整版,全凭回忆)。其实后来想了想,如果一张试卷各种类型的题目都有,那么改卷的时候应该会有所侧重。其实笔试完后的各种担心都是多余的,因为随后绝大多数人都收到了一面通知,囧!
          Ps: 其实正式笔试前,我还收到了内推的笔试通知,3月27日在T.I.T创意园腾讯公司,不过笔完之后就没有消息了,也确实感觉答得不怎么好。题目就是三道题,45分钟:1、内存对齐,结构体sizeof的问题;2、写一个函数,判断一棵树是否是另一颗树的子树;3、写一个函数,判断单链表是否有闭环,若有,找到环的入口节点。
         4月8日14点-技术初面:我的面试地点在大学城雅乐轩,有一些岗位是在东圃喜来登,不管哪个,酒店的逼格都对得起企鹅这样的企业了。提前了半小时到,签到后拿到房间号等待,和安排的时间相差无几的时候,就轮到我了。面试我的是一个30左右微胖的眼镜技术男(猜的O(∩_∩)O),一开始自我介绍,在介绍到项目的时候就被打断了,就开始balabala谈了一下项目。早就听说腾讯的技术一面都是虐人的,从这一刻起,深有体会啊!!面试官从我的项目找到切入点后,就开始刨根问底了,你的系统架构是怎样的?这个地方的功能是怎么实现的?为什么这么做了之后就会保证安全?然后又从项目拓展到其他的知识点考察了。问完项目,之后又问了TCP三次握手四次挥手,为什么是三次和四次?为什么三次握手之后连接一定成功建立了?最后一个小问题没有答好。Linux通信机制和方式,我说出来了各种方式,并分析了应用场合,这里我比较满意。又问道数据库事务以及事务的应用场景,我说我不熟数据库也没答好。问我了不了解UML,我说了解四种关系:关联、依赖、聚合、组合,也画过一些类图,嗯~这问题就这么过了。最后就是数据结构,让我对双向链表进行排序,要求时间复杂度最坏不能超过O(nlogn),空间复杂度为O(1),我在脑中比较着各种排序算法,前面几种简单的冒泡插入选择肯定是不满足要求的,归并空间要O(n),快排最坏可能O(n 2),所以只剩堆排了。我思考的时候,同时也将思路说出来了,这点不知道有没有加分,但我认为让面试官知道你的思考过程也是一个考察点。我说了堆排之后,他就让我说下如何对双向链表进行堆排,讲思路就好。一开始我直接把堆排的方法讲了出来,但是面试官打断我双向链表如何建堆呢?我心里郁闷了一下,对啊,之前的排序算法都是基于数组的,到了链表,就不是这么一回事儿了。我思考了挺久,最后缴械投降。本来还以为有写代码的,没想到面试官说,今天我们的面试就到这吧,请回去等通知吧!我心里咯噔一下,心里还想着用写代码扭转一下局势,心里的期待瞬间破灭了,心里想大骂:剧本不是这样的啊!!!
         回来之后,没时间忧伤,迅速上网查找今天被问到的东西,最后双向链表排序的考察,网上没有相关信息。后来,我另一个同学去面试的时候,也问到了这个问题,我已经提前和他说过这题了,所以他的回答和我差不多,也是知道使用堆排,但不知如何建堆。他的面试官比较好,告诉了他最后的思路:其实双向链表的节点结构和二叉树的节点结构是一样的,我们建堆的时候只需要把堆节点一个一个填到双向链表的节点里面就好了。我顿时恍然大悟!!对啊,我当时为啥不从节点结构体入手呢?嗯嗯,总结提高,涨姿势了!
          在无限忧愁的当天晚上10:33,收到了第二天复面的短信,惊呆了的同时,前进的脚步又再次坚定起来!
           4月9日11点30分-技术复面:地点仍在雅乐轩,等待的时候前面的同学都是一个个上去。当被叫到我的房间号的时候,竟然是五个人一起上去的!卧槽!是群面!心里没时间思考为什么是群面,在电梯上的时候便猜想着群面可能会遇到的各种问题。
         进入房间,面试官看起来就是那种老成的技术资深人员,让我们沙发上床上随便坐,他就在电脑上敲敲打打,我们等了好一会儿之后,他说,今天我们的考察是一道方案设计题,一共五个问题你们有30分钟自由讨论,随后你们一人讲解一道题。他说我们都是研究生,就出一道难一点的题给我们吧!这待遇实在让人酸爽!
         我们的题目大致是这样:一张查找QQ群的截图,五个问题:1、如果让你来设计这个功能,会使用哪些数据结构?数据产生的流程是怎样的?2、系统的架构是怎样的?3、千人千面如何做?4、如果硬件资源和网络资源有限,你要如何优化你的系统?5、还有什么查找QQ群的方法?
         这五个问题,我负责回答第二个。坦白说,这是第一次遇到要设计一个系统功能,而且是在面试的时候,但也没办法,只能硬着头皮上了。我们开始是先5分钟阅题,单独思考一下如何做,后来就开始了讨论,balabala~~具体的细节也不太记得了,总之大家竭尽所能,但感觉面试官不是很满意。总之设计题肯定要结合各种知识去综合考虑,还是挺考验一个人的综合技术实力的。像我的问题,系统架构是怎样的?我一开始就说是运用典型的C/S架构,中间再加上负载均衡。面试官打断我为什么你要这么设计呢?随后他就说了设计必须要针对需求,你一开始就说出了这么多,我还不知道你的需求在哪?我深表赞同,然后我就说基本的查找就是客户端请求与服务器应答,这样就是C/S架构,但是如果QQ群查找请求量剧增,考虑到区域性或资源有效利用,我们可以在中间加入负载均衡,让客户端的访问不会造成服务器拥塞,服务器的承载量也会大大减少,因此加入了负载均衡器。呼~我这个问题就这样结束了。
         群面完之后,还要单面,一个个进去,其他人在房间外等。在外头和他们聊天才了解到,他们都是华工研究生,我淡定地介绍我是广工的,要的就是自信!我是最后一个进去的,我前面那一位感觉有点危险了,因为他说话的情绪比较激动,我听到面试官最后说他犯了面试大忌容易冲动。我没有受前面那位同学的影响,淡定地坐下,等待面试官审阅我的简历,没想到第一句竟然问我:你考高多少分?囧!我回忆了一下,608。不晓得干嘛问我这个问题,随后看我简历有一篇专利,就叫我说说这篇专利是干嘛的(哈哈,终于问到专利了),我心里稍稍措辞,随后就娓娓道来。接着又问了我vim的复制粘贴(我简历上有写熟悉gvim),我当时脑袋空了一会,因为挺久没用了,稍稍回忆了一下,就说了快速复制一行是yy和粘贴是p,他也笑了,估计是等着看我笑话没看成(我是不是有点腹黑)。接着问了我堆排序和冒泡排序的区别,我就从时间复杂度和空间复杂度分析了一下,比较简单。最后问我如果有一亿个大于0的整数,可能有重复的,也可能没有,如何找出中位数。面试官让我默默思考了一分钟,我说了一个方案,用堆排,将一亿个数分成元素个数相等的若干块,每一块利用堆排找出最大的前100个数,然后这若干块的堆顶进行比较,找出堆顶中位数,则这一亿个数的中位数肯定处于这一堆所在的块,然后再用一般方法处理即可。他好像也比较满意,直接说等明天HR面吧,然后我走出了房间,心里有一些小激动,立刻微信查了查面试状态,立马变成了“已处于HR面环节”。
         回去之后想了想面试官最后问的找中位数的问题,感觉自己的方案还是有问题的,只是有个别思路对了,但是更深一层面试官没有追究。果不其然,当晚10:03收到了明天HR面的通知!Keep Moving!
         4月10日15点30分-HR面:这次女票陪我一起来的,我只上去了不到20分钟就下来了,女票还以为我被HR赶出来了(果然是亲女友,对我这么没信心!)之前就听说有人在HR面被刷的,抱着这样的心里走进了HR的房间。HR是一位40岁左右面相和蔼的蜀黍,我一坐下就和我说,你的简历我之前也看过了,没什么问题,我就想听听你的职业规划。我心里念叨:That's it??太爽了吧?我随意说了说,提了几个问题,HR最后都把实习的岗位和薪资地点都和我说了。这是我已经被录用的节奏么?窃喜了一下,和HR握了握手,寒暄了几句,大步走出了房间。
         和女票说完后她有点不敢相信,其实我也不太相信,网上的面经都是唬人的么?但每一位HR的风格都不一样吧,庆幸自己的好运!微信查了查面试状态,已变成“已完成所有面试环节”。
         4月17日11点07分-电话Offer:在整整一个星期七天的漫长等待后,终于接到了TX公司的电话Offer,在与我核对了个人信息之后,便告诉了我的实习岗是WXG的微信支付的事务型开发,地点在深圳。网投的时候我报的是MIG,不知怎么地被调到了WXG,是因为缺人么?后来发现也有人和我是一模一样的情况。但不管怎样,心中一块大石已落地,曾几何时的梦想已经看到曙光,心中满满暖流!

         Summary:
          1、技术强化从笔试可以看出,C++的考察占了很大比重,可能是由于TX的后台是C++写的吧。所以,懂C++的同学会占优势一些。除了编程语言,操作系统、计算机网络、数据库、数据结构都是必须考察的,无论笔试还是面试,每个岗位可能考察的侧重点不一样。其实没什么捷径可走,看书看帖做题积累,项目经验也很重要,因为亲身经历的项目其中的技术难点攻克总会留下深刻的印象,这些细节会在你面试的时候得到体现。
          2、从容面对面试的时候难免会遇到各种各样的面试官给出的“疑难杂症”,若遇到难以下手的,切忌直接放弃思考,一定一定要经过思考之后再做出结论,如果真的不会就实话实说;模棱两可的把思路大致说说;胸有成足的把思路答案以及相关的东西都可以阐述出来。像我在复面的时候,就遇上了群面这种面试模式,当时能做的不是焦躁,不是方阵大乱,只有见招拆招,从容面对,展现真实的自己,权当自己在参加一个小组会议。

          最后给自己也给有幸阅读此文的同学一句话:努力做一个有梦想,爱学习的实力派吧!
 

2015.03.29 腾讯实习笔试


1、#define max(a,b) (a)>(b)?(a):(b)
     int x=12,y=10;
     printf("%d\n", max(++x,y));  //14

2、//JavaScript  
      var a=0;
      function one() {
            for(var i=0;i<10;i++) {
                   setTimeout(function() {         
                           a += i;              
                   }, 0);
            }
      }      //setTimeout延时0毫秒保证在作用域最后执行,所以i在最后一直等于10,
              //a = a+10+10+...+10=100
      function two() {
             alert(a);
      }

      one();
      setTimeout(two,0);  //alert 100
      setTimeout("two()",0);  //alert 100
      setTimeout(two(),0);  //alert 0


3、#include <iostream>
      using namespace std;
      class Base
      {
       public:
               virtual void init() {...}
       protected:
               int a;
               char b;    
      };

      class Derived : public Base
      {
       public:
               virtual void init() {...}
       protected:
               char a;
               int b;   
      };

      int main() 
      {
             cout << sizeof(Derived) << endl;      //20
             return 0;
      }

4、//aa.c
      #include <stdio.h>
      void main()
      {
             #ifdef aa
                    int a = 0;
             #else
                    int a = 1;
             #endif

             #ifdef bb
                    int b = 0;
             #else
                    int b = 1;
             #endif

             printf("%d%d",a,b);             
      }
      执行gcc -Daa 结果       //should be 01

5、以往2月份工人发现设备故障概率为75% ,问2月份其中一个星期发现设备故障的概率是多少?

6、100个学生做题,做对第一题有81人,做对第二题有91人,做对第三题有85人,做对第四题有79人,做对第五题有74人。现在规定答对三道或三道以上的为及格,问至少多少人及格?

7、vector和list优缺点对比

8、Redis : 是一个开源的使用ANSI C语言 编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库 ,并提供多种语言的API。

9、autoRelease

10、int (*func[5])(int *)  func是个什么东西?

11、中国围棋棋盘由19*19条线垂直相交而成,有361个交点,问有多少个正方形? 

12、JVM释放内存??

13、数据库范式:第二范式(不能部分依赖)、第三范式(不能存在传递依赖)

14、string类方法find返回值 string::npos 即 -1



问答:
1、有1亿个的QQ号,用set和vector存储,写代码剔除单数的QQ号。

2、猴子摘香蕉,一次只能摘1支或2支,问摘50支香蕉有多少种摘法?

3、折半查找(二分查找)填空。

4、malloc和free用来申请和释放内存,但free真的将内存还给了OS吗?如果不是,请分别举例说明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值