我放在github 上,豆瓣编辑器太弱了,一些格式和链接无法显示。还是尽量看 这里 吧。

计算机专业的校招基本结束了,距离自己的最后一个面试已经过了一个多月。大致记录一下从找暑期实习到确定offer 这个过程,算是做个总结,也希望能对后来的师弟师妹们有个帮助。

注: 我从年初开始渐渐建立了找北美工作的目标,所以准备工作大体上是围绕这个目标准备的。当时没有很大的把握,所以对国内IT公司的面试也或多或少做了些准备。另外,国内国外投的都是互联网公司。对于和我找工作目标相似的同学,本文应该更有借鉴意义。

前期准备

IT公司的校招基本是每年的8月到12月。国内公司在3月后可能还有一次春季校招,但规模相对较小。我大概从年初开始刷leetcode,当然也只是偶尔去刷几道。之前没有ACM竞赛基础,第一遍做leetcode时,有些题目花挺长时间才想出来,但基本上没有看其他人的答案。

3月份开始投暑期实习(其实已经不算早了,比如Google北京实习生在上一年年末就招满了)。因为目标是北美公司,所以除Google 外另一个比较好的选择就是微软。在大公司实习的好处是简历会好看一下,起码HR一看能知道这个公司。当时觉得投不那么偏学术的STC(互联网技术中心)更有利于之后的转正(后来知道,实际上在亚研院实习同样可以参加微软美国的转正面试)。

微软招聘好像不怎么看内推,当时找师兄内推了也没有HR理我,还是和其他人一样走校招流程。不过当时刚好有一个STC的团队招数据挖掘方向的实习生,比较对口。后来通过部门招聘比较快地进入微软实习。

对于找实习,部门招聘一般会比统一校招更快、更容易些,当然要求专业要基本对口。不过暑期实习也有优势。比如转正可能更“优惠”一些,流程更标准一些。而且部门招聘一般要求实习更长时间。

暑期实习的意义:一是在实习公司一般都有转正面试,对于国内公司,甚至表现好基本就可以直接拿校招offer了。二是校招是简历会充实些。实际上,如果之前有过比较好的实习经历或拿得出手的项目经历,暑期实习也不是必须的,拿这段时间刷刷题看看书也不错。

准备工作

对于中国学生来说,有机会的北美互联网公司基本就是三家:Google, Facebook, Microsoft。虽然也有人直接拿到过Linkedin 这样的offer,但毕竟是极少数,参考价值不大。这三家巨头最近几年都会直接从中国往北美招人,相对来说google 招人会更多一些(不代表简单), fb最少。当然,过几年是什么节奏还不一定。

今年的情况:谷歌和fb 从六月份就开始接受校招简历和内推,谷歌从8月份开始安排面试,fb是投简历后开始约时间电面,通过的话9月末统一在北京onsite 面试。微软比较晚,暑期实习结束后,9月底才开始国内的转正面,北美职位统一在10月20几号面试,但比较给力的是面试当天就会给结果。

开始暑期实习后,很难集中大量时间来刷题看书。我大概从8月份开始花较多时间准备面试。前一个月主要在刷题,还是leetcode 为主,Cracking-Coding-Interview(cc150)也看看。同时重点看看怎么用英文来解释一道题,这个看cc150 和leetcode 上的一些文章比较好。其他的,比如编程之美、剑指offer,也翻过,但没有详细看。

北美公司最注重三点:算法、编程、沟通,面试以算法题为主。也可能问到设计题,这个不一定,而且不太好准备,如果没有相关经验,除了网上搜罗一些文章看看,也没有太好的方法。谷歌和fb都不怎么问项目工作,微软问项目比较细。

国内公司面试比较杂,就我的体验,算法、编程在现场面试中反而考查得不多,基本做leetcode 就够了。国内公司会问各方面的知识,当然也会重点考虑简历内容,而且尤其注重实习和项目经历。比如我最常被问到的:“介绍你的一个项目”,然后开始一通问细节;大数据处理技术;机器学习算法;内存管理;开放型设计题;等等。笔试还经常会考C++(或java)细节、数据结构、概率论,等等。

