去年秋天在 Bloomberg 最终 panel 后被拒了。recruiter 给了那句“我们选择了经验更匹配的人”。我花了几周才消化下来,这段时间一直在想自己到底哪里搞砸了。
我面的是一个 data engineering 角色,偏基础设施,C++ 和 Python 环境。下面是我很诚实的复盘:我哪里没做好。
1. 我没针对 systems-at-scale 的细节做准备。 Bloomberg 的数据基础设施要以极低延迟处理海量的逐笔市场数据。我回答 system design 题时还是按典型 web-app 的规模在讲。我觉得这种不匹配很明显。我应该专门学习金融数据基础设施的问题:时序数据库、低延迟 pub/sub、顺序保证。我都一带而过了。
2. Behavioral 准备得太泛。 我有一些还行的 STAR 故事,但都是泛泛的 tech 故事。我没有一个故事是讲在 deadline 压力下维护会影响外部客户的生产系统。Bloomberg 对 outage 是很在意的。他们的品牌就是 uptime 和数据准确性。我应该准备这种“强问责”的故事。
3. 我问的问题不对。 我问了“what does a typical day look like(典型的一天是什么样的)”(你的一天通常什么样)和“how do you measure success for this role.(你们如何衡量这个岗位的成功)”(这个岗位怎么衡量成功)太无聊了。回头看我应该问他们具体在还哪些技术债、团队被招来是要解决什么问题。这样能体现你在意的是工作本身,不只是职位。
4. 我没表现出他们期待的那种自信。 Bloomberg 的面试官会 push back。他们会说“are you sure about that”然后等着。我当场就慌了。你得敢于坚持自己的判断,或者把修正讲清楚,而不是因为对方挑眉就直接怂了。
希望能帮到其他人。被拒真的挺痛,但这次流程让我学到的,比一些我通过的面试还多。