zoukankan      html  css  js  c++  java
  • 灵均面试

    [量化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 ", __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 ", __func__, __LINE__);

    return -1;

    }else

    printf("%s ", min_bar->symbol);

     

    return ret;

    }

  • 相关阅读:
    BI.ver.1.实战系列. 用户开户以及登陆的分析
    mdx 时间函数
    MDX 生成复杂的集合
    SSAS远程访问
    mdx 聚合函数
    Spring Cloud 之 Ribbon服务消费(五)
    Spring Cloud 之 Eureka Client服务注册(三)
    Spring Cloud 之 Eureka 高可用集群搭建(二)
    Spring Cloud 之 Feign Client服务消费(六)
    Spring Cloud 之 Feign Client优雅调用(七)
  • 原文地址:https://www.cnblogs.com/xiaohaigegede/p/15312075.html
Copyright © 2011-2022 走看看