点击上方“大鱼机器人”,选择“置顶/星标公众号”

福利干货,第一时间送达!

本文源于知乎回答,文末点击阅读原文,即可查看原问题,以下为原文。

-正文-

在啃掉一本本计算机经典书籍和写下大量代码以后。

疫情原因回不去学校,作为一个马上毕业,即将入职腾讯的大四生,分享一下自己的学习历程吧。

本人在大学之前从未接触过编程,最开始的编程学习还是在高考完后,从书店买了本C Primer Plus,然后暑假开始啃,前前后后也就看了几十页。

大一上的时候,来到了华中师范大学,还没有转专业到计算机,一直在自学C语言和看一些计算机入门书籍(编码、计算机科学概论)。

当时也很迷茫,不知道以后道路如何,所以也学了一些杂七杂八的东西(前端 python啥的),所幸的是,当时坚持把C Primer Plus结结实实地精读了一遍,而且几乎练习题都做了,算是比较好的开端。

大一下,转专业到计算机了,开始自学数据结构,算法和C++,部分看完了 数据结构与算法分析,并且把书上的数据结构实现了一遍,记得当时五月份给自己的flag是看完C++ Primer,然后每天上课看,晚饭吃完后也跑去七号楼刷书,最后囫囵吞枣似的看完了大部分。

大一暑假,txr大佬给我说他面试通过了华科的联创团队Unique Studio,而且给我说他们团队都特别厉害,有些人在军训的时候就把C++ Primer给蹲着看完了,当时十分钦佩,幻想也能够进入贵团队。

于是打算在大二上的时候,去报名他们的秋招。所以,那个暑假在学校自学,呆了五十多天。最初,拿起一本APUE,看了一章后感觉看不懂又放下了。

然后,又拿起一本红色封面的算法第四版,这本书看完了,并且用C++把上面的算法都实现了一遍。另外,听知乎大佬说CSAPP是必看的神书,当时也懵懵懂懂地看了前面三章,做了lab。

为了学习 linux,还看了一本叫 linux 命令行大全的书。武汉的夏天很热,只能寂寞待在宿舍的我,打开了 LeetCode 的世界,写了一百多道题。

大二上,十月,忐忑迎来了联创的面试,前面两轮都过了,直到其特色的“熬夜测试”环节,因为实力不足+精力不足,测试败北,没有通过。

清晨七点,在回学校的公交车上思考自己不足,总结是知识体系仍然不够完全,而且深度也不够。后来这个学期有点“误入歧途”的意思,入了 Machine Learning 的坑,记得当时花了好几个月刷完西瓜书和吴恩达机器学习课程的讲义(真佩服当时的毅力,都是英文和公式推导),后来想了想,ML/DL这个东西有点玄学,于是毅然决定成为一名做工程的程序员。

总的来说,虽然这个学期的时间都投入到 ML 的学习中,没有学习工程方面的东西,只有用python写了一点好玩的爬虫,但是给了我以后坚定走工程方向的决心吧。

大二下,这个学期是打下计算机知识基础的关键时期。从知乎找了一系列书单,看完了CSAPP(做了lab,为了bomb lab还通宵了,强迫症想让自己把炸弹都拆了)、半本算法导论、effective C++、计算机网络系统方法(前三章)、部分TCP/IP详解等,做了一些项目,比如正则引擎(这个是参考了轮子哥的教程)等等,尝试写JSON库(未遂)。

其实,因为学校只是一个普通211,找到好工作的学长学姐先例很少,一直是没有信心自己能去大厂,直到当时了解到孟永康学长在春招收割了一系列offer后,才有了些许信心,相信自己如果能够像他那样努力,那么也能够找到好工作(感谢myk学长那时的鼓励和指导)。

所以,定下了一年把自己水平提升到能够在大三下春招的时候拿下大厂offer的目标。

大二暑假和大三上也一直为这个目标奋斗,补上了APUE、部分UNP、深度探索C++对象模型、STL源码剖析、操作系统概念、操作系统真象还原、Linux多线程服务端编程、部分C++ template、部分C++ Concurrency in Action等书籍。

