简历警察同志,请纠正我的简历问题,告诉我 Linux +c 还需要学习哪些方面

20 天前
 kiraskyler
工作技能
精通 C 语言,熟练使用 C++、Python 、eBPF(CO-RE)
熟练使用 gdb 、bpftrace 、ftrace 、pdb(python)等技巧调试疑难问题,熟悉 linux 性能追踪与定位,具备复杂问题解决能力

工作内容
公司内部组件开发
license 组件开发,负责操作系统许可证授权管理。licensed 后台服务提供 unix socket 接口提供服务能力由 C 语言开发,前台 python 提供命令行终端控制功能。
wlm 组件开发,python/C/C++混合开发,多线程度量指定文件获取文件 hash 发送到内核。

软件包升级 elf 二进制兼容性评估
操作系统中评估某个软件包升级对依赖此软件包的 elf 二进制影响。分别基于待升级软件包新旧版本两次构建依赖此软件包的其他软件包。分析 elf 中每个节的变化。.text 节比对汇编内容,过滤加载地址类型指令所加载内容一致项,生成软件包评估报告。

eBPF 调试追踪工具开发
capsnoop ,追踪进程在系统调用前后的权能变化,辅助公司定制不同用户赋予不同权能功能中的开发。
processtree ,追踪进程 clone/execve 行为,启动时收集 proc 中进程命令行,运行时收集 task->mm 收集新任务的命令行,并在工具退出时打印一颗进程调用关系树。可以实时收集一段时间内的所有进程创建关系。
vfssnoop ,vfs_open 时解析 dentry 获取完整的绝对路径,并在文件系统调用处绑定信息,可以以系统调用视角展示对文件绝对路径的处理。解决传统 BCC 工具不能解析完整绝对路径问题。

开源贡献
有良好的开源社区沟通贡献意识,在工作学习中发现上游 bug 均会在社区中提出 issue 与 pr 。节选两条上游贡献。其余亦有多次向 fedora bcc 等根社区贡献的已合并 pr 。

dix: Fix segfault if CreateGC() failed in XaceHook()
https://gitlab.freedesktop.org/xorg/xserver/-/issues/1625

Fix loongarch linux_iterate_over_regset_sections wrong
https://gitee.com/src-anolis-os/gdb/pulls/22

发明专利

大概 7 篇专利,ebpf 追踪类居多,因为查询简历能检索到私人信息就不放这里了

文章
工作学习中喜欢钻研,有良好的记录文档习惯。四篇节选文章前两篇为语法特性钻研,从更深入的视角反驳常识观点,后两篇侧重解决问题的能力,使用不同的工具与思路解决不同问题。其余文章可从链接内跳转个人主页查看。

c++,lambda 是匿名函数也可能不是函数
https://blog.csdn.net/weixin_42544902/article/details/149539407

eBPF ,tracepoint 真的比 kprobe 开销更小吗???
https://blog.csdn.net/weixin_42544902/article/details/146226813

抓虫:chown 失败 Couldn't change ownership of savefile
https://blog.csdn.net/weixin_42544902/article/details/139476184

抓虫:申威编译 gcc 过程中 f951 程序 dump
https://blog.csdn.net/weixin_42544902/article/details/144579745
2799 次点击
所在节点    求职
32 条回复
kiraskyler
20 天前
@zzz22333 好的,我再把 cfs 调度器和内存管理的源码再详细看看,内存管理发现很多面试都会问,但是平常 debug 又从来没发现过这方面的问题,导致没详细看过这方面
jukanntenn
20 天前
我一般喜欢这种格式:
eBPF 调试追踪工具开发:开发工具为团队提升调试效率 x%,减少 y% 的内存问题,巴拉巴拉。
zzz22333
20 天前
@kiraskyler #21 我最近再看内存管理,建议不要从高版本看,我从高版本看,有些细节读着很费劲。
zzz22333
20 天前
@kiraskyler #21 可以加 V 探讨学习下。
kiraskyler
19 天前
@jukanntenn 上大学时候申请过一个创新创业项目,就是这么写的,然后评审问,你这个百分比怎么证明?所以谢谢你的好意,这个就不采纳了。
kiraskyler
19 天前
@zzz22333 我用的 qemu 搭建的调试环境,5.10 内核,我的 id 就是我的 v
swananan
19 天前
@kiraskyler
我是看了一些文章注意到这个的 https://lists.iovisor.org/g/iovisor-dev/topic/accessing_user_memory_and/21386221
除了上面的复现场景,我记得看过一个公众号,说过进程刚启动的时候,去读静态字符串的时候,也是读不到,也是一个复现场景
kiraskyler
19 天前
@swananan 里面提到的示例刚好我用到了:“task->mm 收集新任务的命令行”,不过看起来文章里提到的内存管理方面我还不太懂,我还需要学的更深才能深入这个问题。。。
gullitintanni
19 天前
我也是 Linux+C 方向,现在求职屡屡碰壁。如果水平能有楼主的哪怕一半就好了
kiraskyler
19 天前
@gullitintanni 我看了大佬的 “骑驴找马,Linux 面试凉经分享 https://www.v2ex.com/t/1148016”,提到的 ioctl 控制 pty ,pty/pts/session 这些也都是我的知识盲区,我就没看出来题目考的是 ioctl 。。。
kiraskyler
19 天前
@gullitintanni 大佬还是刚毕业,我已工作六年,惭愧😭😭😭😭😭😭
zzz22333
19 天前
@kiraskyler #26 有些地方代码不能调试也没用。比如说我在看 page fault 中的代码,其中会把 current 设置为 running 。为什么会设置为 runnig 呢,page falut 本来就是同步异常,current 本来就是 running 状态。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1151992

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX