写在最前面的话。同学们大家好。

我觉得我没有什么资格去指导别人应该如何去学习,比我厉害的人太多太多。

你们可能会惊讶于我如何在短短半年时间从零到实习,其实答案很简单,就是比别人付出更多的努力。网上关于学习路线的分享可以搜出来太多,我也未必在正确的方向上,所以我仅仅把自己做过什么分享出来供大家参考,如果你能在看的过程中有所收获,我发自内心的高兴。

起源

这段话无关学习的过程,简单介绍一下学习之前的情况,因为我实在荒废了太多的时间,也许你也有着同样的境遇,但是现在一切都还来得及,想直接看学习过程的可以跳到下一段。

我好像从中考之后,在学习这上面就再没过起色。

我虽然考上了我们市最好的高中(小城市,高中不是很多),但我高中三年在学校大榜上几乎都是倒数。

我每一学期都专注着自己喜欢的事情,但没有一样和学习有一点瓜葛。

高一刚入学,我在运动会400米上肌肉拉伤在家躺了一个月,趁着这个机会,我把王者荣耀打上了王者。

我未来几年的生活就如同这在家的一个月,在浑浑噩噩中度过了。

高中三年我好像把不应该做的事情都做了一遍,从最开始每天打王者,狼人杀,到后来打扑克,打麻将,泡网吧,谈恋爱,就打篮球和羽毛球都算是我做过的最正儿八经的事情。

到了高三一模的时候,我考了三百多分(这成绩放在考研倒是还不错),我不知道你们有没有过一种感觉,越到高考前压力越大的时候玩的越开心。

最后我考上了一个普通一本并且被调剂到了和我想报考的计算机没有任何关联的专业。

大一的生活总是丰富多彩的,往往都与学习没有什么关联。

我其实一直都有个幼稚的电竞梦想,我初一联盟就打上了钻石,高中打了一千多个小时的绝地求生,我高考之前的想法就是先考个大学,之后就没人管我了,我就可以去实现电竞梦了。

大一刚开学我以学习的名义组了一台电脑,了解一些电脑配置的同学应该知道2080Ti是什么概念。当时正巧大学里我的一个高中兄弟说要搬出去住,接下来的几个月我就没怎么见过上午的阳光。

我经常会晚上打到四点多,早上六点多起床去早读(因为要签到),日落而作,日出而息。

当我慢慢摸到电竞的门槛的时候,学校和家里的压力以及一直走下坡路的游戏让我不得不放弃了这个念头。

接下来是长达半年的疫情生活以及无法转专业的无奈。

我曾经一度把希望寄托于转专业上,甚至让我重修一年课程我都愿意,我也天真的认为,只要我不挂科就可以转专业。

转专业失败当时对我是很大的打击,我真的觉得我大学的生活失去了希望。

乐观,想得开,可能是我的优势之一,让我能从挫折中再次爬起来。

我大二上学期的想法是考研,我希望通过考研弥补我大学的遗憾。

我当时在知乎上看了很多考研的经验贴,像什么张宇,李永乐,肖秀荣等一路考研名师我都认识了个遍。

在我开始准备考研的两个月之后,我掉入了另一个深渊。我被室友的云顶之奕(一款自走棋游戏)所吸引,游戏于我而言就如同烟草对于吸烟的人,酒精对于酗酒的人,我不敢去碰它,一旦开始就很难再停下来。

我当时以为我可以在游戏和学习之间做到完美的平衡,这荒谬的借口。在未来的几个月,我甚至做梦都在棋盘上,我好像就如同一枚棋子,被游戏所摆布。

我的生活好像一直都陷入了一种循环,我决定接下来要好好学些什么,遇到了什么好玩的东西让我沉迷,当我懊悔的时候又再次下定决心,一切就这样来到了大二下学期三月份开学。

转折

大二下学期了,一切好像又重新开始,我也不记得我是什么时候看见了互联网校招的消息,找实习的想法在我这一学期的学习过程中逐渐坚定下来。

我大一下学期的c语言是挂科的,如果说我还有其它什么跟计算机搭边的基础的话,那大概就是打联盟练出来的打字速度了。

所以虽然我定下了秋招的目标,但互联网大厂于我而言真的是遥不可及。

最开始我是考研和找工作两手准备的,我每天一边看着张宇的基础十八讲一边看着慕课上的数据结构和b站上宋红康老师的java课程。

一开始真的很痛苦,处处碰壁,每天要看的东西太多太多,学校里还有课程需要去上。

面对当时的情况,我必须做出一些取舍,学校的课程只要它不点名,我就待在图书馆,然后我把考研作为我之后如果秋招和春招失败的选择。

