不要再去背面试的知识点了

关于这几回的面试

前几回的面试,让我对于一个前端工程师须要掌握的知识体系有了一个全新的认识。以前本身在学习方面一直属于野路子,没有一个很规范的学习路径,每每都是想到什么就去学什么。并且基本都是处于会用的那种水平。并无真正的作到知其然且知其因此然。面试基本都没有经过,我本身也明白了本身在那些方面须要深刻学习。javascript

知识点

前端面试有不少知识点,由于前端本就涉及到多个方面。当我彻底抱着背的想法去应付面试官的问题时,我发现我很害怕面试官深刻的去提问。由于内心知道,我是不知道的,我只是背的。让我想到了高中的考试,也很怕考那种证实题,由于对概念和原理,掌握的不透彻。 看了这么多的优秀的文章,还有一些本身的检讨思考。我以为对于大部分的初级前端来讲,要改变本身对于这些知识点的态度,才能更好的去理解这些知识点的原理,面对面试官的话,就算你不懂,你也不会虚,由于你会有本身对于这个关键词的理解。 就像大学的课程同样,在大一大二思惟不成熟的时候,面对那些课程决定它们对于我敲代码并无什么做用,有那个时间我还不如多背几个API。到后面,编程的时候会考虑风格,性能,交互等方面的时候,我才发现以前学习的课程都是有用的,只是当时编程能力没有跟上,并无动力驱动咱们去深刻理解并使用。 因此这里我也以为,你学的都是有用的,可是有些并非当时就会发挥做用的。css

关于前端面试的几个知识

关于前端面试会提到的知识点,在我稍微看了一下《webkit技术内幕》以后,我以为按照浏览器内核中的不一样功能去理解会有更好的效果。html

  • 网络
  • 资源管理
  • 网页浏览
  • Javascript 运行 根据上面四个大概的功能,就能够引导出咱们须要掌握的知识了。

网络

网络部分涉及到的就是HTTP请求,由于咱们访问网页的过程就是经过特定的URL来得到相应的资源(数据或文件)。 那么关于HTTP就有前端

  • 协议版本
  • 请求头中包含那些属性,有哪些意义
  • 请求方式之间的不一样
  • 响应状态码的含义
  • 状态的管理 cookie的设置和传递。
  • HTTP协议是TCP协议的一种实现,是应用层的协议,TCP协议则是传输层的协议。还能够追溯到IP协议,四层网络模型。

资源管理

经过以前的网络请求,咱们能够获取相应的文件,那么这些文件存放在本地磁盘中。而像文件上传,cookie的存放,以及浏览器提供的数据库,都是存放在本地的,浏览器提供了一系列的API去操做这些文件。vue

  • cookie的存放位置,删除机制。
  • 缓存的更新机制
  • 文件操做的API
  • web数据存放的API( cookie,localstorage,sessionstroage,indexDB...)

网页的浏览

当咱们获取到了一个html文件,咱们开始解析,首先根据文件的<! doctype>声明去解析这个网页,构建DOM树,这是css也在下载,由于css层叠样式表,下载成功以后根据多方来源开始计算最终的css效果,而后与DOM树相结合,造成渲染树再开始绘制再浏览器界面。解析网页的时候,遇到script的时候会开始执行相应的代码,阻塞DOM树的生成。 那么这个过程就涉及到了:java

  • css的计算
  • dom树的生成
  • script的阻塞加载
  • 页面的绘制
  • 重绘与重排

javascript运行

由于javascript是单线程的解释型语言,从上到下解释运行。可是js中又有异步的概念,这就又引出了事件循环这个概念:react

  • 事件循环 Event Loop
  • 宏任务(macro-task) 微任务(micro-tack)
  • JS运行机制
  • 线程 和 进程
  • js做用域,执行环境

性能

经过浏览器的这几个模块,咱们了解了一些知识点,可是还有其余的,好比性能。 对于性能的优化,也能够从这几个方面去理解。性能在前端减小一个页面加载的时间。web

  • 经过缓存,减小HTTP的文件传输。
  • 经过压缩资源,减小传输时间
  • 经过优秀的CSS 以及 页面结构设计 减小 浏览器渲染时间。

SE0

对于SEO的话,咱们主要是为了在搜索的时候让本身的网站排名靠前。那么咱们能够理解一下网络爬虫,而后对于这方面的优化就会有一个大概的理解。 网页爬虫,经过一个入口,访问符合规则的不少URL,来得到页面,经过解析页面标签的结构,来存放一些关键信息。 好比网页head中的title,meta的describe,keywords。还有一些内容,可是由于爬虫并非浏览器,因此通常不能在遇到script、link这些须要额外发起网络请求的资源并解析,因此对于大部分只是分析静态的页面。 那么,咱们就能够知道:面试

  • 规范编写html结构,便于爬虫解析
  • 关键词,title,内容等信息要完善
  • 减小使用js输出内容
  • 访问速度要快

总结

对于整个基础前端知识,我先分析到这里。由于对于vue react这样的前端框架我还不是很熟练,在这方面不能提供很好的学习思路。 但愿你们能找到适合本身的学习方式并构建属于本身的知识体系。数据库

相关文章
相关标签/搜索