图:深圳西冲沙滩日落
导读:快到暑假了,有不少读者还是学生,想找一份实习,好的公司,只能说是好的起点,不能代表全部。公司强大,不代表个人一定强大,小公司同样也有大牛,不羡慕,不虚浮,脚踏实地,今天,是木子-勇士心,独家授权分享他拿到腾讯实习生offer的经历,因为有其他平台直接转载了,就不能声明原创,如有帮助,点点广告吧。ps:有人说,我最近没有更新ffmpeg系列,说实话,我的blog,都已经到第八篇了,只有源码过程,鲜有人感兴趣。如果配合有小案例,我会第一时间同步到公众号的。下面看木子-勇士心的分享。
个人情况
本人是武汉大学计算机学院2014级的本科生一枚,在写这篇总结的时候我是大三。本来我们班是规定了有固定的实习的,但是自己还是想向国内顶尖的互联网公司冲击一下,所以抱着试一试的想法参加了几个公司(腾讯、阿里、华为)的暑期实习生招聘。在腾讯应聘的职位是后台开发实习生,阿里和华为应聘的是Java开发实习生。
本文目的
这里想记录一下几个公司的暑期实习生招聘的流程以及一些常问的问题,一来是自己总结一下经验为以后可能的面试做准备,二来是想给以后的学弟学妹们一个参考,在准备面试的和笔试的时候能够做到有的放矢。
结果
在2017.4.16是面完了腾讯的HR面,目前还在等结果(不知道是不是进了备胎池,一周没有消息了OTZ),微信显示的是“你已完成所有的面试环节、请保持手机畅通”。 在4.14面完了华为的面试,今天刚刚接到华为的短信通知说进入了签约池,叫我填一个什么调查问卷。 阿里的内推比较早(大概三月份开始的),后面接过一个面试电话然后显示已回绝,但是貌似4.26有自主投递的笔试,过了笔试之后还可以有面试机会。
---------华丽的更新线------------
今天(4.24)收到腾讯发过来的邮件啦,开始准备暑期的实习咯
首先简单介绍一下华为和阿里的情况(如果只想看腾讯的就直接跳过这一节吧)
华为:华为在武汉的是实习生招聘面试是在华为武汉研究院(一个三环外老远老远的地方),前期需要自己在华为校招的官网上填写自己的简历,然后一段时间后(大概两周)会收到笔试的通知。
华为的笔试是三道编程题 ,总分600分,分值貌似分别是100、200、300,时间是总共两个小时。个人觉得题目难度不算是很大,但是想全部做对好像也不是那么容易。笔试完成大概一周内就收到了叫我去面试的通知。(不过有的同学没有做笔试也收到了面试通知,估计是部门内推就可以免除笔试)个人感觉华为的笔试貌似没有刷人,因为我的同学只要填了简历都获得了面试资格。
笔试过后就是面试环节了,地点前面说了是在很远的一个地方,从我们学校搭公交过去大概要两个多小时。华为的面试总共只有两轮,第一轮是技术面,第二轮好像就是HR面试了,然后时间是在同一天里(可能考虑到那地方真的太偏远)我大概花了30多分钟就完成了两轮面试。 技术面试的时候问的主要是项目中的一些问题,主要问题有:
-
你印象最深的一个项目是哪一个,介绍给我听一下
-
hashmap的结构能不能画出来给我看看
-
平时有没有使用过Linux,一般用Linux干啥,常用命令有哪些
-
平时用过哪些数据库
-
有没有使用过云服务器(我说我用的腾讯云....)
-
有没有什么想要问他的
反正个人感觉技术面还是比较简单的,如果自己做过项目而且真的比较熟悉自己的项目的话问题应该不大。而且感觉技术面好像没怎么问技术细节问题(相比于腾讯和阿里)。
接下来的是HR面试,刚面完技术面还没坐下来就通知我去HR面试。HR面试的个人感觉主要是做些背景调查。主要问题如下:
-
你最新的一个项目介绍给我听一下
-
你的成绩怎么样,在年级排名,你们这个班是特色班吗
-
你是哪里人,高中在哪个学校,高中成绩怎么样(不知道为啥要问高中....)
-
家里有没有人在华为工作
-
你认为你个人的最大优点是什么
其他的问题记得就不是很清楚了,反正总体感觉华为的面试还是比较简单的,涉及到技术层面的问题不多,更多的是叫我谈项目相关的东西。而腾讯和阿里的技术面就会涉及到很多技术问题了,下面会一一介绍。
阿里:阿里的内推和面试时最早的,大概3月份就开始了。然后阿里的内推也是最多的,然而我还是跪了(无奈.jpg)
阿里也需要在阿里的校招网站上进行注册和简历填写以及岗位的申报。然后过了一段时间后会收到一个邮件叫我完成综合素质评测和编程测试。这个综合素质评测考的东西真的是啥都有:阅读理解、逻辑推理、管理协调什么乱七八糟的都有,总的来说就是一个IQ和EQ以及领导沟通能力的综合测试,时间大概是一个小时。然后还有一个编程测试,30分钟一道题(我花了25分钟才大概看懂题意,最后就随便写了几行代码就提交了......)。不过官方说编程测试仅供参考,不影响结果。
然后大概过了一周左右的时间突然有个杭州的电话打过来,我还以为是我在淘宝买了啥东西,接了电话才知道是面试(猝不及防)。由于没有怎么准备,所以回答的很不理想,上午接的电话下午官网状态就显示为已回绝了。主要问的问题有:
-
介绍一下你项目里用的这个Dubbo框架。(这个是我实习的时候的一个项目,事前没咋准备,也不是很了解,所以只能说我不知道。。。)
-
解释一下Hashmap如何实现的
-
你之前做过的项目里有什么缺陷,如何解决
-
如果给你足够的资源和技术如何优化你之前的项目
-
快速排序如何实现
-
简历上的东西自己一定要非常清楚,自己做过的项目在面试之前一定要过一遍,你的负责的部分、有哪些创新点、还有那些问题。这些都是需要复习一遍的。
-
一些基础的算法和数据结构要知道,比如快速排序的思想、链表结构、hash原理、等等,这些很有可能会被面试官问到。
终于说到腾讯了,腾讯的招聘给我的感觉就是豪。貌似腾讯包下了一整个酒店(光谷凯越酒店)来面试,而且好像每年都是那个酒店,据说那个酒店还是五星级的。
还是先从简历投递说起吧。腾讯的实习生招聘是从我们年级的群里得知的。时间大概是三月中旬,当时有一个学长内推,我给学长的邮箱发了简历,然后也在腾讯的官网填写了自己个人的简历和各种情况,但是一直等到四月4号都没有人打电话给我面试。(这通常是简历在内推阶段被刷了,我们班有两个大神在3月份就接到电话面试然后顺利拿到了offer)
内推阶段被刷的我只有老老实实的做笔试题,腾讯的笔试题好像是两个小时。在正式的笔试题之前还有一个模拟考,供大家熟悉考试题型和环境的。腾讯的考试题分为选择题、简答和编程题两个大类。选择题的范围比较广,数量好像是30个,而且好像有时间限制要在一小时内做完。内容包括有c++、Java、数据结构、网络、Linux、计算题还有一些记得不是很清了。反正感觉是有很多不会做的,但是个人感觉做这种笔试题有时候不能真的去硬算,有时候可以使用推理和排出的方法来做,否则感觉基本不可能在有限的时间内算完。然后是四个大题,两个是简答题,两个编程题。一个是有关磁盘空间计算的问题,我好像没有做出来,瞎写的。然后第二题是一个简单的算法题,我直接写出代码放在上面了。第三题是一个排序平衡二叉树的问题,但是当时好像把题看错了,然后没有写出来。最后一个题好像是一个格式化输出字符串的问题。比较有把握的就是2、4两个题,1、3题就随便写了几句话然后就交卷了。
不过虽然感觉笔试做的不是很好,但是在一周后还是拿到了面试的通知。(好像笔试不会怎么刷人,我认识的大部分的同学好像做了笔试就都拿到了面试机会)。面试分为三轮,一二轮是技术面,最后一轮是HR面试。腾讯的面试是在华科旁边的一个酒店里,比较人性化的是每个地方都会有工作人员指引,还有工作人员帮忙按好电梯的楼层,给人感觉很贴心。到了酒店之后是在大厅用微信扫描二维码签到,然后是在休息区等待。到自己的时候会有短信和微信消息提醒。上去面试的时候才发现原来是每一个面试官有一个房间,就是他们住的那房间,然后不同的人在不同的房间里进行面试,给人感觉就是腾讯好有钱。
一面的面试官是一个男士,个人感觉像个领导,因为穿的挺正式,不过一般应该是技术人员。首先是叫我做了一下自我介绍,然后就问我一个C++的多态如何实现。因为平时用的都是Java,对C++不是很了解,所以就随便说了什么多继承什么的,然后告诉面试官我对C++不是很了解,平时主要用的是Java。然后面试官就开始问我Linux有关的问题:Linux进程和线程的区别、Linux进程间通信的方式、Linux的文件系统、Linux进程的创建以及创建后父进程和子进程之间分别会发生什么。问完了Linux他又问了我Java相关的问题:让我介绍了一下Java的垃圾回收机制;在纸上写一个Server通信的示例程序,我写的时候还专门写了一个处理线程类,然后还加了一个终止程序运行的条件标志(我感觉面试官可能会比较看重你考虑问题是不是全面);然后还问了我Java中hashmap的实现(好像这个问题出现的频率很高)。接着问的是网络方面的问题:TCP的三次握手和四次挥手画出图示并讲解,说出Http的包头里的四个属性,说出http有哪些方法,post和get有什么区别(反正这个问题我回答跪了,看到面试官画了个×)。上面那些问题问完差不多就过了20多分钟了,然后面试官叫我10分钟内在纸上写一个算阶乘的程序。我第一反应就是肯定普通的数据类型会溢出,然后我就问面试官输入的数据有没有范围限制,他说没有。我当时就想肯定不能直接用int 或long,肯定是string来输出结果,然后愣了大概一分钟如何去计算。后来我突然想到以前自己写的一个大数相加的程序,然后我就想把所有的阶乘转换成加法的循环具体可参考以下代码。(已经过测试应该是没有问题的)
#include#include#include#includeusing namespace std; string addString(string sa,string sb)//实现大数相加 { vectora; vectorb; int small=min(sa.length(),sb.length()); //获取最短长度 //将字符串里的每一位都保存到vector数组中 for(int i=0;i=10) { result.push_back(tem%10); jinwei=1; } else{ result.push_back(tem); jinwei=0; } } if(i关注打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?


微信扫码登录