掌握C/C++常用编程工具,vim、git、VScode、Visual Studio、PyCharm、Xshell、make工具链、bash编程等等,熟悉C/C++,python开发语言,熟悉使用linux系统编程,内存分配原理,各类容器以及迭代器。熟悉linux下文件操作,进程间通信,共享内存,多线程编程,进程池与线程池的实现等等。熟悉linux下socket编程,熟悉C/S模式以及TCP/UDP协议,网络I/O多路复用模型select/epoll,掌握常见的SQL语句(DDL/DML/DQL),熟悉Workbench操作MySQL以及相关API。
项目名称:轻量化的企业内部网盘系统
核心技术:ISO C、POSIX C库、epoll多路复用、零拷贝技术
核心模块:1、使用C/S架构和TCP协议开发文件服务器。
2、实现cd、ls、pwd、remove、gets、puts等功能。
3、使用多线程技术开发服务器,对比单线程开发,资源的利用率提高了50%以上。
4、下载时具备断点续传功能,下载进度显示等等,上传时具备秒传等功能。
5、利用日志系统对操作进行记录。
技术亮点:1、服务器系统升级,可以实现不同用户相同文件秒传功能。
2、使用边缘触发优化epoll频繁响应,使用进程池与线程池减少CPU运转负载。
3、利用零拷贝技术对大文件的传输进行优化,减少IO次数,提高文件传输效率。
4、利用log4cpp进行日记记录,记录内容全面,内存占用率小,减少了成本需求。