开始面试后,为了应付国内公司的面试也做了一些准备。大概复习下C++语法(网上搜cplusplus tutorial), 看了Thinking in C++ 第一卷(看得不细),其他知识主要是看面经查漏补缺。同时,以前做过的项目要回顾下,至少选一个项目认真准备下,做到既能high-level 地介绍也能深入细节。

面试

按时间顺序概括一下我参加的面试,由于保密原则,不会涉及具体面试题目,只说一下面试流程和个人体验。仅代表个人观点。

阿里: 败得最惨的就是阿里面试。阿里比较看项目经历、是否做得深入,看你和面试官的团队是否match、能否很快上手。校招前找人内推了杭州支付宝,接到阿里电话后本以为是随便聊聊约面试时间,后来才知道已经开始电面了,整得比较懵。问的东西很杂。感觉风格不是很搭。

结果:failed

百度: 面试体验比较好。暑假期间面过NLP组的实习,只有一轮面试,问了些项目、大数据处理和NLP的知识,当时由于时间原因没有去实习。校招前有提前批面试,我直接联系了NLP部门经理。由于时间比较紧,只电面了半小时+HR面。主要问一下大数据处理和基础算法问题。

结果:offer

搜狗: 找同学内推,可以选两个志愿。后来有三个部门联系我去面试,本来我第一志愿是“网页搜索”,但是这个部门联系我时已经面过两个职位,实在不想折腾就放弃了。一般情况下,一开始有个笔试,紧接着是两个面试官同时面试,过后再约终面。但不同部门也会有区别。主要问项目、机器学习算法、编程,还有关于内存的题目。

结果:offer

搜狐: HR在BBS发帖,于是直接找HR内推的。这个实在没什么好讲,第一面全程都是我在讲项目,面试官也没怎么问细节。第二面就聊聊他们要做的方向。

结果:offer

HULU: 找同学内推。HULU基本是之前国内最想去的公司,面试难度也比其他公司高(可能是紧张原因)。面试安排很规范,虽然onsite时略有压力。一轮电面,做了两道算法题,需要在线编程。三轮onsite,从早9点一直到中午12:30。三面都问了项目,简历相关的知识点,算法题,写代码。最后有一轮总监面,问算法题(偏智力题)和其他一些小问题(比如看了什么书)。

结果:offer

爱奇艺: bbs找人内推。三轮onsite面试,总体体验较好,除了等了较长时间。第二轮面试官态度较冷淡,另外两个都比较nice。问了项目细节,机器学习算法,写代码,数学题等。

结果:offer

Freewheel: bbs找人推过,但一样参加了宣讲会、笔试、面试,流程上没有差异。freewheel 校招十月中下旬才开始,由于已经拿到hulu offer,本来面试的动力已经不足。但结果证明fw 几乎是我面过的国内最有诚意的公司。比如宣讲会就拿到充电宝、森海耳机两个奖品:) 统一在清华笔试,考查内容还比较多:网络,概率,sql,数据结构,多线程,编程,算法,设计题等。面试反而比较easy,一共三面,最后一面是副总裁。面试官和hr 都很nice,还蹭了面试期间唯一的一顿免费午餐。面试都是在问项目,此外就是一些设计题、开放题。最后给的待遇也不错。

结果:offer

雅虎日本: 通过AHPR投的。投简历后有一个AHPR hr 的群面,就是聊一些行为学问题。然后是一个远程视频面,除了英文自我介绍,说中文即可,对方说日语,中国这边有翻译官。对方有两个人:技术+人事。人事主要问“为神马去日本”、“家人是否反对”、“未来规划”之类的,技术主要问项目,不算太深入。之后是日本面试官来北京onsite,一共两面,但是基本没有问技术。。。每轮还是技术+人事两个面试官,都集中在行为学问题,技术也只是简单问问项目、介绍他们做的方向。过几天后才会具体介绍福利待遇,从今年的形势看不是很给力,和国内对比吸引力不大(因为日元贬值太厉害)。总之,被问得最多的是“为什么去日本”。

结果:offer (不过在日本那边最终确认前已经拒了)

