首先说明一下,我(崔添翼)本来是浙大计算机2008级的学生,后来因为无法按时毕业延期了一年,于是就变成了2013年毕业,所以今年才开始找工作。

然后剧透一下,我最终选择的未来雇主是 Jane Street Capital,职位是 Assistant Quantitative Researcher,工作地点在香港。

以下开始正文。

暑假的时候都在搞 ACM 集训,觉得找工作的事还早。开学了以后听说各路大牛早已面试了各种公司拿到了各种 offer 就开始有些心慌。虽然我自己是一心想去国外工作的,但是我家里不怎么同意,所以一开始没特别考虑出国工作的事,想着等那些企业来校招的时候投投简历得了。然而自己还是不愿对出国工作死心,于是就经常在 GitHub Jobs 和 StackOverflow Careers 这两个网站上瞎逛。

出于自己的爱好,我一直以来都有一个小小梦想,找到一个能用 Haskell 或类似语言的工作。不过我知道的相关的工作要么是 Standard Chartered 里面那种天天西装革履的典型金融业环境,要么是 Galois 或者 FP Complete 那种对已有的 Haskell 水平要求非常高的。但我还是在 GitHub Jobs 上用 Haskell 作为关键字搜了一下。不出我所料,没有搜到任何我以前不知道的 Haskell 工作,大部分甚至都不是在用 functional programming 的,而是“我们是用 Ruby/Python/etc 的,但如果你会 Haskell 的话我们非常欢迎因为你就是那种我们想要的乐于学习和自我提升的人”的那种。我搜到的唯一一个全面应用 functional programming 的公司就是 Jane Street,他们用的是 OCaml,一种我早就听说过但几乎没有了解过的语言。

在网上搜了很多关于 Jane Street 的信息以后,我感觉它好像还是挺靠谱的。于是为了实现自己用 functional programming 工作的梦想,我开始为申请这家公司做准备。我从零开始学习 OCaml,这大约是九月上旬的事情。在学习的一开始,我就认识到,在具有相似语言基础的前提下,快速掌握一门新语言的最好方法就是用它做一个小项目,带着项目目标学习需用到的东西才能有的放矢。同时我的另一个考虑是,我想弥补我当时的简历中没有拿得出手的开源贡献这一弱点。

于是在很快地确定了项目要做什么之后,就开始看 OCaml 的书看了有不到两个星期。现在回头看的话,市面上已有的 OCaml 教程都不好,要么太过时,要么作者水平太差。所以建议可以直接看 OCaml 的官方文档,我最终也是在面试前把官方文档看了一遍,觉得受益远大于看书。

看了点书对于 OCaml 有了点基本的了解以后就开始做项目。我要做的是一个已经被做滥了的题材,Lisp 解释器,唯一想到的一点创新就是加入与 Go 语言类似的 concurrent programming 支持,也就是轻量级线程和 channel 之类。项目命名叫 GoLio,意思是“Go! Lisp in OCaml”。

从建立 git repository 的9月20日算到发布0.1版本的10月5日,我做这个一共也就用了两周多时间。不过这两周多几乎所有的时间都花在这个上面了,工作量还是很有一些的。之后花了大半天时间用 LaTeX 做了一份一页的简历,就在10月6日通过他们的网站投给了 Jane Street。我后来投给别家公司的简历都是在这个基础上改的,给不同公司的简历在侧重点上有所不同。

Jane Street 是我第一个考虑的公司,但自己对它完全没有任何把握,既包括是否能被录取,也包括自己是否会喜欢这个公司的风格,所以还是投了些别的公司。

首先是小米公司。它们的 HR 之一以前在 Google 工作的时候就跟我有联系,后来在我在北京实习的时候也曾很有诚意地邀请过我去小米公司看看。这次他们来浙大校招之前也是很热情地联系了我,希望我去提前面试一下。于是我去小米校招团队下榻的酒店面试的时间是10月11日,也就是他们开宣讲会当天的下午。在那里和他们的三位工程师各谈了一个小时左右。其中第一位面试官让简单写了些代码,问了些技术问题,第二第三位则只是聊天的方式谈了谈以往的项目以及对工作的期待什么的。最终当场给了一个口头的 offer 承诺,但没有给具体的薪酬数字。

