plan
- 代码风格和编程习惯:google编程规范
- 精通C编程,熟练shell脚本、python脚本
- 熟悉Linux系统编程:Linux/Unix系统编程手册、Unix网络编程
- 涉猎C++21、Rust、Go
- 学习Github网络编程项目,参与Github开源项目
- 培养分析问题和解决问题的能力,对解决具有挑战性问题充满激情
- 算法水平:leetcode Medium 稳过,部分 Hard 能做
- 完善附属技能:
- 熟悉 Debian、Ubuntu、Fedora、Arch Linux等一种或多种 Linux 发行版本
- 熟悉Linux容器应用:lxc、docker、Podman
- 熟悉编译链工具:makefile、Cmake、Xmake
- 熟悉gdb、crash、systemtap等工具,能够分析内核相关的常见问题
- 熟练掌握 Linux 常用命令,如 grep、sed、awk 等
- 熟练使用 Svn、Git 进行版本控制
- 熟悉Linux系统
- 深入理解Linux操作系统以及内核设计原理与运行机制
- 熟悉Linux内核各大子系统,比如:内存管理、文件系统、CPU调度、网络、存储等
- 熟悉 GNU 编译工具链、GRUB、Systemd 等开源组件
- 熟悉ARM、MIPS等交叉编译
- 熟悉Linux内核相关开发环境与基础工具
- 计算机基础
- csapp+lab
- ostep
还没读完的书:C++并发编程实战、Effective C++
还没完成的项目:完成webserver项目,添加循环缓冲区
还没看的项目:muduo网络库、libevent、libunifex callback -> epoll -> io_uring
web服务器:
- 缓存:磁盘缓存、纯内存缓存、nvme缓存,参考下haystack
- http协议:http1、http2
项目推荐:https://www.zhihu.com/question/40131963
webserver服务器项目可以使用的新技术:
- http2、http3
- Linux5.1的io_uring