然后,也一直没有放弃刷题,LeetCode写到了三百多道。同时也做了一些项目,跟着操作系统真象还原写的操作系统、简单的协程库,阅读了一些优秀的开源项目,SGI STL、muduo、libgo、libco等。

中途还对haskell产生过兴趣,打印了一本Learn Yourself Haskell For Great Good,看完后感觉坑太深,还是专注找工作吧,haskell对我一直都有很强的吸引力,但是这种也只能作为爱好吧。

另外,编译器也是有这种魔力,看了部分编译原理(龙书)、部分现代编译原理(虎书)和部分Engineering a Compiler,多次尝试写自己的编译器,多次未遂(不过现在有空了,在补上之前的烂尾项目)。当年的笔记哈哈:

部分学习笔记

时间到了12月份,9号楼某个自习室内,txr大佬一直鼓励我去投简历找实习,本来我一直畏畏缩缩,对自己不太有信心,被鼓励后想着投就投吧。当时投了字节跳动和momenta的实习,面试都比较顺利,于是在大三上就在字节跳动开始了愉快的实习,比自己的计划早了大半年。

当时为了准备面试,看了好多牛客网的面经,查漏补缺式地补齐自己的知识盲区。

大三下,基本都是在实习,学习了很多工程实践上的东西,接触了go的技术栈,并且对devops和软件工程方面有了认知,包括代码管理、发布流程、微服务啥的。

然后实习的时候骑驴找马,找到了腾讯的暑期实习。因为这个时候没有了找工作的压力,所以开始学一些自己感兴趣的东西,包括Rust(至今水平还是不太行)、分布式系统(DDIA、MIT6.824等),零零散散学了点东西。

大三暑假,腾讯实习了两个月,开始学习kubernetes、各种中间件等实际业务用到的东西,这个时候就感觉拥有到扎实的计算机基础是最重要的东西。

最后,顺利拿到了腾讯转正和字节跳动的秋招offer,两家都给的比较高,选择了工作体验更喜欢的腾讯哈哈。

总的来说,学习计算机是需要积累的,花一两年时间啃下那些厚厚的经典书籍后,才能构建自己的知识体系,然后阅读大量优秀源码,做一些有趣的项目,编程能力就能突飞猛进啦。

现在回头来看,大学时光真是如此宝贵,这是人生中为数不多可以静心学习的一段时间,可以不用考虑任何其他事情,每天学习十多个小时。

部分藏书

-END-

往期好文合集

模块化编程到底有多重要?

厉害了!华为继鸿蒙OS后,即将发布国产编程语言,打破国外垄断!

2020年9月编程语言排行榜:C语言继续第一,你站哪个?

最 后

若觉得文章不错,转发分享,也是我们继续更新的动力。

5T资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、单片机、等等

在公众号内回复「更多资源」,即可免费获取,期待你的关注~

