首先介绍下楼主自己。楼主是电信学院12级研究生,本科期间没有拿过奖学金,没有竞赛经历,成绩也烂到不行,读了硕士才勉强赶上去一丁点,不过也还是没有什么拿得出手的经历,依然是学渣一个。但是最终还是通过自己的认真准备拿到了互联网的offer。下边就把我的经历分享出来,希望对求职互联网的同学有帮助。
写在前边
楼主觉得在找工作前要先想清楚两点:一是你的方向;二是你的优势。
对于第一点,正确的方向能够让你集中精力争取你最想要的offer,也能让你在找工作的时候轻松很多。找工作就是体力战,人的精力都是有限的,楼主在半个月内经历了6次面试,3次笔试,就已经觉得累的不行了,更不用说那些什么单位都投,三天一笔试、两天一面试的人是什么感觉。
大的方向不在这里细说,只说下互联网下的职位方向。相关的职位方向有:研发工程师、测试工程师、系统工程师、产品经理等。其中研发应该说是最热门的,对数学、算法、数据结构、操作系统这类课程要求比较高,适合这些课程学的好的同学。测试对技术的要求比研发低一些,并且要求细心,也是为数不多适合女生的技术方向。系统工程师是楼主选的方向,对编程的要求比研发低,但是要有解决问题的思路,同时要对Linux系统比较熟。产品要求对各种互联网产品有自己的见解、有较强的沟通协调能力,适合思维活跃、有想法的同学。
对于第二点,可以说是第一点的前提。只有明确了自己的优势才能找到自己的方向。比如说,楼主虽然懂一些编程,但是深深明白自己是个学渣,数学不好,如果去跟北邮、北航那些计算机强校拼算法显然是拼不过的,所以就放弃了研发方向。楼主又恰巧在研究生项目期间接触过很多Linux相关的东西,因此楼主决定选择系统工程师作为自己的职位方向。而事实也证明这种选择是对的,楼主最终如愿拿到这个职位的offer。曾经听过一句话:每年都有无数毕业生,用人单位凭什么选你!我觉得这句话很有道理,现在的本科生甚至研究生一抓一大把,那些热门单位的选择余地太大了,你必须要有别人没有的优势人家才肯要你。
真正的干货
前边说了那么多废话,下边才是真正的干货,楼主的阿里、百度求职经历。
百度运维开发暑期实习面试经历
百度这个是今年3月份的暑期实习项目。可惜的是最后迫于实验室事情太多没有去成。简历是在宣讲上直接投递的,这使得楼主很早就收到了面试通知。所以在此要提醒各位同学,那些有机会递简历的宣讲会还是值得一去的。
一二面:
前一天收到通知说次日下午二点参加面试。这里要先吐槽下东门的公交车,一到中午1点后车就非常少,我等了20多分钟才等上一辆,车上人挤得都没地方站了。估计87和651的司机师傅都睡午觉去了吧。最后楼主一路狂奔才勉强没有迟到,所以大家去面试的话一定要留足时间上的余量。
接着开始说正题。到百度之后先是一个瘦高的年轻工程师面试的我。那人一看就是纯技术的,有种谢耳朵的感觉。他先是让我自我介绍,然后开始让我讲在实验室做过的项目。讲完后,他详细地问了项目中某个细节的实现方式。我给他讲了一通,但感觉他没太明白,哎,沟通能力捉急啊。接着他问了下关于网络、多进程、多线程、linux文件系统(inode、软连接)方面的问题,都是书上能找到答案的常规问题。再之后让我讲项目中遇到过的问题,这个我早有准备,就长篇大论了一番。
前边的基础问题都答完后,有难度的问题来了,一个关于LBS的算法题。说是如何实现一个高效的算法,能够找出用户周围距离最近的地铁站(用户的位置已知)。我最初说了根据地铁站和用户的坐标计算所有地铁站到用户的距离,然后找最小的。面试官提示说这样太慢,而且需要考虑用户与地铁站之间有建筑物遮挡的情况。其他算法我就实在想不出来了,哎,智商啊!后来我去特意去网上查了这个问题,有现成算法,geohash算法。有兴趣的同学可以看http://blog.csdn.net/yydcj/article/details/10265267。最后是惯例性的提问。
一面之后,我以为自己今天的面试结束了,没想到还有二面。二面面试官是个和蔼的30左右的大哥。二面面试官问的问题偏基础,首先依然是介绍项目,之后是死锁、多线程、多进程、tcpip、拥塞控制、SYN攻击这些网络编程相关的基础问题。最后是一个关于网络IO复用的问题,说是海量连接到来后,传统的select轮询太占资源,怎么优化。我说了个多线程,面试官说本质是一样,自己想也确实是啊,即使用多线程本质上每一时刻还是就有一个线程运行,根本没有改变轮询的本质。最后在面试官的提示下,我终于答出来可以通过内核中断来优化,面试官说这个其实是有现成技术的,就是epoll。后来楼主了解到epoll是互联网中非常常用的一个技术,很多面试都会问到。最后依然是惯例性提问。总的说二面比一面顺利的多。面试完成后面试官先是让等了一会,然后把我送了出去,这里要赞下百度面试官的态度。
三面:
一周之后收到了三面通知。三面是boss面(后来得知是部门经理)。这次的时间是中午1点。当天中午饭后便匆忙赶到了百度大厦,踏点到之后又等了面试官十几分钟,感觉这个boss对面试这事不是很重视。
面试官是个胖子,给人一种很随和的感觉。这面试官是很随意,基本看着简历想到哪问到哪。先是简单问了下项目,然后问了想去哪个部门,对北京的感觉,职业规划。接着问了我成绩怎么样(硬伤啊),有没有论文,我说有个专利,他让讲了下专利的内容。
再之后问是否了解最近一个很受关注的安全漏洞。面试官当时指的是OpenSSL漏洞,我简单说了下。
百度云中如何对用户的数据流量进行调度。这个当时由于紧张,压根没明白面试官想问的点,碰巧之前看过CDN,就答了个可以用CDN根据用户的地域选择合适的服务器。后来才知道,其实当时面试官想问的是怎么样把用户的数据流量调度到合适的网络线路上以提高资源利用率并节约成本。例如,如果现在网通的线路满负荷了,就可以把用户的流量调度到电信的线路上。这里提醒大家,面试中对于不清楚的地方一定要多和面试官沟通,不要害怕向面试官发问,面试官经常故意不把问题描述清楚,就是想考察下你的沟通能力。
再接着问了对Linux分布式文件存储系统的了解。这个问题我虽然有一点了解,但不精通,感觉答的比较凌乱。
再之后面试官好像觉得没什么可问了,就开始顺着简历问下去,本科的实习有什么收获、宣传部都有什么工作,你办过哪些活动等等。当时没有想到技术面试会问这些,所以没有提前准备,答的都比较凌乱。最后就是惯例性的提问。
这次面试给我感觉的是,boss一般都很忙,所以不会为了你的面试提前准备,一般就会顺着简历一条条问。所以凡是简历上写上的,都要有所准备,这次我的一个失误就在于简历中有些东西没有提前准备,所以当时答的比较乱。另外boss的视野都比较宽,所以可能会问你很多行业内的技术等,这些就要靠平时的积累了。
boss面结束后过了大概两周,收到了电话offer。总的说百度这次的面试我觉得自己表现一般,最后能拿到offer应该算是运气比较好吧。
阿里巴巴系统工程师内推面试经历
阿里这个是当时在北邮人上看到的内推帖子,就果断投了。不得不说今年这些互联网公司的节奏比往年真的是快了不止一点。
一面(电话面试):
在投了内推大概1周之后,收到了阿里的电话。当时说有事推到了第二天,其实楼主当时是想多准备一天。
面试官是个年轻工程师,给人的感觉是特别亢奋,时不时会发出来“啊”的声音。开始先让介绍项目经历,面试官对项目的一些技术细节比较感兴趣,详细问了实现方式。
接下来面试官问了下tcp的三次链接,顺着三次连接又问到了syn攻击,以及防御方法。tcp三次连接还好,syn的防御方法当时完全不知道,只能凭想象瞎说。不过事后回来上网查了查发现自己的回答竟然基本正确,看来对于面试中不会的问题,千万不能想都不想就直接说不会,自己好好想想,然后大胆说出想法,没准你的想法就是对的。
接着是io复用的方法。io复用书上有,但是当时我已经忘得差不多了,就只答了epoll和select的一些东西。
接着问了多线程、高并发请求服务器的设计模式。对于服务器设计模式,我答了消息队列,感觉应该合面试官的意思。面试官接着问消息队列具体怎么实现,请求太多怎么办。后者我回答了个负载均衡,这个回答其实没有抓到面试官的点,不过面试官就顺着这个问题问了负载均衡的实现,请求怎么调度,有无状态问题。到最后面试官简单总结了一下,负载均衡的调度的话可以通过将数据存储抽象实现无状态。
之后,面试官还对之前问的消息队列请求过多的问题总结了一下,说是通过在请求中记录超时时间戳。另外,前边的syn防御也是通过缩短半链接的超时来解决。感觉面试官给的这些答案都非常的偏实际工程应用。
最后,依旧是惯例性提问。
总的来说,这次面试中面试官并没有问什么深入的技术难题,问题都很细节,感觉都是面试官自己工作中会遇上的一些问题。这次面试我的不足并不是在技术上,而是在对面试官问题的理解上。面试官的很多问题我其实都没有正确理解其意图,不过好在面试官人比较nice,对于这些也都没有计较,会顺着你的思路走。以后面试的过程中,要学会像面试官发问,对于面试官没表述清楚的,必须及时跟面试官沟通。
二面(依旧电话面试):
一面后隔了一天收到二面,这里不得不感慨一下阿里的效率之高啊
这次的面试官是一个给人感觉相对老练的工程师。面试官话不太多。面试官首先让我介绍了一下我在学校做的项目,然后问了我项目中遇到的难题。接着面试官针对的我的回答提出了一些自己的疑问,提出的问题都特别犀利。
接着面试官问我我会那些语言,c++掌握的怎么样。看来面试官那边会用一些c++方面的东西。我提到在项目中用c++,接着面试官又问了个很犀利的问题,你的项目程序为什么用c++。这个问题有点出乎我的意料,我当时也只是勉强回答的上来。
再接着就着简历问了hadoop、redis相关的东西,着重问了下hadoop中的hbase。
再接着问如何构建一个高并发的服务器,这个问题和上一个面试官问的很类似,估计是同一个组的人。我提到可以用epoll以及多线程。面试官接着问为什么要用多线程,而不是单线程。在这里不得不说这个面试官问的问题都很犀利,而且很刨根问底。
再之后面试官问了下美团的实习经历,为什么要选择一个非技术的实习,在美团实习的收获。美团这个实习其实是本科时候做的小兼职,当时写上只是为了丰富经历,没想到真的有面试官会揪着问。在这里不得不说对于只要写上简历的,面试官都有可能会问,所以太水的东西写上简历前要慎重考虑。
最后依旧是提问环节。
这次面试给我的最大感觉是,像这种很老练并且话较少的面试官,一般不会给你过多提示,如果你没答到点子上就会直接问下一道。对于这种类型的面试官,沟通就显得尤其重要。
三面:
二面结束一周后收到阿里HR的电话,说是要我选择近期三面还是9月份和校招一起三面。当时考虑到等到9月份三面可能会面临更大的竞争压力,果断选择了近期三面。之后到网上预约了一周后的面试时间。
经历了两次电话面后终于迎来了现场面。在大望路阿里北京分部苦等了N久后,终于迎来自己的三面,这次是交叉面,也就是由其他部门的领导来面试你。
这次的面试官是一个和蔼的大叔,看起来3,40岁的样子。先是让自我介绍。接着让讲了下项目经历。再接着问了下都会什么语言。我说了C++,面试官就让说了下C++相比C有哪些优点。再接着问了想去哪个城市,有没有拿到别家的offer。最后就是惯例的提问。
应该说这次的三面是整个面试流程中最轻松的一步,有可能是当天参与面试的人太多,整个面试过程时间比较短,问的问题也都是一些很简单的问题。
四面(HR):
三面完一周后收到HR面。这次的HR面是电话面,面试官是杭州的。
Hr先让做自我介绍,接着问了问项目。重点问了下项目的目标,要实现的功能,做完后会成什么样子,感觉问法有点技术面的感觉。想不到阿里的hr也能跟你聊技术。然后问了职业规划。
再接着hr又根据我的回答问了哪些纬度可以判断一个人是否是团队里的重要人员。
再接着hr问了问家人对工作方向的要求,我回答说听我的。hr说她觉得我有主见,问我从哪里来的自信,能够不需要听别人的意见。我有表达出这个意思吗汗。
最后是惯例问题。我问了阿里的level机制,hr给打了个太极,但是从她的回答感觉这个level可能会对你将来入职后的工作内容直接产生影响。
HR面试完一天后收到了阿里的邮件offer。
总的来说这次阿里的几次面试都不算难,感觉重在考察你的经历和解决问题的思路,并没有出现具体的编程或者算法题,能够通过整个面试也应该算是运气比较好。
写在最后
通过楼主的经历大家应该能感觉的到,拿到大互联网公司的offer并不难,关键在于你要认真的去准备。像楼主这样的小硕都能拿得到互联网的offer,相信大部分同学只要经过充分的准备也都能拿得到。最后祝愿各位交大同学都能拿到令自己满意的offer。
非常抱歉!本站不支持旧版本IE浏览器~~建议使用IE10/IE11/Chrome/Firefox/Safari等高级浏览器浏览。