招聘要求中的 低延迟系统开发(C++),一般涉及到哪些具体技术和资料?

2023-10-14 16:03:46 +08:00
 csfreshman

有没有 v 友在做量化的低延迟系统开发( c++),具体需要哪些技术和资料?看招聘要求中只是列出一些通用的技术,没有涉及一些细节。 比如看到的一个招聘要求,就只是写的一些比较宽泛的技术点:C++, Algorithms, Data Structure, design, memory

C++开发工程师-低延迟交易系统

技术点:C++, Algorithms, Data Structure, design, memory

你将会:

1.开发低延迟交易系统以及相关服务

这是我们开发的主要产品,高质量的交易系统可以让我们在交易中占尽先机

2. 与跨国同事合作完成项目

与美国团队充分交流、合力推进项目进程,收获成就感

3. 重视用户体验,持续改进产品

站在内部用户的角度考虑问题,开发出彼此满意的产品

4. 大胆去设计和尝试与项目有关的任何东西

我们希望你:

1. 拥有扎实的基础知识

C++/Python 固然重要,计算机网络,算法,系统设计,数据结构的知识也不可或缺

2. 懂得如何做项目设计

经验长短不重要,但要能自主设计项目方案

3. 对新技术有好奇心

2792 次点击
所在节点    C++
18 条回复
786375312123
2023-10-14 16:09:10 +08:00
youtube 上一搜一大把
csfreshman
2023-10-14 16:39:11 +08:00
@786375312123 没搜到特别满意的,看到有个介绍 低延迟系统那些事 xxx ,表达的不知所云
codyfeng
2023-10-14 16:45:45 +08:00
知乎的这个帖子覆盖了大部分的知识
https://www.zhihu.com/question/23185359
china521
2023-10-14 19:14:39 +08:00
公司会拉国际专线吗,不然会被没收违法所得.. -:)
exch4nge
2023-10-14 20:08:46 +08:00
不是做这个方向的,强行答下,希望能有帮助
多线程开发,有很多锁/条件变量之类的,能正确使用其实不容易。相关可以学多线程安全的数据结构,或进一步无锁的并发数据结构。学会用 perf 之类的工具优化性能,如减少 cpu cache miss ,减少对象复制开销,编写对编译器更友好的代码等等。也可以学 simd 指令集与应用。学 OS 与硬件,知道写的代码会经过哪些 syscall ,网络方面比如如何减少 user space 到 kernel space 的内存复制等
大部分做到了解原理以及会用的程度就很不错了,比如你要需要一个并发的 Queue ,到底用哪个,为什么选择用那个等
当然最重要的还是问题分析与设计能力,解决实际业务需求,能够设计出合理的架构,得出这种“我需要并发 quque 去实现某功能”
janus77
2023-10-14 20:27:29 +08:00
放宽心,虽然写的很高大上,招的不一定就是核心系统开发,有可能进去做的是策略、GUI 、devops 等周边的内容。很多细节不会关注到
artnowben
2023-10-14 20:31:31 +08:00
网络方面,会用到 kernel bypass 技术,如 solarflare 网卡,DPDK
happy32199
2023-10-14 22:56:22 +08:00
这个以后会改用 rust 吗
roundgis
2023-10-14 23:07:34 +08:00
@happy32199 不大會 除非是新公司
786375312123
2023-10-15 00:04:37 +08:00
@roundgis 谷歌已经在用 rust 改写很多模块了,以后只会越来越多。
ivvei
2023-10-15 00:33:14 +08:00
其实和 C++本身关系不是特别大,更多的是对计算机体系结构上的认识,以及一些行业经验。
比如怎样设计日志系统,怎样做延迟测量,针对某个场景使用怎样的数据结构,什么时候需要提前分配内存什么时候可以动态增加,怎样绑核,选择怎样的硬件( CPU, 网卡之类),超频怎么超,大小核怎么选,怎样写 Cache 友好的程序……
没有什么专门的名字来概括这是一个什么技术,大多都是点点滴滴的积累。
LeeReamond
2023-10-15 06:34:58 +08:00
@codyfeng 看了看,感觉都是一些常识相关以及设备相关的内容,和代码没啥大关系。C++就是 C++,码破天也没法更快。。
csfreshman
2023-10-15 10:49:07 +08:00
感谢,这个低延迟系统开发感觉要求更高一些,对整个计算机体系,软硬件知识,操作系统,数据结构等等,C++/C/汇编,可能都有涉及
csfreshman
2023-10-15 10:49:30 +08:00
@janus77 招聘造飞机,入职打螺丝,也是常态
jones2000
2023-10-15 12:12:06 +08:00
1. 需要魔改系统,移除没有必要的功能,只留下交易需要的功能。
2. 数据直接读写网卡。
3. 机器托管到主干机房, 或离交易所近的地方(如券商机房)
e9pWeUbh9PGCnp95
2023-10-15 12:26:06 +08:00
基本上从计算机体系结构,操作系统,和分布式要全懂.
victorc
2023-10-15 14:22:53 +08:00
吹牛的,没有啥可参考性
能不能通过面试,看运气,这些量化私募需要的岗位很少
ac23
2023-10-15 21:27:03 +08:00
@happy32199 可能很低

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/981965

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX