笔者在去年有过一段4个月的自学的经历,在学习过程中也是也到很多困难,庆幸的是现在一切已经步入正轨。如果你也在自学,可以看看下面的内容,希望本文能给你启发和信心。不多BB,上货!
1 个人情况
- 学历双非本科,跨专业自学。
- 已经毕业三年,在校期间考过「三次」计算机二级,抄的那种,「没过~」
- 2019年8月开始在家封闭式自学,12月拿到15k Offer上岗,一切都刚刚好。
2 学习相关
2.1 学习资料
- 推荐系统的整套的课件。为什么推荐系统的课程呢?
❝答:
❞
1、系统的课程可以帮你快速的搭建「系统的知识体系」。保证课程的时效性,网上有些分享的课程已经比较久了,内容已经过时。
2、节约你学习的「时间」,不用边学边找资料,找资料的过程其实也挺消耗精力,因为你并知道找到的课程内容是否符合你的预期,必须花时间去学习才能进行判断。一鼓作气,再而衰,三而竭。
- 资料推荐。
❝1、书籍相关:《JavaScript高级程序设计》《ECMAscript 6入门》《DOM编程艺术》《JavaScript语言精粹》《编写可维护的JavaScript》《图解HTTP》《刻意练习》
❞
2、B站:王红元老师Vue入门到精通 「、」 YJango之学习观
3、掘金社区大佬相关博文汇总(文章底部)
4、各种大佬博客汇总(文章底部)
2.2 学习方法
- 思考。其实这个可能大部分同学有一种感受,就是,遇到这个问题我脑子一团浆糊,怎么死?怎么考?我不会。
❝答:
❞
1、改变观念。首先变我不会为这个问题怎么解决?,这个很关键,前者是对自己的否定,被动学习;后者是触发好奇心,主动学习。
2、查。自己想不通,就回头看课件,查博客,查书籍。这时候你的学习效率是最高效的,因为你是带着问题去学习,而不是灌输式学习。笔者通过「查」,在4个月的时间里把上面的书籍和相关大佬的博文都看了一遍。
3、刻意练习。编程还是很考验动手能力的,如果只想不敲,就没有真正的思考,就不会遇见问题,没有遇见问题,就没有学习到解决方法,没有学习到解决方法,也就没有了提高。所以一定要能实现脱离视频可以「敲」出来。一定要通过「敲」构建一个良性循环。这里推荐大家看一下《刻意练习》。没时间的可以看蜡笔和小勋之刻意练习
- 分解。如何将问题进行分解?(这里也是受一位头条大佬的指点,大佬ID:ConardLi)
❝答:
❞
这里不知道看官是否骑自行车上过坡。现在我是每天自行车上班,但是路途中总是有两个比较陡的坡让我很头疼,当我第一次直直往上冲的时候,开始很潇洒,中间很尴尬,上不去。但是当我尝试盘山式的骑行式,发现不冲也能上去!这里通过盘山式的骑行,虽然增加了骑行「长度」,但是化解了「坡度」,反而很轻松的就上去了。
说这个例子其实是想延伸到我们的学习中,当学习中遇见大的问题怎么办?我们可以采取同样的方法,「分解」,将我们的问题细化为小颗粒的,一个一个去研究去分析,之后,就不知不觉,解决了问题。这个技巧在我面试的过程中也使用过,屡试不爽。
- 总结。总结是一个内化输出的过程,你能给输出,才能证明自己学到了。如何总结呢?
❝答:
❞
1、画脑图。笔者遇见一些流程性的问题就喜欢画脑图,脑图有几个特点:形象、系统、节约时间、方便复习。说个画脑图中的收获例子吧,在我绘制"通过输入URL到页面显示的发了什么?"的过程中有一个疑问"我知道这有什么实际作用?"一直没有得到解答,但是当我学习项目优化的问题时,发现这两个问题其实可以一起学习。就是我们针对项目的优化点在网络通信的每一个节点都可以找到对应的解决方法。各位看官可以自行体会其中的妙处。
2、表格。表格可以将所学的知识进行对比式的输出,基本同样的知识点,你写个两三遍就记住了。
(如果看官您还有其他强大的方法,可以留言至评论区,让大家共同学习下)
- 读书。为什么要读书?读不进去怎么办?
❝答:
❞
1、注入灵魂。视频教程虽然可以让你快速成型,但此时的你就好比速成鸡,没有一点鸡味,食之无味,弃之可惜,不香。而通过读书的过程中,可以让你学到视频之外的内容,让你知道原来这玩意原来是这么回事,有时候会有这种感觉"O,原来这个问题是这样的啊"。让你的知识体系更全面,更健壮。
2、有方法。看书的方式得改变,已经不是学生时代了,现在不能每次都从书的第一章节开头看,因为你会发现,不管这本书你拿起多少次,翻得最多的还是前几页,总是看不完,很可能到最后Give Up。「自己得了解自己」。那应该怎么看?「带着问题看」,直接翻到能解答你问题的相关章节,带着问题去读。有时候一个问题可能遇见好几次都不会,那就多看几遍。最后的结果就是,所有的书你都看完了,并且看了不止一遍!
3 时间、精力、注意力与心理
3.1 时间
- 时长要保证。每天学多长时间?
❝答:
❞
保证固定时间。固定笔者在4个月的自学期间每天最少保持12h的学习时长,如果精神可以或者遇到重点可能要到16h以上(记得学习JS操作与DOM、BOM时,每天12点半睡,5点起,也是苦逼啊)。
- 作息。如何调整作息?起不来?
❝答:
❞
按时起床,进行午休。笔者给自己规定的时每天最晚7点起床。刚开始也是起不来,关了闹铃接着睡,但是这样下去觉得自己怎么这么不是玩意,太操蛋。为此我定了不下5个闹铃,并且把手机、平板上的闹铃调整为间隔的,提前半个小时开始响。放在距离床10米开外的地方,就这样解决了,因为你会发现,你被折腾几次后已全无睡意。要保证每天「午休半小时」,这个不用多说。一定要进行午休,并且不能超过半小时。中间的原因大家可以自行百度。
3.2 精力、注意力
- 两力。如何高效专注的学习啊?为什么我就不知不觉开始玩手机了?
❝答:
❞
持续的高效专注是不可能的。笔者刚开始也遇到同样的问题,看着视频就不知道人家讲的什么了,还得从头看。看着视频就开始玩手机了,结果视频放完了,手机还没放下,心里一万个草泥马路过,你怎么能这样啊,要不要脸?羞不羞?恨不得摔了手机,这什么玩意啊,有毒吧。然后含着羞愧的心,继续学习~~~。为此我卸载了手机上的所有娱乐App,关闭所有App通知,并把手机放在距离书桌十米开外的地方,静音!虽然中间还会拿起手机,但是发现频率已经低多了!这里推荐蜡笔和小勋之单核工作法
- 社交聚会。在学习期间要不要参加聚会?
❝答:
❞
参加?不可能的。真正的朋友是互不打扰,时时牵挂。这个时候,一个不小心的聚会很可能花掉你一天半的时间,因为前半天你的心已经不在学习上了。聚会结束后的半天,你还在回味呢,昨天吃的那个真好吃,昨天叫的那个同学真漂亮。啧啧啧。一点也不香。所以如果可以还是拒掉!
3.2 心理
- 恐惧。如果学习完我找不下工作怎么办?面试题不会怎么办?......
❝答:
❞
笔者在学习阶段这经历过这种疑问,常常想着想着就会崩溃。因为人类天性就决定人有恐惧,尤其是面对未知的情况或者是环境的时候,这里我只能说恐惧是无法避免的,但是要学会驾驭恐惧而不是被恐惧支配,实在不行的时候就给你的好友家人打个电话聊一聊,不要自己把自己下个半死,直接Give Up。现在自己能做的就是用这种恐惧感驱动自己去学习,深入的学习,因为你决定不了你能不能被录用,决定不了面试官出的面试题。能决定的只是不断的学习!打好自己手中的牌。
- 焦虑。现在的行情不好,我能找下工作吗?我都28了还适合学技术吗?出去漂以后家人怎么办?......
❝答:
❞
关于行情的问题,在自学期间,我也有听说现阶段的初级前端已经饱和,培训班的培训标准都直接培养中级了,初级出去找不下工作,经济下滑,互联网现阶段不景气,到处裁员(尤其是今年的疫情影响,好多公司就地解散~~~)等等信息。但是我们也能看见一些优秀者,比如社区的神三元同学,就不多介绍了,应该都知道,还没正式毕业已经拿到多家大厂的Offer,凭的是什么?大家可以想一想?我也相信被裁或者找不下工作的同学中多数技术都不到位,平时也没有持续的学习输入,还想要高薪图安稳~~~。机会都是留给有准备的人的,大家能做的就是蛰伏一段时间,提升自己才是关键!
- 积郁。这个我怎么就学不会啊?我这么差劲吗?......
❝答:
❞
并没有。我想说你有这种疑问证明你正在进入状态。只是对自己的期望与现实不相符,导致产生自我怀疑、压抑。面对这种问题的时候不妨降低自己的期望,放慢自己的学习节奏。一点一点蚕食问题。
- 当遇见难以解决的问题或者各种复杂心情的时候,也不妨出去跑跑步,就让大自然去化去你心中的烦恼。笔者有段时间每天往距离家里5公里外的水库跑一圈,不为别的,也就想让坝上的风,路边的花草化解化解我心中的问题。也不妨听一听久石让或者宗次郎的音乐。也不妨先放过这个问题,回头在解决。但是万万不可放弃!
4 面试
4.1刷题
- 什么时候开始刷题?
❝答:
❞
开始时开始。笔者从开始学习时就开始刷题,好处:一是让我明白自己潜力和提升空间还是很大的,因为刚开始作十道错十道,可想而知提升「潜力」是有多大!!!二是可以让我带着「问题」去学习,有了目的性,这个就不再说了。最后是可以检验自己的学习效果,话说不以做题为目的的学习都是纸老虎,假的。而刷题就可以对你的学习效果有个直接的「反馈」。
4.2预面
- 明修栈道,暗度陈仓。何意?
❝答:
❞
面试要有策略性。这里这个方法虽然过分,但是十分受用。当你想去A城市发展时,不如提前针对B城市的招聘信息投递一周简历进行一周的电话面试。这样当我们转战真实战场的时候,已经具备丰富的经验。一周十场电话面足够让你蜕变为面试老油条,真香。
4.3注意
- 自我介绍。
❝自我介绍不要超过三分钟,要「有重点、故事性」。这里每个人的状况不一样,但是总体框架不变。
❞
- 简历
❝项目一定要写自己熟悉的。面试官问项目主要问的就是你在项目中所负责的组要工作,及遇见的问题,怎么解决?
❞
- 场景题
❝思考,不要着急作答,有一定思路再回答。思考的过程要注意前面说过的分解方法
❞
- 沟通
❝面试不是一个简简单单的问答环节,而是一个相互沟通的过程。这中间要注意面试官的引导,甚至引导面试官。学会把握面试节奏。
❞
- 这里为什么没有详细说明呢?因为大家的状况都不相同,有的是应届生,有的是转行,情况不一,只能为大家画个圈圈。在这里面自由发挥,这样才能表现出自己的特点,如果我写个模板,可能用的人多了,就会出问题。骂的还是我啊
5 度过试用期
5.1 保证任务进度
- 项目任务
❝首先要保证项目的进度,每天的工作任务按时完成。动手前一定要清楚产品的需求。当前面临的问题,不要慌!
❞
- 遇见问题
❝如果是编程问题,建议你还是直接百度比较好,万万不可不经思考就去请教同事,露馅。如果是项目问题,可以与产品沟通,或者所在小组同事沟通。切记老板要的是你能不能解决问题,完成工作。其他都可以谈。
❞
5.2 勤奋
- 没什么好说的,干就完了,奥里给。
6 刚刚开始
现在笔者已经安全度过试用期,一切都刚刚开始。中间也是走了很多弯路,所以现在倍加珍惜。人总是后知后觉,经历过才明白,但是一切都不晚。因为我已经醒了。
❝生活不能等待别人来安排,要自己去争取和奋斗;而不论其结果是喜是悲,但可以慰藉的是,你总不枉在这世界上活了一场。有了这样的认识,你就会珍重生活,而不会玩世不恭;同时,也会给人自身注入一种强大的内在力量。——路遥《平凡的世界》
❞
面试题汇总
相关博文:
CSS
JavaScript
- JavaScript深入系列15篇
- 彻底吃透 JavaScript 的执行机制
- 每日一题
- 如何写出一个惊艳面试官的深拷贝?
- ES6 入门教程
- 这里第「2、3、8—11、13、14、16、20—15」—24章节必看!!!
- 快速排序
- 高频 JavaScript 手写面试题
- 43 道 JavaScript 面试题
- 闭包
- js 数组详细操作方法及解析合集
- 解锁多种JavaScript数组去重姿势
- JS原型链与继承别再被问倒了
- 图解javascript原型链
- 彻底弄懂 JavaScript 执行机制
- 推荐阅读《小红书》及《你不知道的JavaScript》涉及到类型转换的章节
Vue
HTTP
Webpack
浏览器
项目及一些开放性问题
- 项目做过哪些性能优化?
- 如何进行网站性能优化?
- 项目中如何做权限限制?
- 如何看待现在的前端工程化开发?
- 项目打包出来的文件结构是什么样的?
- 一般情况下一个
.vue
文件,你能写多少行? - 如何实现一个拖拽的效果
Abox
可以拖拽进Bbox
? - 如何实现放大镜效果?类似于淘宝商品的放大效果,这里问我的是表格
- 现在有个数据库里面有数百万条数据,现在需要快速找出某一条数据,如何实现?
- 你们项目是如何使用git托管代码的?
- 你们项目组总共有多少人?是怎样分配任务的?你负责的哪些部分?
- 从上一家公司离职的原因是什么?
- 你为什么选择投递我们公司?
- 你期望的薪资是多少?你上一家公司的薪资是多少?
- 你认为前端工程师在项目开发过程中扮演一个什么样的角色?
- 在开发过程中,遇到过什么问题?是怎么解决的?
- 你是否能接受一定程度的加班?
- 你的朋友或者同学怎样评价你?
- 你认为你有什么缺点?
- 说一些你遇到的比较难忘的事情?
- 你对未来有什么样的规划?