文章目录
C++方向
我本人就是C++后台开发方向,在学习的过程中也陆陆续续收集了一些比较适合新手写上简历的C++项目。因为C++不像Java那样偏应用,C++偏底层,所以需要我们有比较好的计算机基础,比如计算机网络、操作系统、数据结构与算法、数据库等等。
如下是C++项目列表:
计算机网络相关项目
写一个Json库
https://github.com/miloyip/json-tutorial/blob/master/tutorial01/tutorial01.md
写一个WebServer
大佬写的:https://github.com/linyacool/WebServer
这里也给我写的打个小广告:https://github.com/mazamu/web-server
写一个网络库
写一个服务器框架
https://www.bilibili.com/video/av53602631?from=search&seid=9029288577396826503
操作系统相关
写一个操作系统内核
https://github.com/woai3c/MIT6.828,这只是国外知名大学的一个作业。。。
写一个线程库
写一个线程池
https://github.com/lizhenghn123/zl_threadpool
https://github.com/mtrebi/thread-pool
写一个用户态线程
写一个高并发内存池
写一个命令行(shell)
数据结构与算法相关
写一个STL
https://www.lanqiao.cn/courses/1341
https://github.com/alinshans/mytinystl
写一个红黑树
数据库相关
写一个NoSQL
写一个跳表(skiplist)
https://github.com/youngyangyang04/Skiplist-CPP,这是redis里的一个数据结构。
项目是有了,但是得抗住面试官的深究,则必须深入地学习那一块的内容,再横向拓展多了解一些其它的,才能够有话可谈。
比如说,你写一个线程库,你总得了解一下进程和线程的区别,在Linux和Windows下它们分别有什么不同,也是不是应该去看一下腾讯的libco协程库呢?
总之,学无止境,愿你我再接再厉。
附新手路线:写一个shell->写一个TinySTL(实现基本的几个数据结构)->操作系统相关(线程池)或计算机网络相关(WebServer)或数据库相关(skiplist),后面这三个看个人喜好选择。