25 分钟就面完了,速度好快,连自我介绍也没有,量化公司果然效率为先,如下是几个问题:
webserver 2 核 4g 实现的上万 qps 中的 q 是指什么。
关于静态资源返回的是什么(图片和视频,图片大概是几十上百 kb,图片大概 1-2M)。
关于小根堆,你是如何删除最先要超时的 http 连接的。
如果设置的超时时间为 30s,过了 25s 后这个连接有 Active 了即有读写的发生,你又是如何映射 & 调整堆的呢。
介绍下项目一的旁路推流。
对 rtmp server 的流做了兼容性优化具体假双声道造成波形相位相反音频抵消的问题是如何解决的。
c++ 新特性除了简历上的还知道哪些。
shared_ptr 和 make_shared 有什么区别。(shared_ptr 会申请两次内存,先申请数据再申请控制块,而 make_shared 只会申请一次内存,即将数据和控制块的申请放在一起)
最后就是反问该岗位的职责,主要做的就是低延迟的量化交易系统,通过技术手段优化交易的响应速度和吞吐量,提高交易的速度和质量。
二面是到面,和总经理面试,主要是问了下公司的情况和岗位的职责,也聊了下自己找工作最看重的 3 点,公司规模只有 12 人,加上我就是 13 人,果真是小公司,里面就 1 个 IT 人员,负责了整个交易系统的开发 & 维护,这个交易系统之前花了 2-3 年开发好了,之后就是迭代优化 & 维护,因为现在系统还有很多功能待完善,所以招个人分下活,剩下部分人就是做交易策略。
现场后也直接找面试官问了下岗位的职责,首先策略团队提出需求并将计算的数据 Input 到交易系统,交易系统设计 & 实现高效的算法将对应的数据 Output 至接入的券商(rpc 通信)。同时由于交易是实时性的,所以需要尽量做到低延迟即优化交易系统的响应速度和吞吐量。因为交易数据量大的问题,后台会将订单 & 风险系数等数据进行压缩并存储到 sqlite 中,并通过反采的方式进行测试以保证交易系统的稳定性。
实话说 1 个人能开发 & 维护整个交易系统,即便不做大的架构升级 & 改进,也确实挺 nb 的,具备全栈的能力,现在想的是 1 + 1 的方式去开发 & 维护整个交易系统,因为关于系统的功能开发 & 系统优化的事情确实很多,1 个人也不太能做完。