小米公司的 HR 以及三位工程师给我留下的印象都很不错。仍处于创业阶段的公司内部肯定会有不少可以发挥作用的机会。同时,他们还是为数不多的能给出较诱人的期权激励的靠谱公司。我想,假如我只考虑在北京工作的机会的话,小米应该会是一个很优先的选择。

我在9月25日 Hulu 公司来浙大宣讲的现场投了简历。可是大概由于投他们那边的人太多,直到10月25日才给我安排了面试。我曾经在 Hulu 公司实习过,对他们的印象不错,觉得他们那边技术水平挺好,也比较有国际化的视野,所以也将他们作为一个重要的备选。我的面试是通过 Skype 面的,连续免了两轮各一个小时,当时由于不知道哪边的网络状况不好以及他们那边邻居在装修很吵,交流很不顺畅。

结果是,Hulu 在我拿到 Google offer 的前一周的10月31号通知我被拒了,接到那个010开头的电话的时候一开始把他们说的 “Hulu” 听成 “Google” 了,还以为自己被 Google 拒了吓了一跳,不过幸好很快就识别出了 Hulu HR 的声音,没有闹笑话。因为实际上在此之前已经被自己在 Hulu 共事过的同事提醒过,说今年 Hulu 招人的名额很少,让我多投投其它公司,所以也对此被拒有了心理准备。

我想,可能一方面 Hulu 今年招人的标准的确比较高,另外一方面是我自己的能力或其它特征还是和 Hulu 不太匹配,所以造成了被拒的结果。IT 业的面试虽然比很多其它行业的面试已经靠谱多了,但还是要在短短的几个小时内完整地评价一个人的技术水平和综合能力。面试当天的发挥如何完全有可能左右面试官对一个人的印象,充满着不确定性。总的来说,我还是蛮幸运的,除了这一个以外,想拿到的 offer 都拿到了。

我很晚才做出去投 Google 的决定,准确来说是在10月12日他们浙大校招网申的最后一天才在网上填了报名表,差点就错过了。一直没有对 Google 特别上心的原因,可能是我内心中还是喜欢小公司多过大公司。不过后来去听了 Google 的宣讲就有点被洗脑了的感觉,觉得如果能去 Mountain View 工作的话那真的很不错。我还找了 Google 上海的肖东学长内推了一下,但由于找他找得太晚连笔试都没能免掉。还好笔试考的那些东西对我没有什么压力。

我的 Google 面试的前两轮是在10月18日上午,后两轮是在10月19日上午。我被考到的的基本上全是在纸上写些相当于 ACM 水题的算法题或数学题,还是很轻松的。只有第二轮的时候,被一位超级漂亮的美女程序员面试,感到前所未有的紧张,于是很简单的题目在纸上写得非常乱。个人感觉是,任何一位 ACM 搞得好的同学稍微习惯下在纸上写代码的话应该都是问题不大的。

最终我在11月9日接到了 Google 来电通知的 offer,地点是 Mountain View。在此之前我也说服了我父母支持我去国外工作。我没有当即就答应下来的唯一原因是,当时我只完成了 Jane Street 的两轮电面,且约好了11月13日的第三轮。

前面说过,我在10月6日在 Jane Street 的网站上投了简历。本来觉得一周左右就差不多会有答复了,最多也不应该超过两周。但等到两周过去以后还没有回音,就觉得自己肯定是简历被刷了,心里感叹着这个神秘的公司大概是对学历背景什么的有奇葩的要求。结果到了已经完全对它死心的时候,我在10月25日收到了第一轮电面的安排。他们每次安排电面都是让我提供一周内有空的时间段,然后他们再确定具体的时间。于是我分别在11月2日、11月7日、11月13日进行了三轮电面。

在11月9日通知我 offer 的时候,Google 的 HR 明确说明了只给我一周的时间考虑是否接受。我在当天就将这一情况通知了Jane Street 的 HR。由于我知道在 Jane Street 的三轮电面之后至少还会有三轮的现场面试,而且有可能需要到纽约去面试,所以当时实际上已经对在 Google 给的 deadline 之前走完 Jane Street 的面试流程不抱什么信心了。

