工作经验不是用你工作了几年来衡量的,哪怕你工作10年,但这10年你干的活内容是一样的,没有突破,那你的工作经验就是一年
专栏整体目录:
(拍拍脑袋罗列的,我后面也会持续补充,撰写完成的会加上链接地址)
1、基础知识:
- linux内存管理
- 进程管理调度
- malloc内存申请原理
- 反汇编
- 栈详
- .......等
2、基础工具:
- gdb、gdbserver:【工具】gdb使用详细介绍
- cat /proc/*目录内容
- GNU binutils
- .......等
3、死机问题排查手段:(死机类型:简单的空指针死机、堆内存越界、栈内存越界、野指针、硬件ddr短路导致的ddr访问异常等)
- asan:【工具】Asan快速定位内存越界、内存泄漏_asan 内存泄露
- Valgrind:【工具】Valgrind交叉编译和实战
- 堆越界:【堆越界】堆内存越界问题排查
- 栈越界:【栈越界】栈被破坏导致的死机
- .setenv死机:【死机】setenv设置环境变量偶现死机
- dlopen链接动态库引发的异常死机:【死机】dlopen_dlsym缺失符号导致的段错误死机
- ......等
4、性能分析:
- TOP
- perf:【工具】perf工具_嵌入式设备_性能分析
- strace:【工具】linux strace工具使用和问题定位
- gperfTools
- .......等
5、oom初步定位
- 栈上局部变量定义过大导致的oom:栈上局部变量定义过大导致设备oom
6、内存优化的一些手段:
-
内存整体思路:
-
memleak内存泄漏:【内存优化】内存泄漏问题排查_malloc重载
- glibc缓存问题解析:
- 栈内存优化:【内存优化】栈上局部变量定义过大导致设备oom
- 数据段优化:【内存优化】数据段大小分析
- 代码段优化:【内存优化】代码段大小分析
- .......等
7、内存泄漏
- gperfTools
- memleak:【内存优化】内存泄漏问题排查_malloc重载
8、其他
8、经验分享
- 软考(高级系统架构师、杭州E类人才):【经验分享】软考-高级系统架构师经验分享
- 【经验分享】嵌入式软件工程师工作经验分享
刚入职场时,迷迷茫茫,领导给啥活干啥活,觉得自己很忙就是很努力,薪资就会越来越高,直到有一天,想明白一句话,感觉自己顿悟了:
工作经验不是用你工作了几年来衡量的,哪怕你工作10年,但这10年你干的活内容是一样的,没有突破,那你的工作经验就是一年;以前奉行着在工作中成长,现在想法变成了在成长中工作;工作几年一直在寻找一个问题排查的专栏,想跳过自我总结这一步,直接拥有5-10年的工作经验,想要工作5年却有着别人10年的工作经验,但到目前为止遗憾也没能找到这么一个专栏,现在自己工作这么些年了,成长为公司专家,解决了很多问题,对自己的解决的问题做一个深挖、回忆、总结,同时也分享出来方便大家借鉴。
专栏整体协作思路:
总体如何分享还在持续构思和改进当中,目前计划是先零碎的分享一些排查过的问题,使用到的工具和方法。由于排查问题涉及到的内容太多了,先直接分享基础知识,然后再介绍案例感觉这样对于阅读来说效率也是比较低的,所以可能还是以工作中解决问题的案例切入,案例中用到哪些工具、涉及哪些基础知识就对那部分做深入的分享。
试用群体:
- 毕业工作几年,但是都只是局限于业务编码层面,没有机会去解决一些疑难问题的:并不是你工作完成好了,你就变得优秀了,真的不要自欺欺人,工作经验不是用你工作了几年来衡量的,哪怕你工作10年,但这10年你干的活内容是一样的,没有进取,那你的工作经验就是一年
- 想要扩宽自己思路的:我觉得做程序员就得一直学习
- 可能你会说学了似乎没有用的场景:你可以不深入,但是你得知道有这么个东西,用的时候知道哪里可以学,你得先自己做好准备,有大展拳脚晋升专家的机会才能把握住
- 可能你会说我学过每几天就忘记了还不如不学:结合实战,用的多了就会记住;但是我觉得最关键的,其实不是你自己真正记住多少,而是在学习和深入去排查问题的过程中,自己潜移默化的变化,考虑问题的角度,整个人的格局都会在你没有感知的情况下慢慢变化(说来话长,但深有感触)
- 嵌入式软件工程师
- 在校学生
持续补充.........