论坛首页 最近的话题 最近的帖子 搜索 faq  


注册 | 忘记密码   open id
Messages in this topic - RSS

论坛首页 » 拿执照 » 一名中国工程师在硅谷的求职全攻略

证书一大把,走遍天下都不怕!
6/29/2015

侠客行
侠客行
Posts: 70


一名中国工程师在硅谷的求职全攻略(组图)
 



来源: 虎嗅网 于 2015-04-10 10:44:44



作者董飞,大学就读中国南开大学,毕业后于中国新创公司酷迅工作,而后前往杜克大学进修硕士学位,毕业后先后在美国 Linkedin 与 Coursera 担任工程师。本文为他分享自己在美国硅谷的求职经验。有兴趣的读者可以查看他的 LinkedIn 连结,他的知乎也提供很多相关心得。
大家好,我是来自硅谷的董飞,应国内朋友邀请,很高兴跟大家交流一下美国大数据工程师的面试攻略。
个人介绍先做一个自我介绍,本科南开大学毕业后,加入了一个创业公司 kuxun(酷迅机票),做即时资讯检索,后来进入百度基础架构组,搭建了 Baidu App Engine 的早期版本,随后去 Duke 大学留学,在攻读硕士期间,做跟 Hadoop 大数据相关的研究专案 Starfish,之后在 Amazon EC2 部门实习,了解它们的内部架构,毕业后加入 Linkedin,做广告组的架构,涉及 Hadoop 优化,Data Pipeline, Offline/Online, 即时系统。最新是在 Coursera 从事数据工程师工作。

在多年工作中,除了对技术的不懈追求,也积累了大量的面试经验,从国内的一线网路公司百度、阿里巴巴、奇虎、人人,到美国一线公司 Facebook、Google、Linkedin、Twitter、Amazon ,到热门 Startup、Uber、Pinterest、Airbnb、Box、Dropbox、Snapchat、Houzz,拿到 10+ offer,并且在 Linkedin 期间也面试过 100+ 候选人,参与面试题制定,乐于分享并帮助很多人成功求职,实现目标。
硅谷高科技公司介绍
我们看一下这张硅谷地图,它坐落于美国加州,从圣荷西到旧金山的狭长地带,中间是 San francisco bay,简称湾区。它的由来是这边有电脑核心处理器中离不开的硅,30 年来,硅谷就发展成为无数技术性创业公司的摇篮。在 20 多年前,这裡就有很多硬体公司成功上市,如 Intel、Oracle、Apple、Cisco。10 年前,网路的兴起,造就了 Yahoo、Google、Ebay 的神奇。而如今 Tesla、Facebook、Twitter、Linkedin 正扶摇直上,成为美股高科技股的领头羊。这些公司的市值从几十 billion 到几百 billion,PE 从负数到上千,疯狂的估值背后也改变了世界。

如果说硅谷成功是有原因的,我觉得有两点:
一方面,地理位置是得天独厚吸引大量人才,这裡有 Stanford 和加州州立高校提供智力库的支持,在硅谷可以看到来自全世界的最聪明的人,中国、印度人、犹太人是构成这些工程师的主力。虽然国内做技术自嘲为码农,但在硅谷成为一个优秀工程师还是收穫颇丰的。
另一方面,创业是一个永恒的话题,在史丹佛大学有个说法——空气中都飘扬中创业的味道,一些早期员工通过上市套现又积累经验成了天使投资,Y Combinator、各种技术 Forum、Meetup 、创业导师等都很活跃。资本的力量功不可没,早年 VC 通过投资、收购、上市放大形成一个雪球效应。大家总喜欢问什麽是 next big thing,哪一个是下一个 Facebook,下一个 Musk,根据统计 10 年能成就一个千亿以上的公司,目前这个进程正在缩短。

我就拿 Linkedin 作为例子,介绍高科技公司(FLG)是什麽样子。它是成立于 2003 年的职业社群网站,在 10 年的发展中,也不是一下子爆发的,目前有 3 亿的全球使用者,虽然跟 Facebook、Google 10 亿+使用者没法比,但是它有很好的护城河,使用者定位高端精准,单位价值高。这张照片中左边这位是创办人 Reid Hoffman,是 Paypal 黑帮成员,在硅谷也是呼风唤雨的大佬,目前是董事和投资人。中间这位是 CEO Jeff,2013 年被 Glassdoor 评为最佳 CEO,作为职业经理人,成功帮助 linkedin 高速成长,他最喜欢提到 transformation,希望我们每个员工能挑战自我,在各自岗位上进化。
Linkedin 提供了员工很好的福利,有号称湾区最佳的免费食堂,每个月一次的 In day、Hack day,帮助员工内部创业的 Incumbator 计划。它特点是数据驱动的开发产品,比如 「People you may know」、「Job you may be interested」。我做过 Sponroed Ads 都是需要很强数据背景和资料科学家的支持。它的商业模式也很独特,有 3 个属性:针对公司的招募服务、针对广告商的市场服务、针对个人的订阅服务,还有最新 Sales Solution,因为这麽多可能性,成为华尔街的宠儿。
硅谷最新的创业动向说硅谷,除了那些已经成功的大公司,不得不说一下现在最新的创业动向,这些代表了未来下一个 FLG。我总结了一些领域和代表公司:云端运算(Box, Dropbox)、大数据(Cloudera)、消费网路(Pinterest)、健康(Fitbit)、通讯(Snapchat)、支付(Square)、生活(Uber)。

