写点什么

(已拿 offer) 腾讯实习生笔试到面试总结(附带华为阿里面试经历)

用户头像
马小轩
关注
发布于: 5 小时前

 导读:快到暑假了,有不少读者还是学生,想找一份实习,好的公司,只能说是好的起点,不能代表全部。公司强大,不代表个人一定强大,小公司同样也有大牛,不羡慕,不虚浮,脚踏实地,今天,分享一位拿到腾讯实习生 offer 的经历

个人情况

本人是武汉大学计算机学院 2014 级的本科生一枚,在写这篇总结的时候我是大三。本来我们班是规定了有固定的实习的,但是自己还是想向国内顶尖的互联网公司冲击一下,所以抱着试一试的想法参加了几个公司(腾讯、阿里、华为)的暑期实习生招聘。在腾讯应聘的职位是后台开发实习生,阿里和华为应聘的是 Java 开发实习生。

本文目的

这里想记录一下几个公司的暑期实习生招聘的流程以及一些常问的问题,一来是自己总结一下经验为以后可能的面试做准备,二来是想给以后的学弟学妹们一个参考,在准备面试的和笔试的时候能够做到有的放矢【文末有总结面试资料,记得领取哦!】


首先简单介绍一下华为和阿里的情况

(如果只想看腾讯的就直接跳过这一节吧)



华为:

华为在武汉的是实习生招聘面试是在华为武汉研究院(一个三环外老远老远的地方),前期需要自己在华为校招的官网上填写自己的简历,然后一段时间后(大概两周)会收到笔试的通知。

华为的笔试是三道编程题 ,总分 600 分,分值貌似分别是 100、200、300,时间是总共两个小时。个人觉得题目难度不算是很大,但是想全部做对好像也不是那么容易。笔试完成大概一周内就收到了叫我去面试的通知。(不过有的同学没有做笔试也收到了面试通知,估计是部门内推就可以免除笔试)个人感觉华为的笔试貌似没有刷人,因为我的同学只要填了简历都获得了面试资格。

笔试过后就是面试环节了,华为的面试总共只有两轮,第一轮是技术面第二轮好像就是 HR 面试了,然后时间是在同一天里(可能考虑到那地方真的太偏远)我大概花了 30 多分钟就完成了两轮面试。 技术面试的时候问的主要是项目中的一些问题,主要问题有:

  • 你印象最深的一个项目是哪一个,介绍给我听一下

  • hashmap 的结构能不能画出来给我看看

  • 平时有没有使用过 Linux,一般用 Linux 干啥,常用命令有哪些

  • 平时用过哪些数据库

  • 有没有使用过云服务器(我说我用的腾讯云....)

  • 有没有什么想要问他的

反正个人感觉技术面还是比较简单的,如果自己做过项目而且真的比较熟悉自己的项目的话问题应该不大。而且感觉技术面好像没怎么问技术细节问题(相比于腾讯和阿里)。

接下来的是 HR 面试,刚面完技术面还没坐下来就通知我去 HR 面试。HR 面试的个人感觉主要是做些背景调查。主要问题如下:

  • 你最新的一个项目介绍给我听一下

  • 你的成绩怎么样,在年级排名,你们这个班是特色班吗

  • 你是哪里人,高中在哪个学校,高中成绩怎么样(不知道为啥要问高中....)

  • 家里有没有人在华为工作

  • 你认为你个人的最大优点是什么

总体感觉华为的面试还是比较简单的,涉及到技术层面的问题不多,更多的是叫我谈项目相关的东西。而腾讯和阿里的技术面就会涉及到很多技术问题了,下面会一一介绍。

文末有总结面试题资料,记得领取!

阿里:

阿里的内推和面试时最早的,大概 3 月份就开始了。然后阿里的内推也是最多的,然而我还是跪了(无奈.jpg)



阿里也需要在阿里的校招网站上进行注册和简历填写以及岗位的申报。然后过了一段时间后会收到一个邮件叫我完成综合素质评测和编程测试。这个综合素质评测考的东西真的是啥都有:阅读理解、逻辑推理、管理协调什么乱七八糟的都有,总的来说就是一个 IQ 和 EQ 以及领导沟通能力的综合测试,时间大概是一个小时。

