Robinhood DS面试:世界是个巨大的草台班子
Robinhood DS Interview Experience
Robinhood DS面试:世界是个巨大的草台班子
真的绷不住了,今天必须来吐槽一下我前段时间面的Robinhood的Data Scientist岗,感觉整个过程突出一个"随心所欲",让我深刻体会到什么叫世界是个巨大的草台班子。说实话,之前对Robinhood的滤镜还是挺厚的,毕竟是明星Fintech公司,产品也做得风生水起,用户量蹭蹭往上涨。结果一套面试流程下来,我的滤镜碎了一地,感觉自己就像个被耍的猴。
一开始的HR call还算正常,小哥态度挺好,问了问基本情况和项目经历,介绍了一下公司文化和这个岗位的职责,然后很快就约了第一轮Technical Round。我当时还挺开心,觉得效率真高,这公司不错啊。结果,好戏从这里才刚刚开始。
第一轮Technical Round是考SQL和Python。用的平台是HackerRank,本来这也没啥,我之前也用过很多次了。结果那天的题目真的让我大开眼界。一道SQL题,数据表结构给得乱七八糟,字段名全是缩写,什么t1, t2, col_a, col_b,连个data dictionary都没有,全靠猜。题目描述也写得云里雾里,我硬着头皮写,还得不停地跟面试官确认"这个字段是不是代表DAU?""那个表是不是用户的交易记录?""这里的timestamp是UTC还是local time?"。面试官感觉也有点不耐烦,回了我一句"You can make your own assumptions"。行吧,我忍,毕竟是面试,我得表现出我的problem-solving能力。
Python题考的是一个简单的Data Structure相关的算法,大概是LeetCode Easy到Medium的难度。我当时心想,这还不简单,三下五除二就写完了。结果run test cases的时候,平台一直报错,显示runtime error。我检查了半天代码,本地IDE跑得好好的,一点问题没有。我当时就懵了,心想这是什么情况。最后面试官小哥自己也搞不定,尴尬地说"It might be a platform issue, let's move on"。我心里一万个"...",这属于是有效面试时间被白白浪费了。而且这个问题到底是平台的问题还是我代码的问题,我到现在也不知道,心里一直有个疙瘩。
好不容易进了下一轮,是个Case Study,也是我这次面试最想吐槽的地方。面试官是个看起来很资深的Senior DS,一上来就给我一个极其开放的问题:"How would you improve our user engagement?"。然后就没有然后了。没有具体的context,没有说明现有的Funnel是什么样的,也没有定义清楚"engagement"这个指标到底看重什么,是看DAU/MAU ratio,还是看用户的平均session时长,还是看交易频次?我当时就有点懵,心想这咋分析,巧妇难为无米之炊啊。
我尝试着用了AARRR框架,想从Activation和Retention两个角度去切入,然后提出一些假设,比如我们可以通过AB Test来验证一些新的feature对CTR或者CVR的影响。我还提到了可以分析一下用户的cohort retention curve,看看是哪个阶段的用户流失最严重,然后针对性地做一些intervention。结果我每提出一个点,面试官就一副"就这?"的表情,然后说"That's too generic"。我当时真的有点火大,你不给具体信息,我怎么可能给你一个不generic的方案?
我追问他"Could you please provide more details on the current user journey or any specific pain points you've identified?"。他直接回我"That's what I expect you to find out"。我真的会谢,我又不是你肚子里的蛔虫,我怎么知道你们内部的NPS报告写了啥,你们的用户feedback是什么样的?整个Case Study的过程,感觉就像我在跟空气斗智斗勇,面试官全程除了否定我,就没给过任何有价值的输入。踩过坑的人都知道,这种面试真的纯属浪费时间,考的不是你的能力,考的是你能不能读心术。
最后一轮是Behavioral Question,我以为总算能正常点了。面试官是个Hiring Manager,看起来人模人样的,西装革履,背景是个很高级的办公室。我准备了N个用STAR框架包装得非常完美的项目经历,结果他一个都没深入问。全程都在问一些很虚无缥缈的问题,比如"What's your five-year career plan?""How do you handle stress?""What motivates you?"。我当然是标准答案一套接一套地输出,什么我希望成为一个能够独当一面的Data Scientist,什么我通过运动和冥想来缓解压力,什么我对用数据驱动业务增长充满热情。但感觉他根本没在听,眼神一直在飘,感觉心思完全不在面试上。中间他还接了个电话,虽然只说了几句就挂了,但这个行为本身就非常不专业。懂的都懂,这种面试官大概率只是在完成自己的KPI而已,根本没想认真招人。
整个面试体验下来,我最大的感受就是,很多公司的面试流程真的非常不完善,充满了随机性和不确定性。哪怕是Robinhood这种级别的公司,估值几百亿美金,你遇到的面试官是什么水平,你的面试体验就会是什么样。有时候面试挂了,真的不一定是你能力不行,很可能只是你运气不好,遇到了一个不专业的面试官,或者一个本身就有问题的面试流程。
所以,大家在求职过程中,真的没必要因为一两次失败的面试就自我怀疑。New Grad申请本来就卷,Full-time的岗位更是神仙打架。我们要做的,就是从每一次经历中吸取教训,不断完善自己的知识体系和面试技巧。比如这次,虽然体验很差,但我也意识到自己在面对极其开放和模糊的Case Study时,还是有点不知所措,以后需要加强这方面的训练,多准备一些clarifying questions。同时,也要放平心态,把面试看成一个双向选择的过程。一个不尊重候选人的公司,就算给了offer,也未必是个好的选择。说不定进去之后,发现整个团队都是草台班子,那才是真的坑。所以,大家就当是积累经验,攒人品了,平常心对待就好。这次的失败,是为了下次更好的相遇嘛。
对了,还想跟大家分享一下我从这次面试中学到的一些教训。首先,无论面试官给的题目多么模糊,一定要主动去问 clarifying questions。不要害怕问问题会显得你不专业,实际上这正是面试官想看到的。一个好的Data Scientist,在拿到一个业务问题的时候,首先应该做的就是明确问题的边界和约束条件,而不是埋头就干。
其次,在准备Case Study的时候,一定要多练习各种业务场景。像用户增长、留存率优化、产品推荐这些都是高频考点。建议大家多看看一些大厂的tech blog,了解一下他们是怎么用数据驱动业务决策的。这样在面试的时候,你才能有足够的素材来支撑你的分析。
还有,networking真的很重要。如果我当时能认识一个在Robinhood工作的人,提前了解一下他们的面试风格,可能就不会这么被动了。所以大家在投递之前,一定要多利用LinkedIn,多和目标公司的员工聊一聊,了解一下内部的情况。这不仅能帮你更好地准备面试,还能让你对这个公司有一个更全面的认识。
最后,心态真的很重要。求职季压力很大,被拒是常有的事。但不要因为一次不好的面试体验就否定自己。记住,面试是一个双向选择的过程,你在选择公司,公司也在选择你。一个让你感觉不舒服的面试流程,往往也能反映出这个公司的一些问题。所以,就当是攻略了一个不适合自己的选项,继续前进就好了。加油!
#美国求职 #留学生找工作 #DataScience #面试 #Robinhood #北美求职 #DS面试 #数据科学 #面经 #求职吐槽
