Hello,我是Bella,去年毕业于杜克大学MQM项目,成功在美国上岸Analytics岗。今天借这个机会和大家分享一下我之前找工作的经验,希望多少可以给大家做个参考,也帮助自己回顾一下我的2021。
首先,我想说的是请坚定你的方向和决心,无论是要回国还是留美。
如果要回国就全心全意地找国内工作,如果要待美国就心无旁骛。对于大多数人来讲,在美国像我这样没有背景、没有人脉想找到工作,就要靠自己努力。你需要把有限的时间精力用在投简历、准备面试、social和喝鸡汤上面,不要总是心猿意马。我自诩是一个很水、不聪明又没有自制力的人,但好在可能还算会抓重点(应付笔试面试),所以既然我都找到了工作,相信大家都可以的。
在MS阶段,我选择了去Duke读MQM,主要有两方面的原因。一方面,这是与我想从事工作的对口专业,在工具层面MQM基本涵盖了最核心的三种工具:SQL,R/Python以及Tableau。如果要找一份BA工作的话,MQM可以说是足够的。
另一方面,它还提供了相当多的Soft skill course,这类课程大多旨在培养Soft Skills,如communication和team working,应该说这也是MQM毕业生与其他BA毕业生相比的一个相对优势。
MQM的大部分工作都是小组作业,这其实模拟了比较真实工作的状态:不同人会有各自的特点,会有人摸鱼,会有分歧也会有矛盾。对于我来说,这种Team-based learning最大的好处是可以keep speaking English,同时也为behavior question提供了一定的素材。MQM还投入了大量的课程来有意识地培养Communication Skill, 比如两门Business Communication, 包括一门Negotiation和一门Critical Thinking,会着重培养Presentation Skills,不管是简单的Elevator Speech还是复杂的Team Presentation。
在美国找工作除了要认真学好学校授课的内容,还要努力投简历,我所有的面试都是通过海投得来的。起初,我会在LinkedIn上各种networking,拿到的内推有十几个,但是最终一个面试都没有……找工作的那个学期只有两门课,我基本每天从上午9点投到下午4点,晚上才写作业focus学校的课程,一周能投七八十个,整个找工季差不多都是这个节奏。
在拿到面试之后要好好准备,可以在网上搜索面经,通过面经高效率准备,一定要认真准备每一个面试,因为面的多了你会发现大同小异,我面到后面基本上电面不准备都会过。
我准备的方向主要是analytics track,准备的方面也是依据这个track的要求进行的,分为以下几个方面:data challenge、behavior question、统计知识、project。
以下是我总结的一些面试tips。
01 Data Challenge
前期准备可以通过看别人的经验贴,翻以前ML project相关作业的report,和朋友请教经验等等方式,了解这个东西大体应该怎么搞。
常用的code可以提前准备好,例如LaTeX用于写报告的模板,写报告常用的语句,EDA 相关的code,常用模型的code。Cheat sheet要时常更新自己的版本,放在手边待用,想好modeling的大体思路,先检查data,需要画什么图,选定evaluation metric,train一到两个model,检查结果并写结论。
在真正做的时候要注意知道如何解释你的选择,比如为什么数据这么清理,为什么feature这么搞,为什么用model A,而不是model B,为什么用这个metric,为什么做这个假设。不是特别常见的model可以简单解释下原理,毕竟看report的人也不可能什么都懂。
如果直接调别人一个现成的包,用了不太常见的一个model,reference要按规矩写好。我的习惯是会加一个future work,说一下如果时间充足,你还打算做什么,以表示对这个data challenge的问题考虑充分了。最后Summary/Conclusion是一定要写的,即通过你的模型,你发现了什么。最好能给出 actionable insights,因为公司出data challenge是想考察你解决问题的能力,而不是调包的能力。
02 Behavior Question
这个部分是一个容易被忽视的部分,因为如果你连自己都聊不清楚,其实会让面试官,尤其是hiring manager对敢不敢用你挺犹豫的。我在这方面绝大多数的时候表现的还不错,方法就是找几个大的topic,每个topic下面准备好故事,把故事写出来,不断地思考细节,思考怎么少说废话,怎么条理清楚的讲出来。
我准备的大topic有以下几个:
(1) Leadership and how to influence others
(2) A hard challenge faced and How to solve it
(3) A true failure and how to turn it around
(4) A proud success made with team together.
这里重中之重的关键是少说废话,有一个behavior很好的模板叫S(Situation)T(Task)A(Action)R(Result),可以用来frame几乎所有的behavioral和culture fit的素材。在准备的时候一定要强调你做了什么,如果你能够量化结果的话那就更棒了。
03 统计
强推introduction of statistical learning这本书。因为自己菜,高端书都看不下去。我感觉对于大部人来说,能让别人理解你在做什么就足够了。它没有ESL里天书般的理论,我看了3遍。第一遍是学校里上课看的,第二遍自己看的,最重要的第三遍边看边总结。个人觉得英语非母语的我们,面试中其实真的挺难把一个技术问题讲清楚。这个书的优势就体现出来了,它用通俗易懂的语言讲清楚了每个算法,很多段落是直接可以拿来回答面试问题的。
其次,对于每个算法要了解它的背景,object function参数对结果有什么影响,应用条件和优缺点。我的做法是开一个doc,看书的时候思考这些段落想说明什么问题,如果是面试考察这个内容会怎么问,然后记录下这个问题,并根据书上那几段内容总结成回答。
如果想让自己的答案更丰满,可以Google这个问题看看别人是怎么说的。这一步很重要,一定要形成自己表述。网上有太多ML相关的资源可以帮助查漏补缺。我比较暴力直接,找几个DS interview questions lists一个个的过,总结出自己的答案。很多问题回答起来可能比较简单,但自己可以多深入一些,比如经典的type1,type2问题,就可以顺带把confusion matrix,AUC一道总结下。
Datacamp也是一个很重要的资源,里面有一些关于统计分布,experimentation方面的课程,我是从那些课程里第一次系统地学习并练习了泊松分布,指数部分,permutation和bootstrap的。
Analytics track找工方向里A/B testing也是考察的重点,我是在Udacity上了基础课,同样要注意总结可能的问题和自己的答案,define metrics,sample size,power,p-value之类的。Udacity上的AB testing的课是入门的利器,第一次上那门课的时候仿佛打开了一扇新世界的大门。但是其实那门课很多细节是没有讲清楚的(至少我自己没听明白),比如没有涉及t test,没有讲清楚variability,bootstrap,A-A test的意义,怎么在实验设计阶段应对learning effect,network effect,和其他一些corner case。所以我觉得这门课入门很好,但是还要多从其他渠道学习相关知识。
04 Project
个人觉得这里很重要的是得有一个框架,让人能很清楚的了解你的逻辑。对于resume上的project,需要理清:
1)这是一个什么样的问题
2)为解决这个问题,模型的目标是什么
3)数据长什么样,有什么特点
4)考虑什么模型
5)结果如何
6)有什么实际意义。
然后在这个框架下细分每一步,发现了什么,会导致什么问题,怎么解决。比如EDA时,发现数据imbalanced,说明imbalanced会怎么样,考虑oversampling或其他解决措施,总之要让人知道你做每一步都是有原因的。像做presentation一样尽可能详细的把这些说明介绍写下来,之后就可以根据面试的长短有选择性的介绍,也可以用作onsite时的presentation。
差不多就是这些了,一身缺点没有背景的普通人和她很普通的经历希望可以鼓舞启发到屏幕前不普通的你。只要心还透明就能折射希望,希望疫情早日退散,祝福所有人2022顺利!