Facebook: 找师兄内推。两轮电面,时差原因,一般是早上7点或凌晨1点,还是比较有压力的。问的题目不难,但是由于开始得比较早,准备不充分,加上全程英语略紧张,第二轮电面发挥很差。电面题目leetcode 难度,一般问两道。可能要自我介绍、问一个项目。

结果:failed

微软美国: 实习转正。9月底有一个电面,主要像是考查知识面,问到了递归、多线程/多进程、编程语言、测试等,但都不深入,一共只有半小时。实习生转正只要两轮onsite(其他可能是3轮)。问项目+做题。可能因为和面试官方向不匹配,加上我的英文口语不那么溜,项目讲得不好,拖了较长时间,估计减分不少。每面都做了一道题,我都答出来了,但面试官可能不那么满意。(要练练用英文讲项目,表达时high level 些)

结果:failed

Google MTV: 找师兄内推。一轮电面,北美工程师。电面做了三道题,两道写代码,第二道没有写出最优解法。5轮onsite 面试(有一轮加面)。Google的onsite面试是平行的,没有递进关系,而且一般只有一面是英文面。我的第一面表现是最差的,紧张+准备不充分,题没做出来。第二面问了两道题,都比较简单,答得还算顺利。后来才知道前两面有一面表现好就可以进下一轮,有惊无险。第三面是老外英文面,英文沟通基本OK,题目问得不难但属于不熟悉的类型,后面的扩展没答好。第四面是自我感觉最好的,算法思路、代码和扩展都答得不错。后来加了一面,问得不难。整个过程没有碰到真正意义上的设计题。Google 重点看面试中有没有闪光点,所以光把题目做出来不一定就是表现好。

结果:offer

推荐资源

这里推荐一些相关资源,有些不光对面试有帮助,对提高自己算法、编程水平也很有意义。有一些我可能忘记了,想起来再加上。也欢迎其他人补充。

LeetCode : 必刷,建议做熟并总结归纳,不要依赖IDE。欢迎参考我的Solution
Cracking the Coding Interview(cc150):网上有电子版,看第四版或第五版,建议熟悉每章习题,顺便学习用英文解释算法题。
GeeksForGeeks 学习基础、高级数据结构,根据需要看相关题目和文章。
HireIntech 关于算法、系统设计的讲解,不是很深入,随便读读
C++ tutorial 复习C++ 基础语法和STL用法,也可作为文档查看
Thinking in C++ : 了解C++语言知识,如虚函数、template。看英文原版,老外的书讲解很清楚。
CareerCup cc150作者建的网站,有大量北美公司的面试题。
面经:看看总是好的,去网上找吧。
这些是我重点看的,如果时间充裕,还有很多很好的其他资源,有空我会再整理下。

补充: 一些有用的链接

结语

总的来看,外企的面试安排会更规范,体验比较好。国内的比较参差不齐,也有不错的。由于最后拿到了Google offer,所以对自己的整个过程和结果还比较满意。但其中也有很多不足之处:

准备过程断断续续
算法上还有漏洞
一些预期看的书没有看
准备、面试过程心态不稳
应该少花时间胡思乱想,不要老在网上逛、搜集一堆东西,沉下心来学习才是硬道理
最后,希望找工作的朋友们都能如愿。

欢迎提问。请ACM大牛们勿喷。

随意转载,请注明出处。