然后大概过了一周左右的时间突然有个杭州的电话打过来,我还以为是我在淘宝买了啥东西,接了电话才知道是面试(猝不及防)。由于没有怎么准备,所以回答的很不理想,上午接的电话下午官网状态就显示为已回绝了。主要问的问题有:

  • 介绍一下你项目里用的这个 Dubbo 框架。(这个是我实习的时候的一个项目,事前没咋准备,也不是很了解,所以只能说我不知道。。。)

  • 解释一下 Hashmap 如何实现的

  • 你之前做过的项目里有什么缺陷,如何解决

  • 如果给你足够的资源和技术如何优化你之前的项目

  • 快速排序如何实现

由于阿里这个面试过去的时间太长了,已经记不太清了,但是通过这次面试我总结出了一些经验,这也为我之后的面试起到了很大的帮助。

  • 简历上的东西自己一定要非常清楚,自己做过的项目在面试之前一定要过一遍,你的负责的部分、有哪些创新点、还有那些问题。这些都是需要复习一遍的。

  • 一些基础的算法和数据结构要知道,比如快速排序的思想、链表结构、hash 原理、等等,这些很有可能会被面试官问到。

文末有总结面试题资料,记得领取!



终于说到腾讯了,腾讯的招聘给我的感觉就是豪。貌似腾讯包下了一整个酒店(光谷凯越酒店)来面试,而且好像每年都是那个酒店,据说那个酒店还是五星级的。

还是先从简历投递说起吧。腾讯的实习生招聘是从我们年级的群里得知的。时间大概是三月中旬,当时有一个学长内推,我给学长的邮箱发了简历,然后也在腾讯的官网填写了自己个人的简历和各种情况,但是一直等到四月 4 号都没有人打电话给我面试。(这通常是简历在内推阶段被刷了,我们班有两个大神在 3 月份就接到电话面试然后顺利拿到了 offer)

内推阶段被刷的我只有老老实实的做笔试题,腾讯的笔试题好像是两个小时。在正式的笔试题之前还有一个模拟考,供大家熟悉考试题型和环境的。

腾讯的考试题分为选择题、简答和编程题两个大类。选择题的范围比较广,数量好像是 30 个,而且好像有时间限制要在一小时内做完。内容包括有 c++、Java、数据结构、网络、Linux、计算题还有一些记得不是很清了。

反正感觉是有很多不会做的,但是个人感觉做这种笔试题有时候不能真的去硬算,有时候可以使用推理和排出的方法来做,否则感觉基本不可能在有限的时间内算完。然后是四个大题,两个是简答题,两个编程题。一个是有关磁盘空间计算的问题,我好像没有做出来,瞎写的。然后第二题是一个简单的算法题,我直接写出代码放在上面了。第三题是一个排序平衡二叉树的问题,但是当时好像把题看错了,然后没有写出来。最后一个题好像是一个格式化输出字符串的问题。比较有把握的就是 2、4 两个题,1、3 题就随便写了几句话然后就交卷了。

不过虽然感觉笔试做的不是很好,但是在一周后还是拿到了面试的通知。(好像笔试不会怎么刷人,我认识的大部分的同学好像做了笔试就都拿到了面试机会)。

面试分为三轮,一二轮是技术面,最后一轮是 HR 面试。

一面的面试官是一个男士,个人感觉像个领导,因为穿的挺正式,不过一般应该是技术人员。首先是叫我做了一下自我介绍,然后就问我一个 C++的多态如何实现。然后告诉面试官我对 C++不是很了解,平时主要用的是 Java。然后面试官就开始问我 Linux 有关的问题:Linux 进程和线程的区别、Linux 进程间通信的方式、Linux 的文件系统、Linux 进程的创建以及创建后父进程和子进程之间分别会发生什么。

问完了 Linux 他又问了我 Java 相关的问题:让我介绍了一下 Java 的垃圾回收机制;在纸上写一个 Server 通信的示例程序,我写的时候还专门写了一个处理线程类,然后还加了一个终止程序运行的条件标志(我感觉面试官可能会比较看重你考虑问题是不是全面);然后还问了我 Java 中 hashmap 的实现(好像这个问题出现的频率很高)。

接着问的是网络方面的问题:TCP 的三次握手和四次挥手画出图示并讲解,说出 Http 的包头里的四个属性,说出 http 有哪些方法等等等,写出来篇幅太长了,影响阅读感兴趣朋友可以私信【面试】获取整个资料!

包括后来面试官叫我 10 分钟内在纸上写一个算阶乘的程序。我当时就想肯定不能直接用 int 或 long,肯定是 string 来输出结果,然后愣了大概一分钟如何去计算。后来我突然想到以前自己写的一个大数相加的程序,然后我就想把所有的阶乘转换成加法的循环具体可参考下我的代码。(已经过测试应该是没有问题的)