让我没想到的是,在完成了 Jane Street 的第三轮电面之后,高效率的 HR 立刻给我订了第二天飞往香港的机票以及酒店,并安排车辆让我一下飞机就被接到公司进行面试。这里还有一个小插曲,就是我为什么会提前准备好一个未使用过的香港旅游签注。原因是我所在的 ACM 队本来今年是计划要去东京赛区比赛(后因为中日关系的原因没去成),为此去出入境管理局办护照的时候,想着为了以后能少跑一趟就顺便把港澳通行证也给办了。而港澳通行证是不给办空证的,也就是在办证的同时至少要办一个签注,于是我就有了一个一年单次有效的旅游签注。回想求职 Jane Street 的整个过程中,真的是有很多时候被幸运女神眷顾,最终侥幸成功真是谢天谢地。

我在11月14日上午乘坐 KA627 航班从杭州出发飞往香港。航班略有延误,我完成入境找到接我的司机已是接近下午三点了。一小时车程后,第一次乘坐右边驾驶的车的我于约三点四十到达了 Jane Street 在香港的办公室。面试安排在四点开始。

毫无疑问,Jane Street 的面试是我遇到的所有面试中难度最高、压力最大的。从我个人角度看,我遇到的 Google 的面试和这个比真的不算什么。除了中间吃晚饭时休息了一小时左右,不停歇的面试从下午四点一直持续到了晚上十一点多。除了香港的两位同事外,身处伦敦的两位同事以及远在纽约的技术负责人也通过大屏幕参与了面试。期间穿插进行了大量的 coding、各种算法题、各种数学智力题,也考察了模块设计、系统架构、以及 functional programming 里一些比较深入的话题。面到最后的时候我已经筋疲力尽得快要崩溃了,可还是要强撑着接受纽约的老大连珠炮似的发问直到最终证明我的代码 bug-free 为止。

我在面试次日也即11月15日下午拿到了 Jane Street 的 offer letter,薪酬的数字比 Google 给出的要高不少,同时工作地点可以在香港、纽约、伦敦之间任选。他们告诉我,我拿到的是 Jane Street 香港近两年来面试了无数人后发的唯一一个 offer,吓了我一跳;我要早知道这个估计就被吓得不敢投了。当天还很开心的见到了一直神交未曾谋面的 cuilw 学长以及好久不见的挚友 winsty。在16日中午飞回杭州的 KA620 航班上,我睡得很香甜。

接下来的事情就不复杂了,跟父母、老师、朋友等沟通过后,我最终做出了放弃 Google 总部的 offer、选择 Jane Street 香港的决定。做出这样选择的理由,我在私下里跟很多朋友谈过。但由于不想让这点个人见解传播得太广,就不在这里公开了。如果你跟我足够熟的话,私下问我我会告诉你的。或者你就当我是选择了给钱给的多且离家近的就好了。

需要说明的是,我接受的职位虽然 title 里有 quant 的字样,但实际上还是一个要天天 coding 的工作,至于 quantitative research 是我目前一窍不通需要逐渐学着做的事情。Jane Street 公司是一个高度精英化的团队,里面我遇到的所有人都非常非常聪明,他们在做的事情也非常有意思非常有挑战。能在每天的工作中用到 functional programming 对我来说是非常幸福的事情。我很高兴也很幸运能够获得这样一个职位,相信这会是我的职业生涯的一个完美的起点。

如果你对我找工作的过程有任何想进一步了解的,都可以留言或用其它方式联系我。我这个寒假会去香港实习,如果你想进一步了解 Jane Street 这家公司的情况,不妨等2013年3月1日也即我实习结束的日子之后再联系我。
————————————————

转载自浙大网站 http://zuaa.zju.edu.cn/aa_home/newsDetail?id=129&nid=4824

把梦想“码”进现实 
——访计算机学院2013届校友崔添翼

发布:2014-03-20 11:12:03  作者:王晗滢  点击:6929

