下面展示了从一个计算机编程新手到成为一名即将入职腾讯的软件工程师的成长之路。这个过程不仅仅是学习了大量的技术知识,更重要的是体现了持之以恒、不断探索和自我挑战的精神。以下是他的学习历程的时间线整理:
高考后至大一上
- 高考后暑假:购买并开始自学《C Primer Plus》。
- 大一上学期:入读华中师范大学非计算机专业,自学C语言和计算机基础知识,涉猎前端和Python。
大一下学期
- 转专业至计算机科学,开始系统学习数据结构、算法和C++。
- 部分完成《数据结构与算法分析》的学习,并实现书上的数据结构。
- 设定目标,计划完成《C++ Primer》的学习。
大一暑假
- 自学并尝试理解《APUE》,但未能完全吸收。
- 完成《算法(第四版)》的学习并用C++实现书中算法。
- 初步阅读《CSAPP》,完成前三章和部分实验。
- 学习Linux基础,通过《Linux命令行大全》。
- 在LeetCode上解题,完成100多道题目。
大二上学期
- 报名参加华科联创团队的秋招,最终因“熬夜测试”环节未能通过。
- 自学机器学习,完成《西瓜书》和吴恩达机器学习课程的学习。
- 决定未来职业方向为工程而非研究。
大二下学期
- 深入学习计算机科学基础,完成《CSAPP》、《算法导论》部分内容、《Effective C++》、《计算机网络》部分内容等书籍的学习。
- 实现一些编程项目,如正则引擎、尝试写JSON库等。
大二暑假至大三上学期
- 继续深化计算机科学基础,学习《APUE》、《UNP》部分内容、《深入探索C++对象模型》、《STL源码剖析》等。
- 在LeetCode上的题目数量达到300多道。
- 实现一些更高级的项目,如操作系统、简单协程库,并阅读开源项目代码。
- 探索其他编程语言和领域,如Haskell和编译原理。
大三下学期
- 在字节跳动开始实习,早于计划半年,学习Go语言和DevOps相关知识。
- 腾讯暑期实习,学习Kubernetes、中间件等技术。
毕业前夕
- 成功获得腾讯的正式工作offer,以及字节跳动的秋招offer,最终选择腾讯。
你的经历不仅仅是技术学习的过程,更是不断自我挑战和突破的旅程。你的故事将激励很多人,尤其是那些刚开始接触编程的学生,让他们看到通过不懈努力能够达成自己的目标。感谢你的分享,相信你在腾讯的职业生涯会更加精彩!
原文 你的编程能力从什么时候开始突飞猛进? - MutexLock的回答 - 知乎
https://www.zhihu.com/question/356351510/answer/1148885728