我会规划我这个月要大概学习的内容,确保我整体上学习的进度,不会在某一门课程上停滞不前。

我会在每天早上起床之后的时间以及去图书馆路上的时间想一想我今天大概都要学哪些内容。

我一直都是并发的在学习,每天分成一块一块的时间用来学习不同的知识,让我能够尽快拓宽知识的广度。

我从开始到现在做的最正确的一件事:

可能就是一直在坚持数据结构和算法的了解。

我在网上找了一些讲算法的视频课,每天都会去看一个章节,并且从我没有任何基础的时候我就每天坚持在力扣上刷题。

但是我在这也走了不少弯路,我最开始是去刷每日一题,后来发现自己在没有任何算法基础的情况下,每日一题只能让我意识到自己有多菜。

每日一题在我看来更适合于用来巩固现有的算法知识体系,以至于我到后来都再没有去碰过它。

我开始加快了视频学习的过程,让自己能够了解到更多的算法,在整体上有一定的认识。我看的是左程云老师的视频,这不是我看过唯一的讲算法视频,但是确实是我最喜欢的课程。

他的讲解会非常细致,但又不会去讲很多的废话。我的建议是无论看哪个算法的视频,都要去自己实现一遍,千万不要觉得自己已经看会了,这种在看视频过程中的理解特别容易遗忘。

学了哪个算法之后可以去力扣做同类型的题,做题就是确定这道题用什么算法和如何实现这个算法的过程,在初期的学习中我认为更重要的是如何实现这个算法,在对常见的一些算法有了了解后,可以去刷力扣上已经分好类的热题,锻炼看到一道题应该选择什么算法的能力。

重复刷一些自己做过的题是非常有必要的,题并不是做的越多越好。

我在看完了java课程之后我按照网上的学习路线去看了MySQL,我认为在初期学习MySQL能够写出基本sql语句就足够了,当然后面需要对MySQL进行深入的学习。

我学习过程中走的最大的弯路:

就是急于学习的进度而不去对学的一些知识进行实践。

比如学习java多线程的时候就应该自己动手创建几个线程完成一些交替打印的简单功能去加深理解,学习MySQL的时候就应该多去写sql语句。

之后我学习的是javaweb,学习这个我觉得意义主要在于对MVC的理解,为后面做一个铺垫作用。再后来就是学习SSM框架以及springboot,这些知识的共同点都是简化开发。

我的建议是结合一个简单的项目去学习,不需要等什么都学完了再去做一个项目,可以在做项目的过程中需要用到什么就去学什么,这样学了什么东西可以立刻用出来,让自己更快上手。

我在后半部分学习的主线其实就是尚硅谷的谷粒商城项目,虽然这个项目里用了非常多的知识,你看上去可能觉得自己什么都不会,认为自己完成不了这个项目。

但其实当项目中用到某个技术的时候,你去学习这个技术,效率会更高而且你也知道这个技术可以用在什么地方。

我建议在一点一点实现项目的时候,多去做一些笔记,比如一些业务的实现思路,我在做项目的过程中就没有去进行记录,而且视频看的特别快,导致在做到后面的时候根本不记得前面是怎么实现的。

在实现项目的过程中,建议去深入学习一些知识,比如MySQL,Redis,jvm之类的,可以看一下《高性能MySQL》《Redis的设计与实现》《深入理解java虚拟机》这几本书,都是之后面试中经常会问的内容,不需要整本书都看,直接看更有价值的章节。

如果能把自己学到的知识运用到项目中是最好的,比如优化一下MySQL数据库的索引。

当你基本上完成这个项目的时候,积累了一定的数据结构和算法知识,学习过计算机网络和操作系统,就可以去尝试投简历参加面试了。

如果你是和我一样非科班出身,没有学过计网和OS,这确实是一件很头疼的事情,你需要在网上找一些视频课来看。

最好可以学到对应章节同时看一些书,比如《计算机网络:自顶向下》《现代操作系统》。这两门课不仅是在面试时会问到,它还会对你之后的学习有所帮助,总之就是很重要。

说到这里,其实就是我从开始到现在的一个学习路线,有一些我也没有能够做到,我也走了一些弯路,希望你能够吸取到我的一些教训。

浪潮之巅

这个标题源自之前看过的一本书的名字,这部分主要分享一些面试的经历。

我最开始总是不敢投简历,觉得自己还没有准备好,但是其实没有完全准备好的时候,面试就是你学习的助推器,你可以发现自己的不足。

准备简历的时候要保证自己简历上每一条所写的东西自己都很了解,面试官经常会围绕简历提问。

