灵均面试
[量化IT工程师面试题]
1、有52个字母字符数组('A'~'z')其中只有一个字符是重复的,请编写一个函数,把这个字母字符找到。
要求:时间复杂度 O(N) ,不能用额外的辅助数组;
示例:
输入: ['A', 'a', 'v', 'a', 's', 'r']
输出:'a'
2、什么是局部性原理? 请用C写一段代码来证明局部性是否存在。
3、在这样的场景下在同一台服务器上一个生产者会定时250ms生产数据,多个消费者消费数据,
请问如何设计才能使多个消费者最快得到生产者的数据(消费者的数目限制在12个以内)。
4、请用shell 实现如下功能:
问题描述:
在名为json文件夹下面有如下json 文件,我们想把这个json文件复制一份, 同时symbol 这一项对应值替换为新值,比如 "y2105"--> "y2109"
示例文件:
algo_config_y2105.json
{
// symbol related
"strategyID": 905,
"symbol": "y2105",
"priceStep": 2,
"noSplitVol": 31,
"needLockPosition": false,
//"onlyUseL1Quote": true,
}
变成:
algo_config_y2109.json
{
// symbol related
"strategyID": 905,
"symbol": "y2109",
"priceStep": 2,
"noSplitVol": 31,
"needLockPosition": false,
//"onlyUseL1Quote": true,
}
5、完成一个查询服务程序。
现在有如下数据:
/home/lj/quote/day/shfe/20210103/shfe_lv2_rb2105_20210103.dat
/home/lj/quote/day/shfe/20210103/shfe_lv2_ru2105_20210103.dat
/home/lj/quote/night/shfe/20210103/shfe_lv2_rb2105_20210103.dat
/home/lj/quote/night/shfe/20210103/shfe_lv2_ru2105_20210103.dat
/home/lj/quote/day/dce/20210103/dce_lv2_i2105_20210103.dat
/home/lj/quote/day/dce/20210103/dce_lv2_jm2105_20210103.dat
我们想基于这些数据做一个查询服务。
当客户端请求如下字段: 合约,日期,日夜盘 (rb2105,20210103,1)
服务端返回:请求对应的文件的路径 (/quote/day/shfe/20210103/shfe_lv2_rb2105_20210103.dat)
备注:
1、日盘为1,夜盘为0
2、不限语言和工具
6、我们有一个提供行情服务进程会把整个交易日的数据都发送给订阅的合约客户端计算信号,某天发现数据客户端计算特别慢,请问我应该定位问题?
7、有如下结构体,在X86/64 系统中,请问test_t 总共占用多少个字节:
typedef struct test {
long len;
double price;
char order_status[2];
short vol;
}test_t;
8、如果recv_min_bar()函数不断收一个结构体为200字节的数据,然后把收到的结构体打印出来,请问这段代码能正常工作吗?
int32_t recv_msg(int32_t socket_fd, char *recv_msg_buff, int32_t max_recv_len)
{
int32_t ret = 0, recv_len = 0;
ret = recv(socket_fd, recv_msg_buff, max_recv_len, 0);
if (ret <= 0) {
printf("[ERROR] %s %d %d \n", __func__, __LINE__, strerror(errno));
return -1;
}
return ret;
}
int32_t recv_min_bar(int32_t socket_fd, minute_bar_t *min_bar)
{
int32_t ret = 0, payload_len = 0;
payload_len = sizeof(minute_bar_t);
ret = recv_msg(socket_fd, (char *)min_bar, payload_len);
if (ret < 0) {
printf("[ERROR] %s %d \n", __func__, __LINE__);
return -1;
}else
printf("%s \n", min_bar->symbol);
return ret;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通