理论灰色

系统开发工程师
北京中科海迅科技股份有限公司 · 1年经验
理论灰色
日薪: ¥500/8h
地点: 北京 海淀
时间: 下班后
ID:420781 复制

0
接单数
0
评价数
0
收藏数

AI 技能提取 | Linux Git Python C++ PostgreSQL LangChain TCP/IP Kafka
编程语言与核心基础
Python:熟悉基于Python的AI开发,掌握LangChain、RAG、Agent相关技术,善于利用Agent辅助开发。

C/C++:掌握C++11标准,理解面向对象三大特性(封装、继承、多态)、函数重载、智能指针等;熟悉STL主要容器(vector、list、map等)及底层实现原理。

数据结构:熟练掌握顺序表、链表、栈、队列、二叉树、堆、哈希表、红黑树、图等常用结构。

算法:熟悉希尔排序、堆排序、快速排序、归并排序等经典排序算法。

Linux系统编程
环境与工具:熟练使用Linux常用命令,以及vim、git、gdb、Makefile等开发调试工具。

核心概念:理解程序地址空间、进程控制、基础I/O、进程间通信(IPC)、进程信号等。

并发与同步:熟悉Linux下的同步互斥机制(互斥锁、条件变量、读写锁等),掌握生产者-消费者模型、多线程编程、线程安全及线程池技术。

Linux网络编程
基础编程:掌握Socket套接字编程,了解select、poll、epoll三种I/O多路复用模型。

TCP/IP协议:熟悉TCP三次握手与四次挥手、流量控制、拥塞控制;了解OSI七层模型及TCP/IP四层体系结构,熟悉TCP、UDP等常见协议。

数据库与中间件
数据库:熟悉PostgreSQL,具备数据库写入与基本操作能力。

消息队列:了解Kafka的基本使用。

其他中间件:了解RCF(远程调用框架)、nanomsg、mDNS等服务发现与通信技术。

嵌入式开发
STM32平台:基于STM32VET6开发智能扎气球小车(超声波、红外寻迹模块);基于STM32C8T6实现激光追踪(视觉、PID算法、舵机云台控制)。

网络设备与配置
了解华为交换机、路由器的基本配置。

项目经验
一、水声声呐数据采集软件(实习项目)
公司:北京中科海迅科技股份有限公司
岗位:C++研发工程师
时间:2025年1月 – 2025年6月

项目简介
参与水声声呐相关数据采集软件的研发,该系统涵盖数据采集、状态管理、任务管理、数据存储等多个模块。我主要负责任务管理模块中项目整体执行逻辑的开发,具体工作包括:

负载均衡与任务调度:设计并实现任务分配策略,保障多任务下系统资源的合理利用。

数据采集与心跳监控:实现数据采集任务的状态统计与心跳检测,及时发现异常任务。

任务故障转移:设计故障转移机制,当节点或任务异常时自动迁移任务,提升系统可靠性。

数据库写入:将任务信息持久化到 PostgreSQL 数据库。

网络与服务发现:使用 RCF(远程调用框架)、nanomsg、mDNS 实现模块间通信与服务自动发现。

消息队列集成:利用 Kafka 实现任务状态的高吞吐传输。

并发与设计模式:采用单例模式、多线程技术保证模块的高效与安全。

网络设备配置:了解并参与华为交换机、路由器的基本配置,保障网络环境稳定。

涉及技术
RCF、Kafka、PostgreSQL、nanomsg、mDNS、单例模式、多线程、华为交换机与路由器配置。

二、无锁内存池(个人项目)
项目简介
参考 tcmalloc 的设计思想,实现了一个适用于多线程环境的高并发内存池,通过三层缓存结构显著降低多线程频繁申请内存时的锁竞争问题。

Thread Cache(线程缓存)
每个线程独享,用于分配小于 256KB 的内存。线程从此层申请内存无需加锁,实现无锁化分配,提升并发性能。

Central Cache(中心缓存)
为 Thread Cache 分配内存,并在适当时机回收 Thread Cache 中的空闲对象。通过桶锁(细粒度锁)控制竞争,避免单个线程占用过多内存,实现多线程间的内存均衡调度。