我的简历都是在牛客网上投递的,牛客网上可以找到一些内推,让简历更快得到答复。

在准备面试之前,我也是看了非常多的牛客上的面经。

可能最开始我连面经上问的是什么都看不懂,但是看多了,我就大概知道哪些是面试中高频的问题。

简历其实就是多投就好了,我一开始也是想着先投一些中小公司,最后再投大厂,但是我等了好多天都没有得到回复。

简历得到回应的时间自己无法预期,而更重要的是积累面试的经验,所以我只要看到了合适的岗位就都去投了。

面试中有个技巧就是当面试官问到你一个你熟悉的问题的时候,尽可能多的去说,与其相关的一些知识也可以说一下,你说的时间越长,面试官问你的时间就越少,问到你不会的问题的可能也就越小。

所以要多对一些高频面试题进行深入的了解,让自己能答出更多的内容。看面经的时候不要光看,自己要开口去尝试把问题的答案讲出来,脑子中想的往往到嘴上再说出来不是那么容易。

大厂面试是比较喜欢考算法题的,大概是力扣中等难度的水平,一般都是热题,所以力扣上剑指offer和热题要反复做。

当面试官问到的问题你不回的时候,试着答一些和这个问题相关的内容,这样一定是比什么都不答效果更好的。

至于在回答问题试着去引导面试官提问上,我倒是没怎么达成过,面试官有时候未必会按你回答的去提问,所以把你自己知道的尽可能都说出来,不要等着面试官去提问你。

面试会紧张是很正常的事情,这个无法避免,只有当你面的越来越多,自己才能慢慢克服。

其实面试就是分成三块问题:项目相关的问题,计算机基础知识(主要是计算机网络和操作系统),数据结构和算法。

越是大厂可能越注重知识的深度,所以对所学的知识不要只停留在八股文的层面。面试其实说再多都不如自己去实际经历一把,你会在面试的过程中越来越强。

后记

于我而言,这次面试其实是新的开始,我在面试之前已经做好了无功而返的心理准备。

因为我在面试中发现了自己的很多问题,我知道了我下一阶段要做出哪些调整,也计划好了下一阶段要学什么。

所以我知道无论面试成功与否,我都有所收获,我都在进步。

提一个小的建议,也是某个面试官给我的建议,不管学哪块的知识,不要只停留在书本上,多去实践敲一些代码,比如当时面试官和我说,你学习jvm的垃圾回收器,你可以试着去打印日志看一看垃圾回收的过程。

讲到这里,我已经尽我所能把我能想到的一些有价值的东西分享出来了。

我有时候真的挺羡慕985,211名校的学生或者是计算机科班出身的,你们站在了更高的起点上。

我也不想牺牲着自己的健康去努力,我假期没有回家,每天几乎都熬到后半夜,尤其是上个月的后半个月我是在一个通宵自习室度过的,晚上睡觉就趴在桌上的抱枕上,睡不着的时候你就不得不学习了。

我说这些其实不是想表达我有多么努力,而是说任何人都可以达到自己想要的目标,其实就是你付出多少努力就有多少回报,我以前真的不相信有运气这玩意,但现实就是越努力越幸运。

如果你也是非科班出身,我可以很明确的告诉你,学习资源不会成为限制你的瓶颈,网上有太多学习的资源不需要你花费很大的力气就能找到。

也许你在看完这篇分享之后内心会有一些触动,但这不会维持太久,能让你坚持下去的只有自己下定的决心和对目标的执着。

最后分享一句自己很喜欢的话:

无论是程序还是代码都是人写里,这里面没有什么黑魔法,既然是人写的,我们作为人就一定能看懂。

最后

目前python前景是最好的,下面有一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

关于Python技术储备

现在竞争这么激烈,只有通过不断学习,提高自己,才能保持竞争力。



温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。