2013年,浙大计算机学院2013届本科毕业生崔添翼同学被Jane Street Capital香港分公司录取为Assistant QuantitativeResearcher,年薪逾百万元,一时间受到学校师生的极大关注,成为众多在校学子心目中的“牛人”。2014年3月14日,已经工作半年有余的崔添翼重回母校浙大,为自己的学弟学妹们奉献了一场精彩的讲座,趁此机会我们对这位备受瞩目的幸运儿进行了简短的采访,来了解下他在经历半年的历练之后又有怎样的蜕变。

整个采访过程中,崔添翼校友的叙述都不紧不慢、有条不紊,他坦言,相比在校时候的自己,现在的他更加地成熟,心态也更沉稳。进入这样一所国际性的知名企业,无疑,无论是在工作环境还是在技术要求上都是极富挑战性的。然而,崔校友似乎对应付这些迎面而来的挑战都表现得游刃有余。当初仅花几个月的时间从零开始学习了OCaml——一种他“早就听说过但几乎没有了解过的语言”,并顺利通过Jane StreetCapital的严格面试,崔校友就表现出对计算机语言的天赋异禀,而“语言学会了以后,在很多方面都不存在障碍”,因此,他认为当前他在“技术上还算是满足公司的需求,技术上不存在太大的问题”,而他较为关注的,是怎样理顺工作中各个项目间的关系,区分主次缓急,以更好更快地去完成目标,发挥自己的能力设计出更可靠的软件。不过他也谦虚地说,现在所用的语言有很多先进之处,是需要去不断地学习的,同事们在工作中给了他很多的帮助,彼此之间通过各种方式讨论技术问题,也使自己有了更多的成长。

谈到对计算机专业同学学习以及工作面试的建议,我们这位“传说一样”的学长似乎更像是有备而来。他建议同学们在学习上一方面不要太拘泥于课本上的知识,自己要广泛地涉猎计算机软件方面的课外知识,比如说现在行内流行的、尖端的,以及业界、学术界频繁地在谈论的,从而不断地提高自己在计算机方面的知识面。另一方面,对于计算机科学、软件学习里面一些比较基础的东西也要花一定地精力去深入地钻研,因为作为就业来说,企业还是比较看重程序员写出的代码的可靠性。作为Jane StreetCapital香港分公司的一名正式职员,崔添翼校友有时也会负责新人的面试,就自己的面试经验来说,他认为现在很多学生的专业知识水平都是很强的,但是英语交流能力却偏弱,缺少与外国人交流的经验,本来技术是足够满足公司要求的,却没有办法在这个环境中跟大家有效地交流,遇到这样的情况,很多公司也只能选择割爱。所以他建议那些希望入职于国际性企业的同学,要在平时的学习中多关注自己的外语能力,大胆地去交流。

在很多人看来,崔添翼校友的成功无疑是幸运的,但是他在成功背后所付出的努力,也是不容忽视的。“一切成功都源自积累”,崔校友曾经在过去的一次受访中这样评价自己。从初中因机器人竞赛开始接触计算机编程,到高中时凭借全国青少年信息学奥林匹克竞赛铜牌获得保送资格,并经过保送生考试进入浙大,之后在校期间他代表浙江大学先后六次斩获ACM国际大学生程序设计竞赛亚洲分区赛金牌。就是这么多的比赛和学习,让他能够在短时间内写出有用的代码,而这也是大多数企业面试时所看重的。最终,这么多的“积累”引领他走入了自己的梦想,让我们祝福这位对计算机充满热情的年轻校友在自己的梦想中越飞越高、越来越好。