2014 找工作总结相关推荐

  1. 2014找工作总结-机会往往留给有准备的人

    出处:http://blog.csdn.net/xiajun07061225/article/details/12844801 其实我的求职过程在十一之前就已经结束了,总体讲比较顺利.参加面试的几家公 ...

  2. 2014找工作阶段性总结

    从XX公司实习结束后投的第一份简历开始,到现在估计已经有1个多月了,经历了创新工场,PPTV,联想,华为,兰亭集势,趋势科技,多米,科大讯飞,网康面试,阿里,百度,IGT,小米,去哪儿,锐捷网络,蓝港 ...

  3. 2014找工作总结-机会往往留给有准备的人(转载华科学长CSDN江南烟雨的博文)

    以下内容为原博主所有内容,每次看都觉得让自己有了动力,很感谢这位华科学长的经验分享,希望所有求职的小伙伴们好好加油. 转发请注明出处:http://blog.csdn.net/xiajun070612 ...

  4. 2014找工作----扎实的基础和开阔的视野是企业最看重的因素

    其实找工作之前一直很忐忑,或者说不是很自信,因为各种传言说14年就业难.实验室的项目逼的有些紧,在四川做项目,腾讯实习面试都错过了.4月底回到学校给实验室申请不去实验室,准备看书.----此为题. 一 ...

  5. 转折后的总结--2014年找工作

    大神基友的找工作总结,必须转载保存:原网址:http://blog.csdn.net/lingfengtengfei/article/details/12658215转折后的总结--找工作 好吧,还是 ...

  6. 程序员神级跳槽攻略:什么时候该跳?做什么准备?到哪里找工作?

    为什么80%的码农都做不了架构师?>>>    1.引言 每年的3.4月份都是求职高峰时期,目前已进入6.7月份了,你已经成功换工作了吗? 这次我们想聊的,就是程序员跳槽这件事儿,我 ...

  7. 迟来的2013年总结及算法工程师/研究员找工作总结

    由于过年玩得比较爽,回来之后又一直忙于公司实习和毕业答辩等事情,所以还没有好好总结自己的2013.但是,写年终总结是个好习惯,虽然现在有点迟,都已经是14年的3月份了.也算是为需要的人分享经验,同时也 ...

  8. 《Android 开发入门》我为什么要在Android找工作越来越难的时候开始学习它

    近期一方面是所在的公司招聘Java开发人员很难招到合适的,投简历的人很少:而另一方面,经常听身边的人说Android.iOS方面找工作不好找,特别是没什么经验的,经验比较少的!说是不好找,但在我家所在 ...

  9. java实习找工作经历

    2014月12月,我踏出校门.跟很多学生一样,既感到害怕又感动激动.当时,我们班的同学,要不就去了培训 机构,要不就在待在学校寝室,也有一些转行了,我则是参加完英语四级考试之后,就开始准备找工作. 当 ...

  10. 深度学习培训完可以找工作吗?深度学习可以做什么?

    目前深度学习是一个非常有前景的行业,市面上也出现了各种各样培训教程,很多人说现在深度学习岗位的需求量还相对较少,那么深度学习培训完可以找工作吗?本篇来解答一下这个问题. 深度学习培训完可以找工作吗? ...

最新文章

  1. 前端工程化工具Fekit分析
  2. Android 中文api (88)——SharedPreferences
  3. Android性能优化工具
  4. 行末没有空格c语言,新人提问:如何将输出时每行最后一个空格删除
  5. 信息学奥赛一本通C++语言——1014:与圆相关的计算
  6. JavaScript图片幻灯片显示效果
  7. .NET 中文件嵌套,例如:cshtml文件下面嵌套css和js【机器翻译】
  8. 计算机的创新产品,这几种电脑创新功能 空有喝彩没人买
  9. Vulkan----Mac环境搭建
  10. 有趣的计算机黑科技,7个让你欲罢不能的电脑黑科技神器!每一款都让人爱不释手...
  11. 理解OSEK NM原理,看完这个就够了
  12. xshell卸载注册表删除问题
  13. 零基础转行学编程技术难吗?
  14. 【戒焦戒躁,can win】Linux--IO文件描述符
  15. 2007noip提高组初赛总结
  16. 算法之动态规划,问题三:0 1 背包问题
  17. ai怎么做波普风圆点_超实用AI描边小技巧:AI画一个圆点组成的圆
  18. springSecurity+jwt中实现互踢功能
  19. 【爬虫技能书】分享自用爬虫书籍,快进来看看!
  20. 来自知乎的Android学习总结

热门文章

  1. 第一篇:CUDA 6.0 安装及配置( WIN7 64位 / 英伟达G卡 / VS2010 )
  2. 解决tsc.exe 已退出 代码为 1
  3. python——socket网络编程
  4. 使用gitpages开启个人域名博客
  5. linux下查看用户个数和具体名字
  6. ASP.NET WebAPI构建API接口服务实战演练
  7. idea离线安装lombock插件
  8. 关于webuploader 在ie9上不能触发 input 的 change 事件
  9. 数据库原理与应用 基于SQL Server 2005pdf
  10. C语言 复制字符串 malloc