这裡是华尔街网站更新的最新融资规模,比如 Uber 就达到 180 亿美金的估值,我当时拿到 Offer 没去,还是觉得很疯狂,如果细看这张表,大家可以看到硅谷(蓝色)尤其是旧金山它们的融资规模远远大于其他地区,还是地理决定论。而在国内的两家小米,京东都是在北京,而最近大家看到一些泡沫论,说什麽阿里巴巴上市是否美股到顶,经纬 VC 创办人也提醒我们泡沫的风险,我无法判断。如果能参与到下一波浪潮裡面去是很过瘾的。我推荐大家去看看《浪潮之巅》、《奇点临近》,我还是很期待未来 20 年的技术革命。
大数据相关技术
我个人热爱大数据,在硅谷这也是大家津津乐道的,有个笑话:大数据就像青少年的性,每个人都说得头头是道,却没人真的知道该怎麽做(big data is like teenage sex: everyone talks about it, nobody really knows how to do it.)其实大家还是兴趣驱动就好,不要那麽功利,大数据技术涉及太多,平常工作中也是慢慢积累,有无数的坑和技术细节需要克服。并不是说那个技术最热就要用哪个,如果你用不好,你的压力很大的,举个例子,你用某个开源数据库,发现它偶尔有数据丢失怎麽办,如果这是线上服务,你不断收到报警,这时候你当时选用它的优点 scalable,容错性都没意义了。
接著说大数据,这裡面 Hadoop 作为产业标准,我面过的除了 Google、微软不用,几乎所有的公司都在用,建议大家利用这个机会。这裡面有三巨头,Cloudera 是老牌 Hadoop 谘询公司,Hadoop 的创办人做 CTO,Hortonworks 也是很多 Hadoop 的 committee,MapR 是提出 hdfs 的 erasure 编码方式高效而著名,它们都是融了巨资,模式也很像,先推出社群免费版,但有个商业版提供更好的管理。而今年出现一匹黑马 Spark,简单说就是记忆体级别的计算,比 Hadoop 框架裡能节约 IO,利用快取、能适应批次处理、迭代、江河运算(stream computing)。

这裡看一下它的生态系统,如何学 Hadoop 是个循序渐进的过程,先要理解学习它的 Core 系统,HDFS, MapReduce、Common,在外围有无数的系统工具方便开发,我个人用过的是 Avro 作为数据格式,Zookeeper 作为选主的高可靠性的组件,Solr 作为搜寻接口,Pig 搭建工作流,Hive 数据仓库查询,Oozie 管理工作流,HBase 作为 KV 分佈式存储,Mahout 数据挖掘的库,Cassandra nosql 数据库。我建议初学的考虑 Chinahadoop 的课程。
而 Hadoop 本身也是个进化过程,几年前 0.19 版本,到 0.20、0.23 分流成 Yarn 架构,最后进化成 Hadoop2.0, Hadoop1.0 和 2.0 它们的界面和组件是完全不同的,但总体上 Hadoop 2.0 是趋势,因为它有 Yarn 这样分离的资源管理平台,可以以插件的方式开发上面的 Application,解放了生产力,而像 Spark,Storm 这些新型处理器也是支持 Hadoop 2.0 的。

这裡是 Hortonworks 它们提出来的社群版本架构,可以说标准的製定者,一流的公司製定标准,其他的公司一般用只能用它们提供的稳定版,没有多少话语权。但从事大数据,并不见得是要去这些制定标准的公司,大量的应用也是非常考验架构的灵活性,并且能看到实际的产品,很有成就感。

