转自链接:[url]http://blog.jobbole.com/37758/[/url]
伯乐在线注:本文来自文章作者@QAMichaelPeng 的推荐投稿(原文链接)。

缘起

在这个城市(北京)求学,恋爱,工作,生娃,笑过也哭过。十多年最好的青春都扔在这里了,也曾经以为会在这里终老。但丰满的理想最终不敌骨感的现实,帝都的房价和PM2.5完全无视地心引力,新高之后再创新高,无情的粉碎了我对这个城市的最后一丝幻想。

神州虽大,可需要码农的城市没几个,PM2.5和房价都不高的就更没有过了,无奈之下只好放眼海外,盯上了三面环海人少地多PM到100就觉得非常恶劣却需要码农的美利坚。加州硅谷虽然阳光灿烂且有Apple、 Google、 Facebook、Oracle等巨头,但人生地不熟且房价不菲。如果是十年前青春年少且光棍一条还可以考虑,如今娃都快能打酱油了,还是找一个熟人多的地方比较合适。这样就只有微软一个选项了。这些年原来的朋友同事们一个一个的出去,过去倒不愁太寂寞。

去年11月底和微软总部一朋友通过电话,了解了那边的生活状态,两年左右能买上房这一条还是很有吸引力的。至于那句有名的“好山好水好寂寞”我倒不放在心上,反正在国内也是宅男。定了回微软之后就有两条路可走,一条是直接投简历到美国总部,走H1B签证直接出去,另一条是先加入微软中国,呆够一年再通过L1出去。前一条虽然比较快捷,但没有直接面试国外职位和全英语面试的经验,有一定风险。后一条拿offer基本无风险,但等待时间要长一些。但咨询了STC的朋友,据说因为前两年transfer出去的人太多,现在policy规定必须呆够三年才能transfer,不能忍。只好选择第一条路。

简历与电面

于是开始准备简历,强烈推荐lynda.com上的这个课程”Create an Effective Resume”, 非常实用。基本信息哪些需要写,哪些不用写或不最好不写,如何确定简历中的关键字,如何使用行为动词,如何使用PAR(Problem-Action-Results)表述,如何写项目经验,如何格式化等等。

简历写完就托朋友内推。建议大家能走内推的尽量内推。起码能拿到一个电话面试的机会,不至于直接被HR过滤掉.这时已经12月中,正好走上美国圣诞季,一直没有消息。直到1月中才有两个电话面试,一个在collabedit上写代码,问题很简单。然后一直没有下文。问朋友才知道面试的不错,可那个组的lead已经去了facebook,悲催。另一个主要问了些搜索引擎架构方面的问题,没写代码。感觉也还成,2月一整月没有消息,3月初又一个电话面试,problem solving和搜索引擎架构,都不难。然后又一周没消息。已经快到4月1日申请H1B的时候了,我开始着急,发信给几个电话面试官催。最后一个面试官比较nice,帮我催了一下,HR很快出了interview的schedule, skype面试,因为时差原因,不能一天面试 ,要面两到三天,前两天每天Redmond时间16:00-18:00,北京时间8:00-10:00,第三天如果有的话Redmond时间16:00-17:00.

面试

面试第一天最悲催,和HR定schedule的时候美国还没有实行夏时制,北京时间8:00-10:00am对应美国西部的4:00-6:00pm, schedule上也是这么写的。于是我早上虽然5点多就起来,但一直没开电脑连skype,打算到7:30左右才上线。7点过几分被老婆催着开机上线,上了skype就见右下角图标在闪,点开了果然是面试官的消息,当时脑袋就嗡的一声,我还没换正装啊,时间也不对啊。没工夫再想下去了,接通视频对话,先问问schedule的事情,人家告诉我美国夏时制,时间早了一个小时。晕,1/52的机会被我给赶上了,真是好运阿。接着就是自我介绍,项目介绍。面试官对我现在的东西也没太多了解,就问了一下现在我们产品地位肯用户数怎么统计的。然后问了一下有没有machine learning相关背景,汗,搜肠刮肚才想到好多年前写过的一个黑白棋程序对形势的评估是用程序从几万局棋谱里学来的,扯了了一通。接着问Why bing. 其实我很想说在北京呆不下去了,可还是扯了些别的。然后一道problem solving的问题,两三分钟没有思路,突然想起在@陈利人 的微博上看见过一道类似的问题,用堆来解的。用堆试了一下,秒杀!下面是一道简单的编程题,可时间已经不多了,头上有点冒汗,没写代码,给个一个O(n)的解法思路,可是要扫描两遍数组。面试官又问有没有只扫一遍数组的。一时没想出来,就说面试开始的晚,时间不够了,一会儿写晚了发他邮箱。然后是我的提问时间,就用了准备的两个问题,你现在的工作是什么,主要的挑战又是什么,既可以了解将来的工作,表现出对工作和技术的兴趣,第一轮结束。