我,自学5个月拿到字节offer,双非,非科班,分享一下我是怎么过来的相关推荐

  1. 5年Java老鸟,靠这份Java全能手册闭关3个月拿到字节offer!

    开篇 为了帮大家快速回顾Java中知识点,这套面试手册涵盖了诸多Java技术栈的面试题和答案,相信可以帮助大家在最短的时间内用作面试复习,能达到事半功倍效果. 本来想将文件上传到github上,但由于 ...

  2. 非计算机专业自学1年拿到算法offer的总结(附学习路线)

    本文总结自己学习计算机视觉的经历. 我就是非计算机专业的,在18-19年1年时间内自学拿到商汤实习offer,20年毕业加入思谋成为一名算法工程师. 之前写过一个实习面经,感兴趣的可以看一下计算机视觉 ...

  3. 清华大学校计算机志班,获清华招录的截肢少年:病房自学7个月,想学计算机

    新京报讯(记者 刘瑞明 实习生 兰涵)安徽霍邱截肢少年周桐获清华大学降分招录的励志故事引发众多关注.2019年9月,备战中科大少年班的他被一辆失控的渣土车碾过左腿,多次手术后,左小腿截肢.突如其来的意 ...

  4. 成为谷歌工程师是不是特别难?不用,自学 8 个月也可以!

    这篇文章的原稿是一个读者发给我的,我觉得真心不错,就自己整理了一下,文章后面还提供了 PDF 离线版的地址,希望能够对小伙伴们一点点帮助,不喜轻喷.(逃 首先来看一下谷歌工程师的要求:名校出身.CS( ...

  5. 自学python数据分析要多久-总结||自学六个月,谈谈零基础如何转行数据分析

    副标题:<学完SQL,如何转行数据分析> 水了很久学习啦,从刚找工作时无心学习到现在不会学习.虽然最近一直在想学习的事,也制定好下阶段的学习目标,但总是做事拖延.坚持一两天又不想学习. 主 ...

  6. AI:2020年6月24日北京智源大会演讲分享之机器学习前沿青年科学家专题论坛——10:40-11:10金驰《Near-Optimal Reinforcement Learning with Sel》

    AI:2020年6月24日北京智源大会演讲分享之机器学习前沿青年科学家专题论坛--10:40-11:10金驰<Near-Optimal Reinforcement Learning with S ...

  7. AI:2020年6月23日北京智源大会演讲分享之AI交通专题论坛——11:05-11:35杜博文教授《基于广义时空数据挖掘的交通复杂行为认知-从研究到工业》

    AI:2020年6月23日北京智源大会演讲分享之AI交通专题论坛--11:05-11:35杜博文教授<基于广义时空数据挖掘的交通复杂行为认知-从研究到工业> 目录 11:05-11:35  ...

  8. AI:2020年6月23日北京智源大会演讲分享之智能信息检索与挖掘专题论坛——09:55-10:40刘兵教授《Open-World AI and Continual Learning》

    AI:2020年6月23日北京智源大会演讲分享之智能信息检索与挖掘专题论坛--09:55-10:40刘兵教授<Open-World AI and Continual Learning> 导 ...

  9. AI:2020年6月23日北京智源大会演讲分享之AI创业专题论坛——10:00-10:30张亚勤教授《智能产业新浪潮》

    AI:2020年6月23日北京智源大会演讲分享之AI创业专题论坛--10:00-10:30张亚勤教授<智能产业新浪潮> 导读:首先感谢北京智源大会进行主题演讲的各领域顶级教授,博主受益匪浅 ...

最新文章

  1. 独家 | 一份数据工程师必备的学习资源,干货满满(附链接)
  2. js日期的初始化的格式
  3. 音视频封装格式、编码格式知识
  4. profiler分析器——R语言
  5. 小程序员的大梦想 与盖茨像哥们儿
  6. github.com/oschwald/maxminddb-golang 安装报错
  7. 纠结的链接——ln、ln -s、fs.symlink、require
  8. 写写做数模竞赛的经验
  9. php处理har,harviewer har解析工具
  10. 归并排序——Java代码实现
  11. tftp协议服务器IP地址,TFTP服务器的搭建
  12. 【破解APP抓包限制】Xposed+JustTrustMe关闭SSL证书验证
  13. 二元二次方程例题_2元1次方程100道题 七年级数学下册二元二次方程组100道计算题及答案!......
  14. 隐藏在Windows XP中的28个秘密武器
  15. keras实现交叉验证以及K折交叉验证
  16. 在香港不能用GPRS上網(转)
  17. 蜂窝状/六边形格子网格的定位/坐标转换
  18. Pagination 分页实现跳转首页和尾页
  19. java pdm 解析_java解析静态AIS原始数据
  20. ADSL常见网络故障及排除

热门文章

  1. C语言习题练习8--扫雷游戏
  2. 微信小程序 引用字体
  3. html添加css过渡效果,html – 使用css3对show / hide元素的css过渡效果[复制]
  4. stm32智能垃圾桶,垃圾分类
  5. 写一个python代码,实现在中国国家统计局的官网上收集近3年的GDP数据,然后将这些数据绘制到一个折线图上展示出来...
  6. Pytorch中CNN图像回归问题预测值都一样
  7. 点击数字自动拨号写法(打电话)
  8. 干货 | 加拿大留学计算机专业及编程语言大汇总
  9. matlab的2DCNN、1DCNN、BP、SVM故障诊断与结果可视化
  10. echarts如何让图表占满整个div容器