Page Cache(页缓存)
从系统以页为单位分配大块内存,并切割为固定大小的小块提供给 Central Cache。回收 Central Cache 中满足条件的 Span 对象,并合并相邻的物理页以形成更大的连续内存,有效缓解内存碎片问题。

技术亮点

无锁设计(Thread Cache 层)

细粒度锁(桶锁)

内存页合并与碎片管理

三、负载均衡在线OJ(个人项目)
项目简介
采用 MVC 架构,实现了一个支持负载均衡的在线编程判题系统。用户可通过浏览器访问题目列表,在线编写并提交代码,后端自动分配服务器资源,在保证负载均衡的前提下提供高效的代码编译与运行环境。

核心模块

comm(公共模块)
提供通用工具类,包括文件名处理、时间获取、日志记录、字符串处理等基础功能。

compile_server(编译运行模块)
接收代码文件,调用编译器进行编译并执行,返回运行结果。

oj_server(核心服务模块)
负责题目列表获取、题目详情展示、在线编辑界面、负载均衡调度、判题逻辑以及网页渲染。网页前端使用了 HTML/CSS/JS 及 Ace 在线编辑器,后端通过 cpp-httplib 提供 HTTP 服务,并使用 ctemplate 进行动态页面渲染。

负载均衡设计
当用户提交代码时,oj_server 根据后端各编译服务器的实时负载情况(如任务队列长度、响应时间等),动态选择最优节点执行判题任务,确保整体服务的高吞吐与低延迟。

涉及技术
C++ STL、Boost(字符串切割)、cpp-httplib、ctemplate、jsoncpp、多进程、多线程、MySQL C API、Ace 前端编辑器、HTML/CSS/JS/jQuery/Ajax。
理论灰色 ID:420781 复制

理论灰色

系统开发工程师 · 1年经验 · 北京中科海迅科技股份有限公司
城市北京 海淀 日薪500元/8h 时间 下班后
0
累计接单
0
用户评价
0
被收藏

信用行为

0
接单数
0
评价数
0
收藏数

技术能力

AI 技能提取 | Linux Git Python C++ PostgreSQL LangChain TCP/IP Kafka
编程语言与核心基础
Python:熟悉基于Python的AI开发,掌握LangChain、RAG、Agent相关技术,善于利用Agent辅助开发。

C/C++:掌握C++11标准,理解面向对象三大特性(封装、继承、多态)、函数重载、智能指针等;熟悉STL主要容器(vector、list、map等)及底层实现原理。

数据结构:熟练掌握顺序表、链表、栈、队列、二叉树、堆、哈希表、红黑树、图等常用结构。

算法:熟悉希尔排序、堆排序、快速排序、归并排序等经典排序算法。

Linux系统编程
环境与工具:熟练使用Linux常用命令,以及vim、git、gdb、Makefile等开发调试工具。

核心概念:理解程序地址空间、进程控制、基础I/O、进程间通信(IPC)、进程信号等。

并发与同步:熟悉Linux下的同步互斥机制(互斥锁、条件变量、读写锁等),掌握生产者-消费者模型、多线程编程、线程安全及线程池技术。

Linux网络编程
基础编程:掌握Socket套接字编程,了解select、poll、epoll三种I/O多路复用模型。

TCP/IP协议:熟悉TCP三次握手与四次挥手、流量控制、拥塞控制;了解OSI七层模型及TCP/IP四层体系结构,熟悉TCP、UDP等常见协议。

数据库与中间件
数据库:熟悉PostgreSQL,具备数据库写入与基本操作能力。

消息队列:了解Kafka的基本使用。

其他中间件:了解RCF(远程调用框架)、nanomsg、mDNS等服务发现与通信技术。

嵌入式开发
STM32平台:基于STM32VET6开发智能扎气球小车(超声波、红外寻迹模块);基于STM32C8T6实现激光追踪(视觉、PID算法、舵机云台控制)。

网络设备与配置
了解华为交换机、路由器的基本配置。

项目经验