【转载】转计算机大牛-崔添翼相关推荐

  1. 转计算机大牛-崔添翼

    首先说明一下,我(崔添翼)本来是浙大计算机2008级的学生,后来因为无法按时毕业延期了一年,于是就变成了2013年毕业,所以今年才开始找工作. 然后剧透一下,我最终选择的未来雇主是  Jane   S ...

  2. 【转】《背包九讲》--崔添翼大神

    背包九讲 目录 第一讲 01背包问题 第二讲 完全背包问题 第三讲 多重背包问题 第四讲 混合三种背包问题 第五讲 二维费用的背包问题 第六讲 分组的背包问题 第七讲 有依赖的背包问题 第八讲 泛化物 ...

  3. 背包三讲(感谢崔添翼 (Tianyi Cui)大佬的无私奉献)

    背包问题目录 01背包问题 完全背包问题 多重背包 好了,那么讲解到此结束- 01背包问题 最经典的动态规划问题,没有之一 题目描述 你有一个容量为V的背包,你面前有N件物品,第i件物品的价值为 Wi ...

  4. 感受一下大佬的气场: 背包九讲的作者: 崔添翼

    http://tianyicui.com/resume.html http://cuitianyi.com/

  5. 史上首位!45岁计算机大牛蒋濛教授当选普渡大学校长!

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入-> CV 微信技术交流群 转载自:新智元 [导读]普渡大学史上首位华裔校长诞生!45岁计算机 ...

  6. “添翼杯”人工智能创新应用大赛之垃圾分类

    前言: 前一段时间参加了一个关于"添翼杯"人工智能创新应用大赛,题目要求是给你一张图像要你预测这个张图像属于可回收垃圾的概率,本质也就是一个图像二分类问题.简单记录一下比赛之中的经 ...

  7. 图像分类竞赛——添翼杯人工智能应用创新大赛——rank4解决方案

    添翼杯人工智能应用创新大赛--环保赛道 题目分析: 数据分布: 正.负样本比基本一致 图像长宽比分布在1-1.5 成绩: 初赛a榜:0.97989318 (排名:10) 初赛b榜:0.97814671 ...

  8. 史上首次,45岁计算机大牛蒋濛当选普渡大学校长!

    作者丨编辑部 来源丨新智元 [导读]普渡大学史上首位华裔校长诞生!45岁计算机大牛蒋濛当选,本硕博全藤校,产学研大满贯的他,此前曾屡拒其他名校. 刚刚,年仅45岁的华裔科学家蒋濛被任命为美国普渡大学第 ...

  9. 【转载】计算机科研路线规划及投稿方法

    根据多年的经验,以下计算机EI源刊可以说是百发百中(只要有工作量,并不需要什么创新性均可录用): Journal of Computers (JCP, ISSN 1796-203X), Journal ...

最新文章

  1. 【开发环境】Ubuntu 中使用 VSCode 开发 C/C++ ④ ( 创建 tasks.json 编译器构建配置文件 | tasks.json 编译器构建配置文件分析 )
  2. 代码审计_strcmp比较字符串
  3. 路由怎么定位到当前页面的组件_Angular 重载当前路由
  4. 使用饼图_【Excel饼图使用系列】之使用饼图的注意事项及几个小技巧
  5. pickle库的使用详解
  6. 如何改变Idea的背景
  7. 模型驱动 ModelDriven
  8. 华为P30现身华为新加坡官网:坐实水滴屏
  9. 3d效果图设计师接私单的渠道介绍和避坑指南
  10. SAP 录屏 BDC
  11. [高等数学]解析一道关于函数极限的概念考察题(001)
  12. 倍福beckhoff详细知识库展示
  13. python3字符串格式化
  14. windows主机加固(2)
  15. 2018天池比赛首战落幕
  16. macOS安装brew和使用brew
  17. java e_java中E表示什么意思
  18. mysql初始数据库出错_安装MySQL提示initialize database(初始化数据库)错误解决方法...
  19. python 笔记6:格式化时间缩写
  20. BS架构和CS架构的比对

热门文章

  1. 回溯法求解旅行商问题
  2. java工作描述_java工程师工作描述状况是干什么的?需要身怀哪些技能呢?
  3. 禁忌搜索(TS——Tabu Search)与邻域搜索基础知识
  4. vue生成本地html模板文件,vue文件快速生成页面模板
  5. Python基础学习——面向对象编程(第一讲:面向对象概述、面向对象三个基本特征(封装性、继承性、多态性)、类和对象(定义类、创建和使用对象、实例变量、类变量、构造方法、实例方法、类方法、静态方法))
  6. 模型5.4——对数据进行正态分布检验
  7. Arduino-ESP8266 HC-SR04 用云平台读取雷达测距数据
  8. 每日一题【49】导数-放缩法处理恒成立问题
  9. 252体现组间差异OTU模块的微生物网络图
  10. 2款好用的国内翻译软件,准确率超高!