1. 代码风格和编程习惯:google编程规范
  2. 精通C编程,熟练shell脚本、python脚本
  3. 熟悉Linux系统编程:Linux/Unix系统编程手册、Unix网络编程
  4. 涉猎C++21、Rust、Go
  5. 学习Github网络编程项目,参与Github开源项目
  6. 培养分析问题和解决问题的能力,对解决具有挑战性问题充满激情
  7. 算法水平:leetcode Medium 稳过,部分 Hard 能做
  8. 完善附属技能:
    • 熟悉 Debian、Ubuntu、Fedora、Arch Linux等一种或多种 Linux 发行版本
    • 熟悉Linux容器应用:lxc、docker、Podman
    • 熟悉编译链工具:makefile、Cmake、Xmake
    • 熟悉gdb、crash、systemtap等工具,能够分析内核相关的常见问题
    • 熟练掌握 Linux 常用命令,如 grep、sed、awk 等
    • 熟练使用 Svn、Git 进行版本控制
  9. 熟悉Linux系统
    • 深入理解Linux操作系统以及内核设计原理与运行机制
    • 熟悉Linux内核各大子系统,比如:内存管理、文件系统、CPU调度、网络、存储等
    • 熟悉 GNU 编译工具链、GRUB、Systemd 等开源组件
    • 熟悉ARM、MIPS等交叉编译
    • 熟悉Linux内核相关开发环境与基础工具
  10. 计算机基础
    • 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

招日常用Linux, 开发过翻墙工具的同学。 坐标武汉,国内Linux全栈的技术团队(从编译器、内核到桌面环境和Web),技术氛围浓厚。 工作是开发异构网络隧道, 解决各种网络疑难杂症

  1. 有golang、c/c++、rust开发经验(至少其中一个),对资源占用、并发等有较强的敏感度
  2. 日常使用linux系统,对进程、文件、namespace、cgroup、nftables、tc等有基本概念
  3. 基本网络扎实,如理解MTU、TCP、UDP、多播、任播等概念。有除HTTP/GRPC外的网络编程经验
  4. 对TLS,AES等对称、非对称加密、哈希等安全算法有一定概念;了解常见网络协议的基本原理,如dns、dhcp、ssh、socks5、stun等

工作职责: 负责自研网络的全平台维护(linux/android/ios/darwin/windows),对性能、稳定性有较高要求