项目经验
一、水声声呐数据采集软件(实习项目)
公司:北京中科海迅科技股份有限公司
岗位:C++研发工程师
时间:2025年1月 – 2025年6月

项目简介
参与水声声呐相关数据采集软件的研发,该系统涵盖数据采集、状态管理、任务管理、数据存储等多个模块。我主要负责任务管理模块中项目整体执行逻辑的开发,具体工作包括:

负载均衡与任务调度:设计并实现任务分配策略,保障多任务下系统资源的合理利用。

数据采集与心跳监控:实现数据采集任务的状态统计与心跳检测,及时发现异常任务。

任务故障转移:设计故障转移机制,当节点或任务异常时自动迁移任务,提升系统可靠性。

数据库写入:将任务信息持久化到 PostgreSQL 数据库。

网络与服务发现:使用 RCF(远程调用框架)、nanomsg、mDNS 实现模块间通信与服务自动发现。

消息队列集成:利用 Kafka 实现任务状态的高吞吐传输。

并发与设计模式:采用单例模式、多线程技术保证模块的高效与安全。

网络设备配置:了解并参与华为交换机、路由器的基本配置,保障网络环境稳定。

涉及技术
RCF、Kafka、PostgreSQL、nanomsg、mDNS、单例模式、多线程、华为交换机与路由器配置。

二、无锁内存池(个人项目)
项目简介
参考 tcmalloc 的设计思想,实现了一个适用于多线程环境的高并发内存池,通过三层缓存结构显著降低多线程频繁申请内存时的锁竞争问题。

Thread Cache(线程缓存)
每个线程独享,用于分配小于 256KB 的内存。线程从此层申请内存无需加锁,实现无锁化分配,提升并发性能。

Central Cache(中心缓存)
为 Thread Cache 分配内存,并在适当时机回收 Thread Cache 中的空闲对象。通过桶锁(细粒度锁)控制竞争,避免单个线程占用过多内存,实现多线程间的内存均衡调度。

Page Cache(页缓存)
从系统以页为单位分配大块内存,并切割为固定大小的小块提供给 Central Cache。回收 Central Cache 中满足条件的 Span 对象,并合并相邻的物理页以形成更大的连续内存,有效缓解内存碎片问题。

技术亮点

无锁设计(Thread Cache 层)

细粒度锁(桶锁)

内存页合并与碎片管理

三、负载均衡在线OJ(个人项目)
项目简介
采用 MVC 架构,实现了一个支持负载均衡的在线编程判题系统。用户可通过浏览器访问题目列表,在线编写并提交代码,后端自动分配服务器资源,在保证负载均衡的前提下提供高效的代码编译与运行环境。

核心模块

comm(公共模块)
提供通用工具类,包括文件名处理、时间获取、日志记录、字符串处理等基础功能。

compile_server(编译运行模块)
接收代码文件,调用编译器进行编译并执行,返回运行结果。

oj_server(核心服务模块)
负责题目列表获取、题目详情展示、在线编辑界面、负载均衡调度、判题逻辑以及网页渲染。网页前端使用了 HTML/CSS/JS 及 Ace 在线编辑器,后端通过 cpp-httplib 提供 HTTP 服务,并使用 ctemplate 进行动态页面渲染。

负载均衡设计
当用户提交代码时,oj_server 根据后端各编译服务器的实时负载情况(如任务队列长度、响应时间等),动态选择最优节点执行判题任务,确保整体服务的高吞吐与低延迟。

涉及技术
C++ STL、Boost(字符串切割)、cpp-httplib、ctemplate、jsoncpp、多进程、多线程、MySQL C API、Ace 前端编辑器、HTML/CSS/JS/jQuery/Ajax。
客服二维码

没找到合适的人才?

扫码添加客服极速匹配,或直接发布需求让更多人才主动报名

平台担保交易 · 1小时内不满意可退款

平台信誉与实力

基于 35,336 需求方信任

  • 支付宝企业信用分 优秀 评级
  • 市场份额约占全行业三分之一
  • 程序员兼职行业全能首选平台
查看平台资质详情
收藏