職位描述
崗位職責(zé):
1、編寫API,供中臺調(diào)用
2、使用Windows API 進行系統(tǒng)級編程,如文件操作、進程管理、網(wǎng)絡(luò)通信等
3、使用Windows hook技術(shù)對某些進程進行注入攔截等
4、使用Windows逆向工程了解某些軟件的實現(xiàn)原理,并整理出可行性方案
5、使用Windows驅(qū)動開發(fā)進行底層系統(tǒng)編程和硬件交互
6、在linux和信創(chuàng)平臺下,進行系統(tǒng)調(diào)用、進程管理、線程、文件操作、網(wǎng)絡(luò)編程等開發(fā)
崗位要求:
linux方向:
1. 深入理解Linux內(nèi)核及操作系統(tǒng)原理, 至少深入研究過一個或多子系統(tǒng), 包括不僅限于: 進程調(diào)度, 內(nèi)存管理, 文件系統(tǒng), 網(wǎng)絡(luò), 塊設(shè)備的工作原理, 內(nèi)核參數(shù), 關(guān)鍵trace_point.
2. 熟練使用perf/ebpf工具 采集&分析 cpu, cache, memory, io, network 等子系統(tǒng)性能指標(biāo), 并深入分析過實際的性能問題.
3. 熟練基于libbpf開發(fā) ebpf分析工具, 并可以快速完成新工具的開發(fā), 至少掌握uprobe & kprobe 程序的開發(fā).
4. 熟悉一種以上設(shè)備驅(qū)動開發(fā),熟悉device tree, 包括不僅限于iic,mmc,usb,ufs,nvme,ethernet,spi. 有實際開發(fā)經(jīng)驗,解決過疑難問題。
5. 熟練掌握linux系統(tǒng)基本的監(jiān)控工具, 并深入理解各個輸出指標(biāo)的含義, strace, vmstat, iostat, iotop, mpstat, pidstat.
6. 熟悉內(nèi)核crash, OOM, soft/hard lockup, hung task常見問題的分析方法.
7. 熟悉內(nèi)核核心子系統(tǒng)cgroup 資源隔離技術(shù)原理,有實際問題優(yōu)化經(jīng)驗。
8. 熟練掌握C & python 編程語言.