1
头图

前端学习那些事儿

今天和小伙伴们聊聊学习这事。对于编码的学习,我认为基础知识和编程实践是最重要的。刚开始学习前端的时候,是将基础知识学习一遍,所用教材可以靠学校发的教材即可。基础学习过后,最重要的就是实践,可以不断做一些模仿网站,以及到最后自己设计网站等。

收藏平时交流的信息:

  • 技术学的再好,没有开发经验,和产品经验,是很难写出好的代码。因为写代码本身是带有目的性的,解决问题。
  • 如果在校,学习程序很迷茫,是因为不知道学这个用来干嘛,自身没有想做的东西,所以就很迷茫,不知道学什么,为什么要学。
  • 工作,要对一个产品了解到什么深度,代码就越健壮。
  • 学习方式是有捷径的避开所有看不懂学习资料,找看的懂的,拿起一本资料或者网上找的资料,细度几分钟,看不懂直接找早别的资料
  • 有可能能力未达到 所有看不懂 也有可能 资料本身描述 很难懂 更有可能 资料描述不适合自己阅读习惯
  • 优先 实现功能 再考虑优化

那么你是否自己坚持了呢?当你想要学习,拿起手机时,你会不会发现,你已经不知不觉偏离了正轨,从娱乐新闻到头版头条,微信99+未读的消息,你心里想的就是看一会儿,就看一会儿。结果不知不觉时间过去了10分钟,半小时,1小时溜走了。然后你开始焦躁,后悔,自责,但是到了第二天,你又掉进了相同的坑里。

你会不会也很纳闷,为什么我的自制力这么差,为什么有些东西让我欲罢不能,因为你已经上瘾了,有个实验小白鼠遇到电流会躲避,但是奇怪的现象发生了,小白鼠不但没有躲避,反而一次又一次的自我电击,经过发现,原来是实验中不小心把某位置弄错,刚好刺激了快感中枢的位置。所以,你也许就像这小白鼠一样上了瘾。

一个真相是,科技巨头们在社交软件视频平台,网络游戏中精心布置了一个又一个沉迷的钩子,目的就是为了截取更多的用户,获取他们的更多时间和金钱,我们正在被一个算法和娱乐所刺激中,但很多人却不自知,那么如何摆脱上瘾的行为呢?

就是去了解让人沉迷于网络的钩子:

  • 可望而不可即的诱人目标
  • 无法抵挡无法预知的积极反馈
  • 渐进式的进步和改善的感觉
  • 越来越困难的任务需要解决,但暂未解决的紧张感
    如,你发布了某消息,你会去暗中观察,有没有人给我点赞,写文章,有没有人给我点赞,有没有人给我评论等等。(我很期待!!!)

其实你可以把这些钩子投入学习中,把学习当做兴趣,升级打怪,不断提升自己。

你的选择

自己的人生自己选择,你可以选择一条简单的路,选择沉迷在你的手机里,刷视频,打游戏,煲剧,毫不费力的收获大把大把的快乐,你也可以选择一条更加艰难的路,选择自律,选择延迟慢走,选择成长。

用你的右手做什么,由你自己决定

学习方法

只要掌握了正确的方法,学习前端和学好前端就只是个时间问题这句话谁都会说,但什么是正确方法?小编在这总结了3点,仅供参考。

1、梳理清楚知识体系框架

学习前端,不管是入门还是进阶,一定都要有知识体系建设的想法。就算是刚开始学,也一定要有这样的意识。前面说过,因为前端知识点多而分散,所以如果不能构建起自己对于前端的知识体系框架的认识,很容易就会不知所措,没了方向。

现在网上关于前端知识体系的脑图很多,但是往往过于复杂,不适合初学者。作为一个初学者,每个人都应该自己做一份自己的前端知识体系脑图,先有一个最基本的框架,然后在学习的过程中慢慢完善。

这样通过和别人脑图的对比,你也很容易知道还有那方面的知识是需要补充完善的。

这里我给出一个简单的模版,其实作为一个刚入门的前端新人,有这样的大框架已经完全够用了,不用追求大而全,学习的畏惧心理也会小很多,随着你学习的深入,这个脑图也会慢慢丰满起来,最终会形成你自己的知识框架。

这样看起来是不是清爽很多?

2、准备和基础的学习

要开始的时候做一些基础工作还是必要的,比如选一个自己喜欢的编辑器啊,比如科学上网啊,比如怎么高效的使用搜索引擎啊,比如git啊,比markdon语法啊,这些东西都可以大幅度提升你的学习效率或编程的幸福感,所谓磨刀不误砍柴功,你也可以把这些东西记在你的脑图里。

接下来你就可以开始学习基础知识啦。HTML,CSS,Javascript这三样真的很重要,真的很重要,真的很重要,刚开始的时候你压根不用去管那些花里胡哨的框架,一定要把基础打好。框架再怎么更新迭代,最基础的东西还是这三样,只要你能掌握好基础,就等于拿到了打开前端世界的钥匙。

不管你的前端学习到了哪个阶段,对基础知识的好奇心一定不能断,这里面有太多细碎的知识点,每一份spec都又臭又长,就算你已经工作两三年,这里面肯定都还有你不知道的东西。好了,到这个时候你的知识体系脑图差不多应该长成这个样子了:

进行到这里的时候其实又有一个坑,很多人到这儿的时候就一头扎进去去看里面的具体内容了,比如去看各种标签的属性用法啊,去看选择器啊,这就是比较典型的没重视知识体系框架建设导致的盲目做法。

推荐的做法是什么样的呢?其实很简单,就是再去细化这些知识点的层级,理清各个知识点的脉络,从宏观上先对这些知识的体系和框架有一个比较清楚的认识。
就拿HTML来简单的举例一下:

这样把知识点的层级关系抽象清楚,对每个小的知识点合理分类,才能让前端知识里那些庞杂的知识点形成体系。

现在你就可以去往里面补充些细节的东西了,你可以在脑图上用不同的颜色标出不同的优先级,以便划分学习的优先级并方便以后review。

3、把学的东西用起来

每次学过一些小的知识点,都要想办法把它们用起来,想清楚这些知识点的有哪些使用的场景,等到基础知识学到一定程度了也可以反过来,先预先想好场景和要实现的功能,再去想在这些场景下面该用哪些知识,如果遇到了解决不了的问题和没有学过的知识,去你的脑图里把它的位置搞清楚,写出来。列入后续的学习计划。

一定不要一直看,一直学,却不在具体的场景里去用,你应该养成拿自己学到的东西做些东西解决些问题的习惯。不断的做出东西,解决问题,不断给自己正向的激励,不断的完善自己的知识体系,一定要让自己有成就感。

学习笔记

一、HTML

  • H5新特性
  • 浏览器渲染原理解析
  • iframe有那些缺点?
  • Label的作用是什么?是怎么用的?
  • HTML5的form如何关闭自动完成功能?
  • 如何实现浏览器内多个标签页之间的通信? (阿里)
  • 页面可见性(Page Visibility API) 可以有哪些用途?
  • 实现不使用 border 画出1px高的线,在不同浏览器的标准模式与怪异模式下都能保持一致的效果。
  • title与h1的区别、b与strong的区别、i与em的区别?
  • 你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?
  • 每个HTML文件里开头都有个很重要的东西,Doctype,知道这是干什么的吗?
  • div+css的布局较table布局有什么优点?
  • img的alt与title有何异同? strong与em的异同?
  • 简述一下src与href的区别
  • 知道的网页制作会用到的图片格式有哪些?

二、CSS

  • box-sizing
  • 水平垂直居中的方法
  • 实现左边定宽右边自适应效果
  • 三列布局(中间固定两边自适应宽度)
  • BFC(Block Formatting Contexts)块级格式化上下文
  • 清除浮动元素的方法和各自的优缺点
  • css实现自适应正方形
  • position的值
  • 如何在页面上实现一个圆形的可点击区域?
  • 介绍一下标准的CSS的盒子模型?低版本IE的盒子模型有什么不同的?
  • CSS选择符有哪些?哪些属性可以继承?
  • CSS优先级算法如何计算?
  • CSS3新增伪类有那些?
  • display有哪些值?说明他们的作用。
  • CSS3有哪些新特性?

三 、JavaScript

  • js基础
  • DOM相关
  • BOM相关
  • JS高级
  • 闭包
  • 原型与原型链
  • 作用域与作用域链
  • apply, call和bind有什么区别?
  • 谈谈对this的理解
  • 那些操作会造成内存泄漏?
  • 深入贯彻闭包思想,全面理解JS闭包形成过程
  • 下面这个ul,如何点击每一列的时候alert其index?(闭包)
  • js继承方式及其优缺点
  • 上下文环境对象

四、前端框架

1.jQuery

  • jQuery.fn的init方法返回的this指的是什么对象?为什么要返回this?
  • jquery中如何将数组转化为json字符串,然后再转化回来?
  • jQuery 的属性拷贝(extend)的实现原理是什么,如何实现深拷贝?
  • jquery.extend 与 jquery.fn.extend的区别?
  • 针对 jQuery 的优化方法?
  • JQuery一个对象可以同时绑定多个事件,这是如何实现的?
  • bind(), live(), delegate()的区别
  • jQuery框架中$.ajax()的常用参数有哪些?写一个post请求并带有发送数据和返回数据的样例
  • jQuery一个对象可以同时绑定多个事件,这是如何实现的?
  • jquery 中如何将数组转化为json字符串,然后再转化回来?
  • Jquery与jQuery UI有啥区别?
  • jQuery和Zepto的区别?各自的使用场景?
  • Zepto的点透问题如何解决?
    2.angular
    3.react
    4.vue

五、 扩展性问题

  • 职业规划&&未来期望
  • 页面重构怎么操作?
  • 列举IE与其他浏览器不一样的特性?
  • 什么叫优雅降级和渐进增强?
  • 是否了解公钥加密和私钥加密。
  • WEB应用从服务器主动推送Data到客户端有那些方式?
  • 你有用过哪些前端性能优化的方法?
  • 一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?(流程说的越详细越好)
  • 对前端工程师这个职位是怎么样理解的?它的前景会怎么样?
  • 平时如何管理你的项目?
  • 前端学习网站推荐
  • 常使用的库有哪些?常用的前端开发工具?开发过什么应用或组件?


    篇幅有限原因面试题只列举一部分,需要完整版的前端面试学习笔记的小伙伴们请点击这里直接领取噢

结束语:如何坚持学习?

  • 如果你玩游戏的话,请放弃游戏,或者戒掉一段时间,直到找到满意工作。
  • 找到你的痛点。
  • 分段学习,制定符合周期的计划。不要逼着自己,否则压力会让你崩溃的。
  • 找点鸡汤,或者去找点你没有但渴望得到的东西。
  • 业务方面,多看点书,多总结积累一些思考方式。

最后灵魂一问:

  • 你的梦想是进大厂吗?你明白的,这需要一点小小的代价。
  • 你是万中无一的奇才?如果不是,那么失败几次是正常的,大家都是普通人,也许只是不 match。

Tiger老师
79 声望8 粉丝