我有几个好基友，大家一起留学，但因为专业不同，最终也分别选择了不同的职业方向。有的在耶鲁做教授，有的在华尔街做quant，有的在amazon做data scientist，有的在pinterest做machine learning engineer。这周末，我做了个简短的采访，主要问了两个问题，第一是能不能用给外行的浅显易懂的语言解释一下你的工作内容是干什么的，第二是你们领域面试的标准是什么样的？感觉很有启发，原来如此不相同的领域之间有这么多共通的地方，当然也有很多不同。我把采访的提纲放在下面，希望能给不同领域的人以启发。那些还在纠结迷茫未来职业方向的同学也许也可以从中获益。此外，如果你是其他领域的有经验想分享，也欢迎投稿鸭！

（注意下面的title仅仅是为了说明职位的种类，不区分级别，比如助理教授vs正教授，VP vs Director等等）

## 大奔，教授 @ 耶鲁

* 工作内容
    * 先进材料的性质受电子结构决定。研究材料属性的微观机制，从而指导材料科学的发展。
    * 研究方向主要是超导体和磁体，尤其是单原子层材料，因为这些材料可以做到高密度堆积，同时可以受益于迅猛发展的半导体技术。
    * 研究方法主要是用高能光子（X射线，深紫外光）打进材料里，分析打出来的电子的方向和能量，从而反推电子在材料里面的性质。比如探索铜氧化物高温超导的原理，用非接触的方式改变磁体材料的磁性。
* [面试标准](/behavior-questions.html)
    * 研究生/博士生：本科教育的趋势是越来越专业化，未必是好事，但在面试中有所体现。花5分钟讲一下以前做过的一个项目，主要看能不能讲清楚各种为什么，项目本身是否相关并不重要。5分钟追问项目中的细节，探究知识深度和motivation。5分钟讨论为什么申请我们program。
    * Postdoc：希望寻找不同expertise的postdoc，大家一起成长。对scientific mission是否认同。

## Ceiping，Data Scientist @ Amazon

* 工作内容
    * 亚麻供应链的优化。预测各个商品会卖多少，从而指导亚麻进多少货，从哪个卖家进，放在哪里。具体地说做A/B Testing平台。
    * A/B Testing是说有个策略需要验证是否有效，在同一时间对所有用户营造一个平行宇宙，这两个平行宇宙中所有东西都是一样的，只有这个待测试的策略不一样。这样控制变量能得到causal relationship。
    * 工作内容其实40%时间在向不懂统计的人解释为什么他们的实验没有得到预期的效果，user education。
    * 实际工作在科学上未必严谨，因为系统很复杂，有很多现实局限。
* 面试标准
    * 非常基本的问题，比如扔个色子，平均要多少次会看到6。
    * Behavior questions。亚麻14条军规。Behavior question可以挖坑。比如经典问题你有个项目要miss deadline了怎么办。可以追问那你现实中后来怎么办了，是extend deadline了还是加班干完了。这样能看出来一些。
    * 情商。Deliver results。不知道就说不知道。

## KF，Trading Quant @ 投行

* 工作内容
    * 卖方Quant. 介于tech和business中间。目标：如果需要的话，也是可以出门独立trading的。
    * 搞交易策略。用数学和代码算risk，develop model。有些类型的quant做platform和策略，传统类quant更多接触derivative model本身。
    * Perf review标准和盈亏相关度比sales&trading要小，主要看ship了多少产品。
* 面试标准
    * Sales & Trading：背景很多样，甚至有文科。主要看对市场的兴趣，需要有基础的数学知识。
    * Strategist: 同时懂编程和数学。
    * Tech：深入的编程

## 鸭哥，Software Engineer @ Pinterest

* 工作内容
    * 改进机器学习系统。类似教小孩认苹果和梨子，给他看几张照片，这个是苹果，那个是梨子。里面有很多可能的问题需要加以识别和避免，比如：
        * 测量：小孩做得到底有多好。需要人工标注，怎么科学经济地标注。
        * 数据：给小孩看两张照片就叫他去认，或者只给小孩看白天鹅的照片让他去认黑天鹅，都需要避免。
        * Feature：叫小孩去认真苹果和塑料假苹果，但又不给摸或者称重，需要避免。
        * 目标函数：犯错了就要惩罚。犯什么错惩罚多少有讲究。就是怎么打孩子。
    * 具体工作内容就是认领一个OKR，比如search relevance，然后去改进系统。需要关注：怎么测量（什么样的结果叫relevant），用什么数据（用简单卷子难卷子），用什么指标（答对一半怎么算法），定什么目标，有什么思路，有什么资源，有什么依赖。
* 面试标准
    * Junior dev：面试一般是写码。虽然实际工作比学校里学的简单很多（比如我从来没用过继承派生红黑树），但还是要看学校里的track record。刷题是基本要求，题都懒得刷就没办要聊下去了。面试区分度不大。加分项：思路清楚，讲清楚思考脉络，自顶向下逐步求精；go beyond expectation，问是不是简要答为什么；用功勤奋，但这个面试很难看出来。
    * Senior dev：[design标准](/system-design-interview.html)，给一个笼统的问题去分析。希望看到：思路的系统性（能想到这一点）；知识的深度（为什么这么做）；经验（我不这么做是因为有这个坑）；知识的更新程度（我读过这个去年的paper/blog）；能吹，讲话精准沟通顺畅。

<script async data-uid="49b08a3e73" src="https://yage-ai.kit.com/49b08a3e73/index.js"></script>