我的编程能力从什么时候开始突飞猛进相关推荐

  1. 知乎高赞:我的编程能力从什么时候开始突飞猛进的?

    作者 | 编程指北 来源 |  编程指北(ID:cs_dev) 知乎上有个提问: 你的编程能力从什么时候开发突飞猛进? 觉得挺有意思的,所以顺手回答了下,同时也发到我的公众号上来,这篇文章纯碎是记流水 ...

  2. 长篇连载(一):你的编程能力从什么时候开始突飞猛进?

    今年的更新频率稍作改变,每周一篇技术文章的基础上再加上一点其他的东西,可能是互联网人物.见解或者这种类型的. 这个故事不会太监了,主要会以个人的历史为主,就从大学开始,会截止到现在为止,最多应该不会超 ...

  3. 长篇连载(一)你的编程能力从什么时候开始突飞猛进?

    今年的更新频率稍作改变,每周一篇技术文章的基础上再加上一点其他的东西,可能是互联网人物.见解或者这种类型的. 这个故事不会太监了,主要会以个人的历史为主,就从大学开始,会截止到现在为止,最多应该不会超 ...

  4. 你的编程能力从什么时候开始突飞猛进的?

    如果提到程序员,很多人的印象是:呆板.木讷.不懂浪漫.如果提到代码,很多人的印象是:枯燥.繁琐.很难理解.但其实程序员的浪漫是普通人想象不到的,有一个网友为了追女生,以自己和女生为主角写了一个战棋类R ...

  5. 怎么深入学习计算机,深入提高编程能力

    笔者最近在学习计算机的过程中,好像遇到了瓶颈. 学了很多东西,但感觉都不是很精通,也不知道怎么深入下去,很焦虑很迷茫. 学了操作系统,学了计算机网络,学了数据结构与算法,深入学习了C语言,学了Pyth ...

  6. 备考12月份电子学会青少年编程能力等级测试(图形化)的公益训练营即将开营

    一.考试安排 考试方式 考试形式:在线居家考试(全国) 报名时间:9月26日08:00 ~ 11月23日16:00 退费截止时间:11月23日16:00 准考证下载时间:11月30日 ~ 考前1天 考 ...

  7. 【青少年编程(第30周)】关于青少年编程能力等级测评的科普!

    2021年09月12日(周日)晚20:00我们在青少年编程竞赛交流群开展了第三十次直播活动.我们直播活动的主要内容如下: 首先,我们奖励了上周测试超过60分的小朋友. 其次,我们一起分析了电子学会Sc ...

  8. 【复盘】如何培养小朋友的编程能力?

    Scratch家长群已成立,微信后台回复[Scratch家长群],即可进入. 如果加入了之前的社群不需要重复加入. 前几天,我在得到听了 邵慧宁的故事,就想着把游戏化的思维应用于培养自己孩子的编程能力 ...

  9. 编程能力差,学不好Python、AI、Java等技术,90%是输在了这点上!

    据了解,超90%的人在学习Python.Java.AI等技术时,都是在网上随便找个入门的教程就开始学起来. 然而多数人在看了不少教程后,还是很难独立完成项目,甚至反思自己为什么学了这么久编程能力还是这 ...

最新文章

  1. 我在 GitHub 上都见过哪些沙雕项目?
  2. excel Match函数不同匹配类型用法解析
  3. 数据结构源码笔记(C语言):冒泡排序
  4. 深入理解 Vuejs 动画效果
  5. C# 系统应用之清空回收站操作
  6. 双卡项目如何在状态栏显示或隐藏G,3G以及卡1和卡2的信号标识
  7. 使用Linux 显示日历 cal -y (可以快速制作简易万年历)
  8. idea java 快捷键_图示Javahtml5开发中IDEA的一些常用默认快捷键
  9. 验签传时间戳目的_不瞒你说:买来的海鸭蛋,一戳就流油,被中央台频频“曝光”,秘密终被解开...
  10. 高并发架构消息队列面试题解析
  11. vscode写java快捷插件(Extension Pack for Java)
  12. 使用ffmpeg打开ts格式视频文件
  13. 2021-08-07:与数组中元素的最大异或值。给你一个由非负整数组成的数组 nums 。另有一个查询数组 queries ,其中 queries[i] = [xi, mi] 。第 i 个查询的答案是
  14. python求奇偶数和_用Python返回偶数和奇数
  15. 最后期限Lite,兴趣社区圈子论坛小程序前后端
  16. MAC地址定位技术的大数据警用应用
  17. Excel怎么快速删除空白表
  18. 如何快速查询学术会议
  19. python打包whl文件
  20. mac苹果电脑删除顽固残留软件图标

热门文章

  1. 如何部署Docker镜像到SAP Cloud Platform
  2. 在Safari里也能像Chrome里一样,通过执行js修改变量的值,在debugger里立即生效
  3. where is application controller bound to application main view
  4. 如何在outlook的日历Calendar里实现按照多时区显示日程安排
  5. jQuery init debug
  6. 1536299 2013 - PPR item change - Genil mode
  7. 如何通过query获得一个product的所有附件
  8. 动态决定viewarea应该加载哪个view
  9. 实拍Jerry Wang去德国出差期间居住的美丽的德国小镇
  10. 一些使用javap反编译出来的结果分析