Rust 实习 数据库查询层

欢迎投递 Rust+数据库实习!
感兴趣的同学可以私信我~

岗位类型:日常实习
城市:深圳市南山区

岗位职责
参与设计和开发公司内部自研分布式分析型图数据库的查询引擎层,包括查询解析、查询优化、查询执行、并发控制等。

岗位要求
1. 熟练掌握 Rust 语言编程,熟悉 C/C++,Go,Java 任一编程语言,编程素养良好;
2. 对数据库,分布式系统有比较深入的理解,系统功底扎实;
3. 熟悉计算机系统结构,熟悉多线程、网络编程等技术优先;
4. 渴望快速成长,自我驱动能力强,良好的沟通协作能力。

加分项
1. 有图数据库或关系型数据库相关背景。
2. 熟悉或者参与过开源数据库项目开发。(可以发下自己的 GitHub 账号)
3. 对技术保有好奇心。   
#Rust#  #实习#  #数据库#  #数据库实习#  #数据库内核#
全部评论

相关推荐

#include # include #include # include using namespace std; // 全局引入std命名空间struct Process {    string name;      // 原为 std::string    int arrive;    int service;    int start;    int finish;    float turnaround;    float weighted_ta;};bool compareArrival(const Process& a, const Process& b) {    return a.arrive < b.arrive;}int main() {    cout << "先来先服务调度算法\n";  // 原为 std::cout    cout << "输入进程数目:";    int n;    cin >> n;  // 原为 std::cin    vector processes(n);  // 原为 std::vector    for (int i = 0; i < n; ++i) {        cout << "请输入进程" << (i+1) << "的信息(名称 到达时间 服务时间):";        cin >> processes[i].name >> processes[i].arrive >> processes[i].service;    }    sort(processes.begin(), processes.end(), compareArrival); // 原为 std::sort    int current_time = 0;    for (vector::iterator it = processes.begin(); it != processes.end(); ++it) {        it->start = max(current_time, it->arrive);  // 原为 std::max        it->finish = it->start + it->service;        it->turnaround = it->finish - it->arrive;        it->weighted_ta = it->turnaround / static_cast(it->service);        current_time = it->finish;    }    // 输出运行顺序    cout << "\n运行顺序:";    for (vector::const_iterator it = processes.begin(); it != processes.end(); ++it) {        cout << it->name;        if (it + 1 != processes.end()) {            cout << " → ";        }    }    // 输出表格    cout << fixed << setprecision(3);  // 原为 std::fixed 和 std::setprecision    cout << "\n\n"         << left << setw(8) << "进程"  // 原为 std::left 和 std::setw         << right << setw(12) << "到达时间"         << setw(12) << "服务时间"         << setw(12) << "开始时间"         << setw(12) << "结束时间"         << setw(12) << "周转时间"         << "带权周转时间\n";    float total_ta = 0, total_wta = 0;    for (vector::const_iterator it = processes.begin(); it != processes.end(); ++it) {        cout << left << setw(8) << it->name             << right << setw(12) << it->arrive             << setw(12) << it->service             << setw(12) << it->start             << setw(12) << it->finish             << setw(12) << it->turnaround             << setw(12) << it->weighted_ta             << "\n";        total_ta += it->turnaround;        total_wta += it->weighted_ta;    }    cout << "\n平均周转时间: " << total_ta / n         << "\n平均带权周转时间: " << total_wta / n << endl;    return 0;}
点赞 评论 收藏
分享
评论
2
2
分享

创作者周榜

更多
牛客网
牛客企业服务