1. 代码风格和编程习惯
  2. 精通C编程,熟练shell脚本、python脚本
  3. 熟悉Linux系统编程
  4. 涉猎C++21、Rust、Go
  5. 学习Github网络编程项目,参与Github开源项目
  6. 培养分析问题和解决问题的能力,对解决具有挑战性问题充满激情
  7. 完善附属技能:
    • 熟悉 Debian、Ubuntu、Fedora、Arch Linux等一种或多种 Linux 发行版本
    • 熟悉编译链工具:makefile
    • 熟悉gdb、crash、systemtap等工具,能够分析内核相关的常见问题
    • 熟练掌握 Linux 常用命令,如 grep、sed、awk 等
    • 熟练使用 Svn、Git 进行版本控制
  8. 熟悉Linux系统
    • 深入理解Linux操作系统以及内核设计原理与运行机制
    • 熟悉Linux内核各大子系统,比如:内存管理、文件系统、CPU调度、网络、存储等
    • 熟悉 GNU 编译工具链、GRUB、Systemd 等开源组件

还没读完的书:C++并发编程实战、Effective C++

还没完成的项目:完成webserver项目,添加循环缓冲区

还没看的项目:muduo网络库、libevent、libunifex callback -> epoll -> io_uring

web服务器:

  • 缓存:磁盘缓存、纯内存缓存、nvme缓存,参考下haystack
  • http协议:http1、http2

项目推荐:https://www.zhihu.com/question/40131963