- 大家好,我是FinTech社区创始人Lucy。 FinTech社区主要从事金融科技/量化投资/区块链招聘的社区
- 目前我们与电鸭合作,有大量区块链相关职位的招聘,有兴趣的可以关注我们的招聘帖子:https://eleduck.com/posts/pqfJRb
有招聘需求的企业也能够通过邮箱 dianya@fintechgl.com 联系我们哟!
全球顶级高频交易公司中,有一家公司低调、神秘、独特,它就是Jump Trading。过去 15 年,这家公司的高频交易员队伍在持续壮大。去年,Jump 成功跻身芝加哥商品交易所顶级高频交易公司之列,年度营收超 5 亿美元。今天这篇文章就为大家带来Jump Trading的面经!
Jump Trading 大致面试流程
▍电话面试
Jump Trading在招聘Quant SDE/DS/Researcher候选人的时候,都会进行coding面试,通常给一到两个小时做几个问题。
一般来讲会先有一次电话面试,可能是招聘组组长直接打电话过来。在这种情况下对方一般介绍小组,然后随便聊聊天,如果对方对候选人感兴趣的话,后续就会约onsite; 但如果对方电话面试时候是个组员,那就可能会问一些更深入的更实际的数学问题,统计问题,编程问题,概率问题,智力问题。
▍现场面试
如果可以的话,会有现场面试。一般从上午9点到下午5点面试,会在午餐时间进行不停歇的面试。
每个人的面试通常是先聊聊简历,几个快速提问,然后是一两个coding问题。或者是system design, networking类似的东西。问技术问题会逐步层,直到问到你不懂的地方,所以他也大致了解你的水平界限。
下面就为大家介绍一些Jump Trading公司具体的常见面试题目。
1 工程类问题
软件开发生命周期模型都有哪些?
你的项目涉及到的有哪些?
”
▍面试要点
作为一名Quant,coding技能是必备的,无论是科班出身或半路出家的SDE来讲,软件开发生命周期模型(SDLC)是每一次技术面试都要准备的经典题目。对于这个问题,面试官想知道的是你过去用过哪些模型。
虽然这个问题并没有正确或错误的答案,面试官期待的是你可以通过回顾自己过去的经验,来展示你对不同模型(如瀑布模型或敏捷模型)的了解。
▍参考回答
▍Engineering, Campus Hire/ Intern
我在校学习软件工程和实习过程中,瀑布模型是常用到的。在这个模型中,开发过程的每个阶段都以一组顺序发生,并且很容易管理使用这个模型的项目。
但随着时间的推移,随着我所领导的开发项目变得越来越复杂,我开始接触螺旋模型。这种模式允许终端用户在开发早期和经常在开发过程中提供反馈,帮助我们为客户打造更定制化的产品。
▍参考回答
▍Engineering, Experienced Hire
在我目前的职位上,我的部门在开发生命周期中使用敏捷模型。由于我们的产品是根据客户的需求量身定制的,所以我们在开发过程中很早就得到了一个可工作的产品,然后我会与客户携手并进,对软件进行微调。这是一种非常有效的模式,为我们的软件在客户中建立了良好的声誉。
我也很熟悉迭代模型,它与敏捷模型有相似的优点。如果我被Jump Trading雇佣,你能详述一下你在软件开发生命周期中使用的模型吗?
2 交易类问题
“
作为一名交易员,
你觉得什么交易工具对你最有用?
”
▍面试要点
作为你面试Jump Trading交易员职位的一部分,你的面试官会希望了解你在研究市场和其他资产的方法上非常有智慧,这样他们的客户就可以从你的交易方法中获得最大的利益。
当你回答这个问题的时候,尽可能多地谈论你获取最适合你客户的有见地的信息的方法。一定要让面试官在离开的时候知道你了解并喜欢《华尔街日报》,就像你喜欢工作中使用的各种网站和软件一样。
▍参考回答
我很自豪地说,我的职业是我的激情所在,这在我年轻时的高中经济课上就开始了。从那一年起,我订阅了**《华尔街日报》、《金钱杂志》和《巴伦周刊》**等出版物。所有这些出版物至今仍帮助我在交易行业保持领先地位。
我也毫不犹豫地使用一些比较有名的在线和软件程序。Elite Trader和Daily Stocks是我每天查看新行业新闻的好网站。同时,我也非常熟练地使用Matlab/Python/CPP/ML技术来分析市场数据,用于买卖股票。
3 金融/公司运营类问题
“
你如何定义一个公司的运营资本
以及它的衡量方法是什么?
”
▍面试要点
作为技术与金融交叉的学科,在掌握技术的同时能够多了解金融知识和公司管理知识也是极大的加分项,比如债务、期权、经营等。如果你不擅长回答这类问题,那你可以按照自己的想法去回答,或直接坦白的告诉面试官你的长处在于技术本身!
作为一名Jump Trading的数据分析师,你将被要求帮助衡量组织的营运资本。在你提供给面试官的定义中,确保你至少告诉了他们流动资产减去流动负债的基本定义。然后,谈谈你在过去的工作中使用这种方法做出关键决定的真实情况。这会让你的面试官确信你有能力在工作中使用这种测量方法。
▍参考回答
在我目前的角色中,我们衡量营运资本,以评估一家公司快速偿还债务的能力。在与从零售到公共部门的许多行业合作时,根据计算确定公司的能力可能因行业而有很大差异。为了计算,公司的一系列项目被用来计算他们的流动资产减去流动负债。在零售行业,业务的季节性增长产生了对更高营运资金的需求。如果我被聘用担任这个职位,我对每个行业的具体需求都非常了解。
▍参考回答
从广义上讲,营运资本是指一个组织的流动资产减去其流动负债。在我目前的工作中,我使用了一种更侧重于计算的方法,即增加应收账款加库存,然后减去应付账款。更有针对性的计算可以更好地了解组织的总营运资本,从而更好地了解组织的健康状况和效率,并预测未来。
4 更多的技术面问题(面向算法/工程)
-
什么是进程?进程与线程有何区别?进程锁有哪几类?
-
在排序列表中查找特定值。
-
介绍一下你参与过的最大的项目,技术栈是什么,你的工作是什么?
-
给定一个矩阵,元素为整形,大于等于零的数字表示经过该点需要消耗的金币数量,小于零的点表示该点不可通行,左上角到右下角,最省钱的路线是哪条?
-
反转链表。
-
给定一个char buffer[4096],实现一个malloc。
-
图的后序遍历非递归实现。
-
有一个游戏,选手双方可以轮流让棋盘上的棋子向前走1步或2步。假设使棋子走到第15步的玩家获胜。是否存在一种策略,让一方玩家永远获胜,如果是这样,哪一方玩家可以使用它?
-
写一个支持1000000个数字的高效乘法,可以使用SSE/AVX尽可能优化。
-
取一个整数,对其数字的平方和,重复结果。有些数会收敛到1,有些会收敛到89。编写一个算法,给出收敛于89的从1到1000000的数的计数。
5 面试准备与建议
上面这张图的数据展示了Jump Trading 候选人对该公司的面试评价,可见难度基本处于中等,所以面试不用怕。但除了针对面试抓住重点进行突击以外,长期来讲可以多做积累让自己一直保持有竞争力的状态:
-
参与LeetCode编程比赛,提升技术实力;
-
反复研读外企面试圣经《Cracking the Coding Interview》,针对面试过程中的软技能可以参考《Cracking the PM Interview》;
-
除了技术本身以外,还需要多了解量化本身的内涵,看一些经典的书籍《Quantitative Trading》、《Inside the Black Box》、《Algorithmic Trading》