非科班的大厂逆袭之路(c++)

 
Category: Road

写在前面

2023 年是本命年, 都说本命年生活会辛苦, 果然如此, 从 2 月中下旬回到学校开始, 就一直忙忙碌碌, 上半年的两门专业课程, 考试, 找实习的种种挫折, 实习阶段的疲惫, 秋招开始的各种笔面试, 中期答辩之前的超大工作量, 一年马上要画上句号了, 我也来谈一下这一年的一个学习之路吧.

我是本硕数学专业的, 一开始感觉对数学有很大的兴趣, 后来本科才发现自己对数学的理解其实并不深刻, 也并没有达到那种能继续做研究的境界, 想做偏向应用部分的东西, 后来做的一些项目, 主要是 Python 为主, 就让我感觉到走技术这条路也未尝不可. 硕士做的方向虽说有计算机相关, 但是想要出成果难上加难, 枯燥的数学第一次让我不那么感兴趣了…

先说结果, 目前我已经上岸某大厂的 C++后端开发工程师, 主要做算法工程化, 其实也就是当时实习的部门.

其实学习C++经历了很多的挫折的, 一开始刷力扣就习惯了 Python, 但是岗位没有竞争力加上自己想去挑战更深层的东西, 所以就走上了C++这条不归路…

C++的学习

首先第一次接触 C++ 是在本科的计算机程序设计基础课上, 但是那时候我连数组都整不明白, 对于类和对象更是不明所以. 后来自己学了 Python, 竟然自信的想挑战 C++了..

在 2022 年年末我开始看黑马的课程, 然后想去看侯捷老师的视频, 但是我发现很难理解, 就又去啃了 C++primer, 之后再 2023 的上半年基本就是看书为主了, 依次看完了下面的几本书

  • Effective STL : 没错, 我当时觉得 STL 的应用性比较强, 加上看到了很多力扣算法大佬的题解中 C++的奇技淫巧, 更想先把 STL 学好了
  • Effective C++, More Effective C++: 这两本书有一些相似, 都是讲实际使用的, 很多面试题也是取自这两本书, 第二本书中关于智能指针的实现那里可以多研究一下
  • More Effective C++ : 讲了很多现代 C++的知识, 非常值得学习
  • C++并发编程实战 这本书当时看了除并发代码设计和无锁编程的其余内容, 但是缺少工程实践, 很多东西看了就忘记了
  • 深度探索 C++对象模型: 理解了虚函数的内容
  • STL 源码剖析: 学习 STL 必看的书
  • 深入理解 C++11: 一开始跟着敲了一些例子, 后来主要看Effective 了

后续要看的书

  • C++template 第二版, 这里建议看第二版, 第一版很多东西都过时了
  • 设计模式 重构
  • Linux 下的二进制分析, 对理解 so 库的对接等有帮助

视频

  • 黑马 C++ 入门必看
  • 侯捷老师的系列课程: 内存部分和 startup 可以稍后再看, 但是面向对象的两部分, 新标准和 STL一定要看
  • 李建忠老师的设计模式课程, 老师给出的分类很有启发性

计算机基础的学习

主要是看八股, 但是想去理解还是要看书看视频

  • 网络: 看了网络是怎样连接的 不过要想熟悉网络还得从 TCP 开始
  • 操作系统: 强推 操作系统导论 一开始知道这本书是在南京大学 jyy 老师的课上, 当然后续还有 Linux 系统编程手册, 主要讲工程实践的系统调用的, 不推荐全部看完, 还是要当做查手册一样去看
  • 数据库: 这部分看的不多, 主要看了一些八股, 当然自己也实际做了很多题, 看完了 MySQL 必知必会
  • Linux: 一直在折腾, 总有新的体会和发现, 主要去看文档和 tldr 就好

项目

自己去看 webserver 看不太懂, 尤其是那个 epoll 的设计, 不太符合串行执行的直观

看了牛客的视频, 也简单理解了.

学习之路从不停止

既然走了 IT 这条路, 就注定要开卷了..

多去看多去学领域前沿的东西, 了解技术变现, 不要埋头写代码, 从架构层面看问题.

现在的 AGI 这么火, 为什么不去了解呢

  • 模版
  • llama
  • 二进制逆向
  • 网络安全
  • go
  • 爬虫