休息了十分钟,一个mm call进来,直接出题。热身题超简单,和mm澄清了几个疑点后秒杀。第二题是并发相关的编程题,给了个非最优解,优化时涉及到读写锁的实现,脑子有点混,没写出来。

第二轮结束后继续补第一轮的编程题。给了两个解,一个是扫描一遍数组的,加上注释说明了loop invariant,第二个是扫描两遍的。并且说了我偏向于第二个,因为易于维护,不易出错。

第一天面试就这样了,感觉很糟糕。

第二天早上7点第三轮面试,抽样问题,各种形式的变换,复杂度的要求,前面几个都很简单,看过《编程珠玑》的都能秒杀。最后在一个特定的时间复杂度要求下卡壳了,,半天没有思路,向面试官要hint,只说听到了,就是不理我,郁闷,接着自己想。突然想到这个和RMQ(Range Mininum Query)有点类似,就向tree的思路发展,搞定。

第四轮面试,一个简单的字符串问题的并发扩展,不难,只是漏了一种case,在面试官的提醒下迅速修复了。最后一个优化问题居然是改变字符串的存储方式,这个真没想到。不过应当不影响整体面试结果。

第二天面完,感觉比第一天好多了。

第三天早上起来先给HR发了封邮件确认今天还有没有面试,要没有,就是挂了。HR很快回了,说找了老大7点面。心里踏实了。老大通常比较忙,晚了十五分钟左右才开始。还是先自我介绍,然后,老大居然问了一个技术问题……完全没有心理准备。一般老大都是喝喝茶,聊聊三观。好在问题不难,很快给出了思路。老大接着要数学推导,倒也不难。最后代码实现,特别强调了要bug free,十来行代码,检查两遍也没什么问题,通过。然后被问了一个很尴尬的问题,你觉得你哪方面是专家?这些年做的事情太杂,linux到windows, hook API,crack到ASP.NET MVC , RoR做网站,搜索引擎到嵌入式设备,啥都做过,都是蜻蜓点水。说啥可能都会被老大challenge,就挑了一个比较偏门,被挑刺可能性小的crack说了说。老大也没难为我,就问了都用什么crack工具。事后在linked in上才了解到老大居然实现了win8上的memset/memcpy/memmove,比win7上快了一倍,悲催的又撞枪口上了。然后又被问了一次有没有machine learning的经验。接下来就聊签证和入职,尘埃落定。

当天HR就给我电话讨论offer了,效率超高,和先前安排面试的节奏简直有天壤之别。不知道是老大push的原因还是为了赶签证申请。

接下来就是出offer,准备签证材料了。level不算高,我如果当初一直呆在微软,肯定不比这个低,这些年做的事和职位相关度太低,没办法。慢慢来吧,不管level,能逃离帝都才是第一要事。悲催的赶上今年H1B要抽签,祝自己好运吧。

反思
•1 虽然已经老大不小,入行也十年了,可做事不专,什么都知道一点,什么都不精。一定要改变这种状况。成为某个有前景领域的专家。
•2 提高表达能力,把一件事情讲清楚。讲东西的时候,你明白的听众不一定明白,不能想当然的把自己认为没必要讲实际上听众可能不明白的东西忽略。
•3 找工作时一定要注意是否能在工作中学到新的东西,且工作中用到的东西是正在过时还是会持久性的有前景。比如MFC, 嵌入设备相关的知识正在迅速贬值,而machine learning, big data方兴未艾,也不会因为框架或技术的升级而被淘汰。
•4 面试准备,各种OI、 ACM、 OJ中的算法都不会用到,把《编程珠玑》和 @陈利人 的微博上的每道题都做出来,北美求职就不是问题。
•5 英语不是问题,可以让面试官说慢一点,再不成就 pardon, excuse me, 实在不行就请面试官把你听不清的内容写出来。
•6 不要说没时间,在创业公司上班且每天要做两顿饭洗碗刷锅洗家里所有衣服尿布且看一小时娃的奶爸每天早上还能抽出3小时左右看书写程序,大家肯定时间更充裕了。

致谢

感谢帮我投简历以及提供各种信息的朋友,因为你们的帮助,才能拿到这个offer,离开帝都。

感谢多看的同仁,将近两年的时间,我们的软件从单一平台到跨平台,从上线第一本单行本到今天6月一万本书的目标,一起奋斗的日子永远难忘。

感谢亲爱的老婆,为了家庭辞去工作全职看孩子两年多,还帮我准备面试着装,调试摄像头麦克风等设备, 此岸到彼岸,我们要一直相伴。