需要获取资料文档的朋友 可以关注+转发后点击这里免费领取



让我没想到的是两天后我居然接到了二面的通知

二面是一个比较胖的面试官,网上说一般都是部门的 leader,不过我觉得他反而更加的随和像一线程序员哈哈哈。上来他就给我一张纸叫我写一个双向链表删除一个节点的代码。讲道理在纸上写代码体验真的差,而且我总觉得这么简单的题可能会有什么坑.....想了一分钟貌似也想不出什么坑然后就吧唧吧唧的写完了给面试官看,面试官叫我解释一下我的代码,然后问我还有没有什么补充,通常这就是说代码里有 bug 或者没有考虑到的情况。果然我只注意了删除的节点是头结点的情况而没有考虑到删除的节点是尾结点的情况。加了一个判断条件后又向面试官解释了一下。然后他就给我看一道 C 语言的变量的空间分配的问题是有关 union 里有好几个 int、double、char 类型的数据,然后问 sizeof(union)是多少·········

很快当天晚上我就接到了短信通知我第二面去 HR 面,真的是感觉很幸运。HR 面试就基本没有涉及到什么技术问题了。主要问了我一些其他方面的情况:你觉得你有哪些优点、哪些缺点、你从你的项目中学到了什么、有没有什么例子能够证明你刚刚说的那些个人特性。然后还和我介绍了腾讯的文化和价值观,然后还给我提出了一些建议和面试方面应该注意的问题。总体的感觉也是比较轻松愉快的,最后他还起身送我离开了面试的房间,让我比较感动。还问我有没有拿到其他公司的实习 offer,我不知道这个问题怎样回答算比较好,但是我还是如实的回答了我参加了华为的面试。

到此腾讯的面试就完成了,总体给我的感觉是比较人性化和比较轻松的。面试官感觉也都是比较和蔼亲切的,一些小的细节真的能够感动人。

最后放上自己的一些感悟和总结以及分享我总结的面试资料吧:

  1. 面试的时候尽量保持放松的心态,稍微显示出一点自信最好。最好不要自黑啊、贬低自己啊或者遇到一个问题想都不想说我不会。遇到不会的问题也要尽力去用自己已有的知识去思考解决,实在不会的可以如实和面试官说我没有学过、我记得不是很清楚。同时也不要过于放纵或者跟面试官开玩笑什么的,我室友就是跟面试官开玩笑然后就挂掉了,毕竟我们是在面试不是在茶余饭后的聊天。

  2. 面试的时候最后如果面试官问你有没有什么想要了解的,如果自己实在没有问题想问,可以叫面试官给自己之前的面试提一下意见和建议,这样也有利于自己的提升;或者叫面试官指导一下自己之前没有问答上来的某个问题,这样能够体现出自己比较好学;或者可以问问面试官自己应聘的职位除了技术能力之外有没有什么其他方面的要求,这样可以体现出自己对该职位比较感兴趣并有意愿为之努力。

  3. 就我感觉一般面试官叫我在纸上写代码的题大多不是很难,但是可能会有坑。例如大数阶乘的溢出、双向链表的首尾节点的特殊处理等。感觉面试官主要考察你的代码和算法能力之外还在考察你考虑问题是不是足够周到,在面对真实地开发环境时代码的鲁棒性是不是足够强。

  4. 对于应聘开发岗位的同学(特别是 Java 开发)在准备面试和笔试的时候,Linux 的基本原理、数据结构、网络里的 TCP 和 UDP、hashmap、Java 的垃圾回收、Java 的内存模型、Java 的多线程安全问题、http 的相关知识几乎是必考的,所以大家要认真着重复习。

  5. 还有就是面对面试官尽量要诚实,因为一旦你说谎被识破了那铁定使没戏了,所以对于不知道的问题还是不要不懂装懂的好。

  6. 最后就是保持一颗平常心,能够过面试就为接下来的继续努力,不能够过也要坦然接受。然后继续尝试其他的机会,毕竟世界上不是只有一条路,机会总是留给有准备的人的。

好久没有手打那么多字了,这片面经就到此为止吧,可能还有一些不完善的,等我想起来再补充。希望能够给后面的同学带来一些帮助~记得加关注哦!

面试文件获取方式:

转发+关注我,后台私信回复【面试】领取面试资料(助你面试无忧)

合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一



发布于: 5 小时前阅读数: 2
用户头像

马小轩

关注

还未添加个人签名 2021.06.25 加入

还未添加个人简介

评论

发布
暂无评论
(已拿offer)腾讯实习生笔试到面试总结(附带华为阿里面试经历)