熟悉 Linux 环境、Shell 脚本,熟练使用 git、vim、gdb、docker 工具,了
解 Makefile、CMake
熟悉 C++11 新特性如智能指针、右值引用、移动语义、lambda函数,常见
的设计模式如单例设计模式、工厂设计模式
熟悉多线程编程的线程同步问题、Socket 网络编程,熟悉 TCP\IP 网络协议
熟悉 select、poll、epoll 常见的 IO 复用模型
熟练 Redis、MySql 基本原理,并能在项目中熟练使用
熟悉 Redis 的 RDB、 AOF、复制、哨兵和集群,了解缓存击穿、缓存穿透、
缓存雪崩,了解分布式锁、延时队列
熟练掌握常用基础算法,快速、归并、堆排序,Dijkstra最短路算法,卢卡斯
定理,KMP、manacher等
熟悉常见的数据结构,AVL树、红黑树、B树、Trie、并查集、堆等,熟悉 STL
库
一些总线通信协议,CAN\CANFD\FlexRay\LIN的帧格式、仲裁等相关问题。
了解优先级反转、了解一些OS调度算法,了解虚拟内存、段页式内存管理,了
解硬布线控制单元设计步骤和微程序控制器基本概念。
熟悉 AUTOSAR CP COM 所有功能,Transmit Mode Select、Fliter、Signal
Gateway、Communication Protection、DM、I-PDU Counter,还完全阅
读并翻译过 ISO 17356-4-2005 OSEK COM,了解 COM 与上下层的交互。
高并发 C++ Web-Server 服务器项目。
• 使用 Reactor 模型、非阻塞网络IO、边沿触发模式的 Epoll IO 多路复用提高并
发量
• 使用固定线程池模型,单个线程采用 One Loop Per Thread 设计
• 使用智能指针,使用 RAII 手法自动获取和归还数据库连接,减少连接建立释放
开销,减少内存泄漏
• 使用小根堆实现的定时器,定时释放超时的 HTTP 连接,结构简单清晰,代码
可读性高
• 使用生产者消费者模型,应用于线程池任务队列,实现对业务的异步处理,提
高系统吞吐量
• 基于有限状态机实现的 HTTP 请求头解析
• 异步日志的设计,采用背景线程收集需要写入日志的内容并写入日志
• 避免阻塞硬盘IO影响业务流程而设计的异步日志前后端交互 BlockingQueue
• 正在对日志模块进行代码重构,新的结构采用构造匿名对象后获取要写入的内
容,析构函数交付给 AsyncLog 模块。该模块采用多缓冲区定时 flush 的设计确
保日志丢失内容时间范围可控,以及降低磁盘 IO 频率及其带来的磁盘寻道的开
销,另外在 AsyncLog 模块对突发大量业务可能产生的写入日志阻塞致使程序爆
栈 segmentfault 的问题做了安全处理,保障了服务端的健壮性。
工作经历 :AUTOSAR 开发
项目类型其他 项目描述系统功能: (1)退出系统时将所有职工信息保存到employees.txt文件中,当系统启动时能够获取已有的职工信息; (2)能够实现设置职工人数、添加职工、根据职工编号修改职工体重并打印、根据职姓名查找职工信息并打印、根据职工编号删除职工信息、打印所
项目类型其他 项目描述基本Java和Swing框架开发的模仿windows系统的文件管理器。包含功能如下:文件列表功能,列出当前目录下所有的文件及文件夹;跳转上一级目录,文件及文件夹的创建,复制,粘贴,删除,重命名;界面操作。 行业工具类 我的职责1、负责软件项目的详细设计