[转载]Michael Peng:北美求职记相关推荐

  1. 转载 美国SAP高手跳槽记-转自George

    转载 美国SAP高手跳槽记-转自George 跳槽(1) 跳槽的典故,据我上周得到的教育,是来自三言二拍,形容当时的富家公子又喜欢上了新来的妓女而抛弃了旧的相好的行为.现在这个词就是换工作的意思了. ...

  2. 个网工获得CCNP认证后的成功求职记

    一 个获得CCNP认证的网工成功求职记 转载这篇文章出处:http://xiaoh.blog.51cto.com/498650/104740 希望它能够给我和那些正在思科认证路上行走的人一些帮助吧!! ...

  3. Google, FaceBook, Amazon 加州求职记

    一年多前,出于显而易见的原因,下定决心肉身翻墙.经过一番考虑,放弃了读书这条途径,决定直接找工作,通过H1B签证出去.于是去年八月份从百度辞职,开始着手准备.当时觉得今年拿到H1B的成功率大致能有个六 ...

  4. 小林求职记(六)踩过Dubbo坑,回答印象深,干货整理

    小林求职记系列文章,归置到公众号菜单栏,欢迎查看历史篇 前传 小林求职记(五)上来就一连串的分布式缓存提问,我有点上头.... 终于,在小林的努力下,获得了王哥公司那边的offer,但是因为薪水没有谈 ...

  5. 小林求职记(五)上来就一连串的分布式缓存提问,我有点上头....

    小林求职记系列文章,归置到公众号菜单栏,欢迎查看历史篇 前传 小林求职记(四)不会吧不会吧,面试还真会问这些呀 在之前王哥的辅助之下,小明的简历成功被内推进到了王哥所在公司.由于一面就是王哥自己,所以 ...

  6. 小林求职记(四)不会吧不会吧,面试还真会问这些呀

    小林求职记系列文章,归置到公众号菜单栏,欢迎查看历史篇 前传 小林求职记(三)一上来就围绕电商系统层层提问,我太难了.... 经历了好几次求职失败的经历,小林最终找到了自己以前一起工作合作的老同事王哥 ...

  7. 小林求职记(三)一上来就围绕电商系统层层提问,我太难了....

    前传 面试官:什么是大事务?小林哥:就是 很大...的...事务?? 小林求职记(二):说好的问基础,为啥我感觉一点也不基础呢? 二面的面试官来到来我的跟前,开始对我的简历进行了一番打量然后就开始了技 ...

  8. 大脑门儿求职记——我的求职经历完全记录

    [写在前面的话]          从2009年7月初开始准备找工作,到12月底正式签约,递交三方,漫漫求职路走了整整六个月.在这六个月的时间里,我经历了人生迄今为止最为丰富多彩而又跌宕起伏的难忘时光 ...

  9. 上岸算法 -北美求职套路全解析

    在美国IT业摸爬滚打七年有余,在北美华人IT培训公司从事相关教育行业若干年.见过无数的青年才俊因为毕业以及身份问题的双重夹击而Low Ball(拿相对自己水平来说较低的薪水包裹)上岸,也见过无数的毕业 ...

最新文章

  1. 异常处理:SEVERE: Unable to process Jar entry [......]for annotations java.io.EOFException
  2. leetcode117. 填充每个节点的下一个右侧节点指针 II(dfs)
  3. sql python tableau_Python+SQL+Tableau神组合,金融/咨询/互联网等抢着要的商业分析必备技能!...
  4. java的动态绑定是什么意思_Java的动态绑定机制
  5. 用户登录自动注销问题
  6. L1-027 出租 (20 分)—团体程序设计天梯赛
  7. 列标题 如何删除gridcontrol_Excel如何制作工资条?
  8. Python答题并统计的小程序
  9. 锐龙r75800h和酷睿i511400h差距多大 r7 5800h和i5 11400h核显
  10. 埃森哲2021财年第三季度全球营收达133亿美元;富士胶片创新解决方案新成员亮相CHINA PRINT 2021 | 全球TMT...
  11. 上传图片到OSS,并按指定大小范围压缩图片。完整工具类+三层调用
  12. linux-alpine安装软件使用指定安装源
  13. win10电脑pppoe拨号模块损坏_WIN10系统提示拨号连接已阻止的解决方法
  14. 计算机小游戏有哪些,为你解答电脑小游戏有哪些
  15. 时序数据库-Timescale 在Windows上的安装
  16. CAS(一)搭建CAS - server服务器
  17. Python量化投资——投资组合的评价和可视化(上):计算收益率、波动率、最大回撤、阿尔法alpha、贝塔beta、夏普率Sharp等指标【源码+详解】
  18. 适合企业使用的电脑监控软件
  19. JavaScript 获取键盘事件(键盘某个按键被按下)
  20. ICE kinematics! - Softimage 2011!

热门文章

  1. 关于astype的坑
  2. Hive基础知识及底层架构
  3. RabbitMQ介绍与延时队列
  4. 644.奇怪的打印机(困难)
  5. A PM2.5 concentration estimation method based on multi-feature combination of image patches文章详解
  6. this.dom.getContext is not a function;
  7. 用浏览器下载一个文件,当点击该文件(原理)
  8. 哪家的云服务器便宜?
  9. Python特征分析- 相关性分析
  10. 计算机配件名称++太平洋,笔记本电脑配件大全