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
招日常用Linux, 开发过翻墙工具的同学。 坐标武汉,国内Linux全栈的技术团队(从编译器、内核到桌面环境和Web),技术氛围浓厚。 工作是开发异构网络隧道, 解决各种网络疑难杂症
- 有golang、c/c++、rust开发经验(至少其中一个),对资源占用、并发等有较强的敏感度
- 日常使用linux系统,对进程、文件、namespace、cgroup、nftables、tc等有基本概念
- 基本网络扎实,如理解MTU、TCP、UDP、多播、任播等概念。有除HTTP/GRPC外的网络编程经验
- 对TLS,AES等对称、非对称加密、哈希等安全算法有一定概念;了解常见网络协议的基本原理,如dns、dhcp、ssh、socks5、stun等
工作职责: 负责自研网络的全平台维护(linux/android/ios/darwin/windows),对性能、稳定性有较高要求