说到 2014 年最红的,还是要看 Spark。已经开了 2 届 Spark 大会,上千人的规模,无数人对比 Hadoop 100 倍的性能提升而兴奋。这裡说它的背景是诞生于 Berkeley 的 Amplab,它们有个很有名的 BDAS(Berkeley Data Analytics Stack),目前 Spark 已经成为 Apache 的顶级专案。去年这个实验室的教授跟学生出去成立 Databricks 公司,拉到两轮上千万的投资,有人问 Spark 是 Hadoop 的终结者吗?我看 2014 年 Spark 大会上,所有的 Hadoop 大佬公司都是鼎力支持,像 Cloudrea 甚至放弃 Impala 的一线支持而转变成 Spark。
如果这麽发展下去,星星之火可以燎原啊。它裡面用到 Scala 是一种函数式语言。裡面的组件也很多,有 Shark 支持 SQL 类似 Hive,有 Spark Streaming、MLlib、Graphx、SparkR、BlinkDB。它的核心数据结构是 RDD,可以跑在各种分佈式系统上。总体上是个包容性+侵略性的系统。我个人也很看好它们的发展。

我在 Linkedin 做过一些大数据的广告系统,我就简单提一些我学到的。
  1. Linkedin 有特有的开源数据系统,包括 Voldermort (分佈式 KV 存储), Kafka (分佈式实时消息队列),Espresso (基于 mysql 的海量存储),Databus(数据变化捕捉),可以查看 http://data. linkedin.com
  2. Lambda 架构,离线使用 Hadoop 做 pipeline,near online 做高效聚合,提供混合式架构,达到实时和一致性的妥协。
  3. Kafka 在 linkedin 起奠基作用,一方面所有实时 tracking 都是通过它,另一方面 data bridge,比如图中通过 kafka 可以实现数据的无缝衔接,否则很难想像每个数据源异构系统,它们的通信将是 n^2 级别的複杂度。
  4. 分佈式并不酷,如果考虑到高可靠性,强一致性而数据量并不是想像的大,不见得要使用;否则自讨苦吃。尽量使用成熟的,可靠的,例如 MySQL、Memcached
求职经验
根据我的求职经验,我给出几点建议:
如果面试的话,我先看他们的经验是不是 match,对应届生看有没有实习经历,如果你在 Google、Linkedin 实习,绝对加分,学校当然也需要,比如我们招人 UC Berkeley 机会是大一些。
我看过很多简历,不推荐用 .doc 格式,因为在不同系统中排版不一样。简历也不要写太长,不是真强者就不超过 2 页。尽量突出你的技能如何匹配公司的职位,比如这个公司都是用 C++,你上面都没 C++,是不太合适。我也很不喜欢看到精通,如果你这样写,就很容易引起麻烦,最好写多少年经验,对具体技术的掌握。
面试当然需要准备,但到底是事倍功半,还是事倍功半。我建议把你的经历精选 1、2 个准备熟练,包括如何团队分工、技术细节、遇到困难、如何克服。不要贪多,就把你现在用的东西准备好,没人关心你 5 年前干啥的。
社交很重要,最简单是去招募会就可以跟人认识,如果你在网路多利用有些网路招募网站,如 dice、indeed,你还要巧妙利用 Linkedin,加入高级帐号,可以查看有些校友的资源,发站内信,透过关系比你网上瞎投效率要高很多。
如何找到面试题?网上有很多资源,比如 Glassdoor 是个匿名发佈网站,经常有面试题,有些技术论坛 Stackoverflow、Careercup 也会有很多参考题。
如何知道一些可靠的公司?可以看你知道的强者都选择去哪些公司,如果名气不大,可以去流量排名上去看他处于什麽地位,如果没有上市,可以看它的融资规模,还可以从 Linkedin 看它的员工是否优秀。
什麽时候才知道准备好面试?
  • 演算法是否过关,是否能写出递归和动规;
  • Coding 是否过关,是否能在 IDE 中写出 Bug Free;
  • Design 是否过关,是否能给出 Tradeoff;
  • 专案经历整理,能够流利说出架构、难点、自己的贡献;
  • 加分项:Github、Blog、参与 Open source。
