熟练使用 C/C++编程语言,熟悉面向对象编程思想,以及常用的 STL;
掌握Python、java 等语言基本语法,可以进行简单开发的编程;
熟悉常见数据结构及算法 如:数组队列 链表 哈希 栈 堆树 红黑树 B+树等;
熟悉常用的设计模式 如:单例模式 工厂模式 代理模式等;
熟悉 TCP/IP模型,掌握 TCP/UDP、IP等网络协议;
熟悉 Linux 环境下常用命令及相关工具的使用(gcc、gdb、vim 等);
网络编程:掌握socket、reactor网络编程;
如:单线程reactor(熟悉线程池优化网络io)、多线程reactor、多进程reactor
中间组件编程:内存池、线程池、数据连接池;
并发编程:熟练掌握多线程以及多进程、锁与信号量等的使用;
数据库 :掌握MySQL/Redis在项目中的使用,并且了解数据库的一些底层实现;
如:Redis的各种数据结构(SDS、链表、压缩列表等)在底层中实现和网络模型;
如:MySQL的存储引擎MyISAM和InnoDB的区别,以及事务和日志的特性;
项目工具:掌握Cmake和Git 等使用;
图形库:掌握OpenCv、OpenGL、Pcl等图像处理库的使用、掌握OpenGL基本原理;
如:可以进行一些简单的图形渲染功能,实现3D模型旋转功能;
图形框架:掌握MFC、Qt在Windows和Linux下的界面开发等功能;
Qt PC桌面软件 客户端相机图像处理显示软件
串口工具 文件服务器
MFC各种工具软件
Linux软件开发
网络服务器
SDK开发
跨平台应用
角色 | 职位 |
负责人 | C++软件开发工程师 |
队员 | 前端工程师 |
队员 | 后端工程师 |
按时完成项目安排