文章目录
专栏博客链接
从开始到微信/字节/快手/百度Offer ---- 我的大学后端开发学习之路 全系列总结博客
个人介绍
笔者四川成都人
高考617分 2020年考入重庆邮电大学 计算机专业
大学四年 实习了一年半 前后辗转了三个城市 上海/深圳/广州
做了很多项目 比如小型操作系统/编译器相关的正则引擎/还有各种Lab(CSAPP/OS Lab/Stanford Lab等等)
大学期间写博客1200多篇 收获浏览量近100w followers近3k
2022年11月底拿到 腾讯IEG 公共数据平台部门 后端实习offer
2023年春招暑期实习 拿到腾讯音乐 qq音乐事业线实习offer
2023年6月实习离职 前往腾讯音乐实习 实习过程中拿到微信 小程序部门实习offer
后于2023年7月离职 前往广州 微信小程序部门实习
秋招 先后拿到了
微信小程序(转正Offer) 快手主站推荐架构(SSP) 字节飞书 百度商业化Offer
后综合选择转正 留在了微信部门 实习至今
从开始到微信/字节/快手/百度Offer ---- 我的大学后端开发学习之路(二)浅谈时间/精力/学习/方法/学业论
1、写在前面
2023/2/4日 14:16写
其实这系列博客 我最早写的是第一篇和第三篇 第一篇我记得好像是 我的大学生活吧 第三篇是 我的实习秋招面试
第一篇 其实主要的部分 都是在我昨天 在广州图书馆写下来的
图书馆真的是我做什么东西 我最喜欢的地方 没有认识的人 没有多余的声音干扰 永远我都戴着我的airpods pro 只要打开降噪 我便可以很快的专注的做我的事情 没有任何人可以干扰我 我的视角里只有我的电脑
为什么会开这一篇博客呢 放到这个地方写 我想是 这些东西真的太重要了 如何拥有高效的学习方法 如何在学习前期就知道合理的控制自己的精力 学会时间分配
这些东西 其实在刚开始我学习的时候 我也很疑惑这些点 没有人告诉我 我应该如何平衡我的学习生活 课业压力 我应该如何做时间管理 时间分配 专研技术的比重又应该是多少
趁马上要回家的4天 摸鱼的4天内 我想 趁现在还想写点东西 那就再写写吧 就这样
2、浅谈时间分配 学习节奏安排
之前我一直不知道 怎么平衡我的时间 学习的过程中 应该把时间花在哪里
后面在实践的过程中 我才大概有了时间分配的概念
站在我的角度而言 我认为 刚开始的时候 先把百分百的时间放到学习基础课程上面
例如 学习完c语言 c语言的网课可以看看翁凯老师的 讲的特别好
看完网课再刷刷题 比如学校的OJ题库或者杭电的OJ题库 等刷了一段时间 再写点c语言的小项目
例如 坦克大战 / 飞机大战 / 贪吃蛇等小游戏 看个人 等c语言基础扎实后
就可以开始学习数据结构了 学数据结构最好是看浙大数据结构网课 看的时候 再把课后的练习题给刷了
对于初学者 那些题的难度真的不算低 但对于个人能力提升还算很快的
把课后的题都自己独立的刷完 数据结构的学习也差不多了 这个时候就可以开始同步的刷力扣了
这个时候最好有个时间比重安排
我最刚开始的时候 其实刷力扣 基本上刷不出来几道题 刷题所花费的时间比较长 就放在了大脑比较清醒的上午
刷3-5道题 早上8点起床 去图书馆 中间又吃个早饭啥的 差不多就到中午了 后面开始刷mid 和 hard的时候
独立刷 基本上可能直接会刷到下午1-2点钟 然后去吃午饭
上午刷题 下午晚上看网课 & 看书 & 写代码 大概是一个这样的时间节奏
刷题永远不要嫌刷的多 越早刷题 后面对于准备算法部分的心理压力就越小 越不用在这部分花心思
接下来 最好就开始着手 计算机组成原理的学习了 这个时候就要请出CSAPP了
这本书对于初学者而言 确实很难 但是不妨碍它真的是绝对的经典 至于书籍推荐 这个我后面会单独在写一篇博客写一下的
计算机组成原理学的差不多 Lab也写的差不多了 就可以安排剩下三个专业课的学习了
我学习的节奏是 操作系统 -> 计算机网络 -> 数据库
操作系统可以先去看看哈工大的网课 然后 自己看一看书 然后写点Lab啥的 最好是能够自己去看一下《操作系统真相还原》这本书 写的真的很好 但现在我也依旧认为 没有看过操作系统的代码 没有实现过一个 是根本学不懂操作系统的 当然 考试 和 学会是两个概念 我写了各种关于操作系统的Lab 也实现了一个 但期末考试操作系统 还是得看速成课 最后得了70分 所以这个是两个概念
学完后 就可以去学一下计算机网络了 看看网课 最好是读那本经典书籍《计算机网络自顶向下》的黑皮书 认真看一看 写一下里面的各种Lab 挺有趣的 以及最好是去手撕一个Stanford CS144的TCP 极其推荐 然后看完学完 手撕也手撕的差不多了 这个课程其实学习也差不多了
然后又是数据库的学习 这个课程代码方面其实少了很多 最好还是看看书 刷刷mysql 力扣 再深入点的可以看看例如《mysql 高性能》《innodb 技术内幕》等等 这些书籍 至于详细是什么书籍 后面会详细讲的
数据库学习完后 大学课程其实也就差不多了 算法部分的话 其实可以单独买一个《算法第四版》 实践的话 可以在力扣中实践 其实力扣刷的多了 算法部分 对于至少应试 面试 角度而言 就足够了 算法第四版主要还是里面有一些其他的算法 数据结构部分 这本橙皮书 可以把它理解为 数据结构与算法的 加强合集版 应该可以这样理解
手撕手撕 红黑树 如果还有多余的能力的话 可以再手撕手撕 b/b+树 看看kmp quickselect算法 各种sort算法 基础数据结构肯定都是要求掌握的 就差不多了
然后可以再看看《编译原理》这本书 这个很多大学应该都没有把它放在必修课程里面 因为确实学习起来难度比较大 综合要求比较高 面试中其实根本也不考察这个 这个属于是没学没事 学了更好的一个课程 但我觉得对自己有要求的肯定最好还是要学一下的 了解一下编译原理 包括编译里面的处理方式 还是能学到很多东西的
接下来就是学学unix 网络编程了 其实在上面的过程中 如果是学习后端的话 还是最好选择一门自己的语言 c++也好 go也好 java也好 最好是选择一门语言作为自己的主战语言 当然 站在我的角度 我肯定是不推荐大家学习c++
无论是腾讯也好 还是字节也好 学c++这门语言的学习成本 是普遍比其他语言更高的 但最主要的原因 还是这门语言择业范围太窄了 在相同技术能力 表现上 站在用人成本角度来看 公司肯定更愿意用 立马进来就可以上手的同学 而不会选择进来还需要花一段时间转语言的同学
c++就业面相对而言会更窄 最主要原因是腾讯除了wxg 还在以c++为主战语言 其他地方都普遍开始转go了 而字节基本上都使用的可以支持快速迭代的go语言 百度也只有很多老业务使用着c++/php 其他公司 例如 美团/快手/阿里 都还是使用着的java 所以站在找工作的性价比而言 对于一般的同学还是最好选择go java语言 可能更合适一点
学习完网络编程后 差不多也可以开始沉淀一两个项目了 这个项目可以看看之前厉害的学长所做的项目 或者 自己有一些好的idea 可以写一些比较特别的项目 项目做完后 其实就可以开始刷面经 准备简历 找实习了
对于秋招而言 为什么招聘大家都要先看实习经历呢 最主要的原因是 面试官在筛选同学的时候 其实并没有那么多的耐心去一行一行的看大家的简历 首先浏览一下院校 除非太差太差的一眼pass以外 就会先看实习经历 实习经历是其他公司为你做的背板 你在一所大厂工作过 有过实习经历 首先证明你肯定是通过了这所公司的面试 其次你相比没有实习经历的同学 有实习经历 换言之 你相比其他没有实习经历的同学 接手相同难度的工作 肯定能更快适应 更快上手 再其次 你能够过这些公司的面试 没有说明你一定很优秀 但至少说明 你至少不会差 至少会让面试官愿意给你一个面试的意愿 这就够了
所以在一个好的公司实习过 这很重要 尤其是在最近几年 有没有实习经历几乎变成了一个大厂的入场券 以前可能是一段大厂实习经历在秋招就可以拿遍所有的offer 而现在则是没有这些实习经历 可能连面试机会都会少之又少
总之 实习经历很重要 尤其对于最好的那几个大厂而言 有过实习经历才是彼此的入场券
刷面经的话 刚开始没有一个问题会是正常的 那个时候我保持的节奏是 上午刷题 下午+晚上刷面经 上午那个时候基本上就能保持对于刷过的题 上午刷10道左右 2个小时 10道题最优解 下午在背面经 刚开始可能很难 后面就会越来越熟 越来越顺 当面试问题自己已经感觉10道题可以说出个9道 10道题左右的时候 就可以开始投递简历 找实习了
这个是我推荐的时间分配和学习的节奏分配 当然 最好是付出100%的时间在这上面 因为当我两年几乎把我所有时间放在了上面 直到大二暑假 大三开学的时候 才到了差不多可以面试的状态 所以时间其实真的很紧张…
3、浅谈保持高状态的学习状态 精力控制
我其实感觉我在大学里面 做的最好的应该就是精力控制 和 保持高状态的学习状态了
因为其实学习大量新东西 包括完全没有接触过的东西 是极其消耗精力的事情 但如果不能很高效的学习任务 其实在单位中的学习时间 能够学到的东西就少之又少 再加上如果自己又很容易被干扰 比如课业压力 忙于奔波于各种课程中 无法专注于当前任务 忙了一会又觉得疲倦想看手机 那可能最后几年下来的结果 大概率是处于一个假忙活的结果 玩也没玩好 学也没学好
保持高状态的学习状态 是需要基于 每天的精力充沛 其实在那段日子里 我每天很刻意的在给自己营造一个高效的学习空间 和 清醒的大脑
能够考上非常非常好学校的同学们 其实绝大部分对于在相同时间内相比一般人 对自己的控制能力是更好的 也就是 其实很多在高中的时候 就培养了自己这些 例如 自控能力 精力控制能力 在进入到大学的时候 高中培养的这些一般人没有的习惯 就可以让他们在面对相同的学习任务 完成得更好 学习的可持续性能力也会比一般学校的同学更好
我在高三暑假 基本上每天都是凌晨3点睡觉 12点钟起床 每天起来就是打游戏 打PUBG
但其实在高中的时候 我就对自己认知特别清楚 我不是一个自控力很好的人 在荒废了高一和高二的时候 为了在高三尽可能的再认真学习一下 我选择了周末不回家 把自己留在了学校 从外界环境把很多诱导我 比如荒废时间 比如整天整夜打游戏 比如回家就想睡觉 这些因素 在环境中就隔绝掉 尽可能把自己留在一个相对学习高效的环境 我自己就不需要更多的精力再去控制自己不去整天整夜打游戏 不去睡觉 当然 要说高三真的认真学习了吗 只能说尽力了 那个时候还有女朋友 在没分手的时间 周末几乎也天天腻歪在一起 只能说躲过了游戏和温暖的家 没躲过自己年轻的荷尔蒙和高水平的激素分泌 还好最后被提了分手 痛定思痛学习了最后的半个学期
但从高中的时候 其实我对我自我的认知就很明白了 我是一个没有办法把感情和生活分的很开的人 我是单线程的人
第二 我并不是一个自控力很好的人 我需要自己给自己营造一个不容易受干扰的环境
第三 我需要想清楚 想明白 自己为什么一定要做到什么事情 因为我觉得 外驱力 既是动力也会是阻力 只有内驱力才会是 长期且正向的动力 如果只是因为短期的薪资高涨和短期的学习热情而开始学习的话 只是因为外界的环境因素而开始想着专注的话 这个必定是持续不了很久的 就像健身一样 当你自己心里面没有为什么一定要做到某个事情的想法 和 清楚自己真正想要什么的这种思考 注定了在一个需要长期坚持的马拉松中 当自己短期的热情消缺后 逐渐懈怠然后放弃
所以包括现在我做什么事情 我都需要想清楚 为什么我一定要做这个事情 我真正想要的是什么
如果没有想清楚 那就等发生了什么情况 或者 自己真正想清楚的时候 再去做
上面只是初浅的谈了谈 环境因素对于人的影响 尽可能的呆在有利于自己想去做事情的环境 尽可能的远离可能会让自己偏航的人或者事
而如何保持一个高效 积极的状态 我唯一想的是 保持足够良好且充足的睡眠 让身体保持长期稳定且舒适的环境
保持足够良好且充足的睡眠 至少在我实习的一年多 是没有达到的 没有达到的效果其实也很明显 我每天的精力以及脑力 相对于在大学期间 每天12点准时睡觉 9点起床的时候 差了不止一星半点
那个时候我们寝室 11:30熄灯后 在12点睡觉后 就再也没有任何声音了 寝室非常非常非常安静
再加上我知道第二天还有很多很多的事情等着我做 加上一天疲惫的脑力消耗 基本上我躺下几秒钟也就差不多睡着了 寝室有一点很好 狭小的环境 11:30自动熄灯 等周围环境漆黑的时候 其实那个时候人就会想睡着 至少亮光对于人的刺激 是消失了 再加上那个时候 我自己买了个放手机的地方 我睡上铺 我在下铺的床支架上 绑了一个放手机的地方 那个放手机的地方 每次上床我就会把手机自动放到那个支架上 一旦上床 再去拿那个手机就特别特别费力 这样也就避免了我睡觉前玩手机的习惯 因为从环境因素 就先阻止了我玩手机 我去拿我的手机特别特别困难 人又已经上床了 所以其实前两年 我睡觉前基本上都没有玩过手机 12点钟基本上也就准时睡觉了 睡眠质量也特别特别好
开启完全崭新 愿意出发的一天 一切的前提是 保证良好的睡眠
以及 那个时候 我忙所有的东西 我都会远离寝室 那个时候我记得我对一句话 深信不疑 只要早上早起后 拿着书包里打开寝室门去往图书馆 今天就已经胜利一半了
我那个时候对我休息 学习的区域分的特别清 我理解 寝室就是拿来休息的地方 我是坚决不会在寝室里面学习的 不仅效率低下 而且还会影响其他在寝室里面休息的同学 通过心理上严格区分休息和学习的区域 离开寝室 自己便进入到高效的学习状态中 回到寝室后 想怎么发疯 玩游戏 休息 就怎么休息
在这种良性循环下 其实学习状态自然而然就会保持的比较好 精神饱满的出发学习 -> 学习新东西 遇到困难(消耗精力) -> 学会后 敲代码 & 刷题 & 写博客(产生正反馈) -> 累了散散步 到处走走 买点吃的开心一下(适当休息) -> 疲惫一天后 回到寝室休息(发疯 & 刷视频 & 听音乐) -> 早睡 困倦的状态 一秒睡着 -> 元气满满的早起
尤其是寒暑假 我知道回到家后 大概率那种状态就会被破坏 所以我尽可能的在高效的状态中 高效的环境中 每天都保持相同的节奏 因为我知道环境变化后 可能我就很难再保持这种状态了 所以大学的前两年 除了在不得已的情况 我在大学里面留校了两年 后面的大三 也都是在上海 深圳 广州度过的
把所有的精力和时间都集中在同一个事情上 直到现在 我做很多事情 仍然保持着这样的状态 只需要几个小时的高效 就可以完成很多很多的事情 如果不是大学的这几年 我也没有办法想象 在这么短的时间内 原来自己真的可以做那么多事情
直到现在 这几年发生的事情 仍然对于我而言 是一笔宝贵的财富 也是成为了我后面做事的基调
可以听一听谢老板的《Ready》 这也算是我后面起床必听的一首歌
4、浅谈学业压力 与 课外学习
准确的来说 我走到现在基本上没有上过学校任何一节课 我直到现在也仍然 学校里面没有一节课是有用的
至少对于我的专业技能而言 学校里面的课程过于落后以及淘汰 与现在公司所要求的完全是两个概念 时间很有限 事情很多 越早的对自己的时间以及精力去做安排 才越有机会能够在残酷的竞争抉择中胜出
我所作出的选择 可能是非常规途径 我几乎就把大学的课程全部旷掉了 我把所有的时间都留给了我的专业课程 我的课外学习 当然 这也面临着 几乎没有的平时分 取消考试资格 辅导员的责问 各种各方面的压力 由于平时根本没有学习 需要考过所有的专业课考试 也就意味着期末考试需要比别人考的更高 才有可能勉强及格
大学至少到今天而言 我的必修课都过了 只有选修课由于没有上过课 被取消过几次资格 还有期末及格 平时分太低挂了 由于我所在的班级比较特殊 要求不能挂一次必修课 挂科后换班还要导致多修10多分的学分 所以其实大学期间 我的课业压力还是非常大的
但也就像我上面所说的那样 如果我连这部分的压力都没有办法承受 因为想要获得的更多 在相同的时间 需要比别人学到更多的东西 不仅在专业技能上 不停的学习拓展 还要完成课程内的东西 自然而然需要去承担更多
但走到了现在 也还有半学期就要毕业了 开学考试 把之前由于平时分40分 期末考了60分的挂掉的选修补考过了 再补一个因为旷课挂了的水选修 我的学分也就修完了
所以其实这个还是因人而异的 但确实我相对于我的朋友 同学而言 确实多了很多因为自己的选择而多出来了的压力和事情 也就像我之前所说的 当我在面对 收益远大于所需要承担的风险和压力时 我会毫不犹豫的选择这个选项
90 + 30分的效果 远大于 60 + 60分的效果 没有人在意你 所有方面都始终平庸的分数 但至少进入社会中后 别人只会第一眼看中的是你的90分 而不是你的30分 这句话我记得应该是从第一篇中当时我复制出来的链接博客里面学到的 但事实确实是这样的 包括工作也是 没有人在意所有方面都平庸的人 而大家都会注意到 在某个方面特别突出的那个人 没有人要求你各方面都要很好 但至少你需要一项你能够拿得出手的东西 作为你立足社会的技能也好 作为你后面的职业技能也好 但至少需要有
我舍弃了我的学业 我尽可能的让我的课程不挂科 保持在70分左右 但我在我所在领域的方面 我做到了最前面 这就够了
其实 我想了想 好像也没有什么好谈的了 后面应该还有一篇 我是先写的 第一篇 和 第三篇 后面还会补一个第四篇 就是对于 对应专业课应该看的书籍推荐 这个最后在列一篇 我的全系列总结也差不多完结啦
我有的时候想了想我的文章 我写的东西没有一点点高大上的 没有一点有文风 文笔的样子 每句话都是 我想到了什么 我就写了出来 相比较第一篇 我写的东西 没有一点点可比性
但无论怎么样 我站在我的角度 说了很多可能相对而言更接地气一点的东西吧 把我的经历讲了出来
希望对你有些帮助
还是非常非常推荐下面的回答 我看过的回答和博客很多 还是下面几篇对我影响最大 推荐大家去看看~
从开始到微信/支付宝/Airbnb/抖音Offer——我的大学客户端开发学习之路
你的编程能力从什么时候开始突飞猛进? (MutexLock)
从网瘾少年到微软、BAT、字节offer收割机逆袭之路
从开始到微信/支付宝/Airbnb/抖音Offer——我的大学客户端开发学习之路(一)开始——步入大学生活
从开始到微信/支付宝/Airbnb/抖音Offer——我的大学客户端开发学习之路(二)时间、方法与效率
从开始到微信/支付宝/Airbnb/抖音Offer——我的大学客户端开发学习之路(三)基础,基础,基础
从开始到微信/支付宝/Airbnb/抖音Offer——我的大学客户端开发学习之路(四)基础知识之外