如何回答行为面试问题?比如你有没有过失败的经历,如果你老板给你不喜欢的任务怎麽办,你想像中成为什麽样的人。这裡一方面可以结合自身精力,另一方面多关注公司的介绍页面,包括公司创办人背景、企业文化、招募的要求。这些都是可以提前做好功课,尽量体现出来你的热情、负责、勤奋等优秀品质。
如何拿到美国工作签证?要来美国工作,一般是要求 H1B 的身份,是有雇主向劳工局提出申请 Sponsorship,根据现在的形式,每年的名额都是一抢而空,那麽这样就需要抽籤决定。在 4 月 1 日之前提出申请,4 月 1 日之后开始抽籤,如果是在美国获取硕士以上的学位,可以有优先级,抽取机率更高,而根据 2014 年情况,普通的抽中机率是 50 %。
如果没有抽中,如果是美国有硕士学位,可以使用 OPT 照样工作,并且可以省社会安全税。而如果是海外的,只能等来年在抽。像 Google、FB 这种全球性公司,他们也会提供其他国家办公室的机会,然后比如工作一年后再通过 L1 或者 H1B 继续到美国工作。另外如果你抽中名额,在跳槽期间是可以 transfer 而不需要依赖名额,每 3 年可以续一次,最多 6 年。如果 H1B 期间申请绿卡,还是可以延长的。
面试流程
如果你拿到面试机会,下面的流程是先电话面试,对于工程师,演算法 coding 基本功是必须的。还是准备好你的小白板,根据面试官的题给出思路和程式,说起来容易,但就是那 10 多行的程式,80% 以上的人都挂了。
然后就是 onsite,美国公司为了体现人才为先,都会来一次 onsite,如果是远程过来,报销机票、车费、酒店、吃饭,听起来也是免费旅游的机会。但 onsite 也不容易,基本上 4-6 轮,每轮 45min 到 1 小时,也会让你挑战极限的,经常是头痛欲裂,我最狠的一次 10 天面 7 家 onsite,连续飞,连续面,真是折磨。
他们都考察什麽呢,简单说是你到底聪不聪明,是否经过工程训练,是否能够合作。整体分成 3 块,一类是技术问题,比如演算法、系统经验;一类是交流能力,你个人经验、兴趣;一类是人资喜欢问的行为面试,比如你有没有过失败的经历,如果你老板给你不喜欢的任务怎麽办,你想像中成为什麽样的人。
面试准备
技术面试这裡面涉及面也挺广。看似简单的 coding 不见得能过关,不信,你写个字符串查找,我不需要你知道 KMP,就是暴力解法,可是 90% 的人都挂在这道题上面。算法方面,常见的 hashtable、heap、trie。系统设计也是很多同学害怕的,很多人说我没设计过那些系统。
如果大家演算法都过关,系统设计就能继续筛选,体现出来你的层次。还要一些很随机的问题,数学上的概率组合,Linux 的常见命令都有可能触及。

我这裡列出考察 Hadoop 的一些基本问题,都比较简单,大家 Google 一下,知乎(中国社群问答网站)上也有我的详细题目。

对于演算法,是考察的重中之重,我总结了一些高频率题目,同样参见我的知乎。
这两道题是我真实中被问道的,虽然不是常规,大家可以思考一下。其中求面积的,是 Apple 当时问的,同学们能在 15min 内演算出来吗?
选择工作
假设你经历过面试的考验,拿到 offer,下面就要面对如何选择的问题。在考虑 offer 之前,先对公司做个研究,比如这公司是什麽规模?产品是什麽?Glassdoor 员工如何评价的?你的职位你喜欢吗?这就跟选学校一样,如果选错了,也是需要走很多弯路。
我个人的参考是,首先这公司是不是处于上升阶段,产品是否有爱,团队强不强,学不学得到东西。对公司分类,Hortonworks 这种是纯技术性的,主要客群为企业,可能没多少人知道;而 Uber 是大众消费性,很多朋友都用过。现在的热点是行动网路,大家也可以多考虑这一块。
大家都很关心硅谷公司的待遇福利,这边我也做个介绍,待遇分成基础工资,根据 Glassdoor 排名,大概在每年 10 万 -- 20 万美金,硅谷目前也是水涨船高,奖金有些大公司有(Google、 FB 15% - 20%)。如果是上市公司,会给限制性股票,分 3-4 年行使,创业公司一般给期权,不同就是限制性股票是白送的,不需要自己掏腰包,期权需要自己买入,不同时期价格不同。但股票交的税非常高,期权是有些长期避税。
最后也要考虑你的兴趣和对风险的承受能力,如果去大公司做个螺丝钉,实现共产主义生活也无可厚非。去小公司压力大,成长快。但也要做好失败的准备,看看当年 Zynga 教训。
职场感触
硅谷生活著一群不在乎别人怎麽看,但有很疯狂的想法的人。大家在这谈创新、谈技术、谈创业,资本涌入,人才竞争,导致大家都是很高的期望值,迫不及待的去改变。这种浮躁也许是社会进步的动力。
我这上面的都是最热的话题,每个领域都是百亿甚至千亿的价值。最近阿里巴巴的成功上市创造最大 IPO,让大家看到中国网路的野蛮成长,中国的发展速度和广阔市场让大家想像无限。而百度在硅谷设立人工智能研究院,阿里巴巴也准备在硅谷招上千人研发团队,越来越多的人才拼抢。中国的一些网路产品也走出国门,微信、小米、360 都在广泛佈局投资未来。有时候会想当大家都是谈论技术改变世界,做个小 App 就值上亿,甚至上百亿,但真的世界因为你改变了吗?我们也要多些独立性思考。
0 固定链接
7/9/2015

芙蓉花开
芙蓉花开
Posts: 119


真的好详细,非常有帮助!
0 固定链接

论坛首页 » 拿执照 » 一名中国工程师在硅谷的求职全攻略