资讯专栏INFORMATION COLUMN

前端面试-好难哇~

funnyZhang / 1489人阅读

摘要:知识点前端面试有很多知识点,因为前端本就涉及到多个方面。因为对于这样的前端框架我还不是很熟练,在这方面不能提供很好的学习思路。

关于这几次的面试

前几次的面试,让我对于一个前端工程师需要掌握的知识体系有了一个全新的认识。之前自己在学习方面一直属于野路子,没有一个很规范的学习路径,往往都是想到什么就去学什么。而且基本都是处于会用的那种水平。并没有真正的做到知其然且知其所以然。面试基本都没有通过,我自己也明白了自己在那些方面需要深入学习。

知识点

前端面试有很多知识点,因为前端本就涉及到多个方面。当我完全抱着背的想法去应付面试官的问题时,我发现我很惧怕面试官深入的去提问。因为心里知道,我是不知道的,我只是背的。让我想到了高中的考试,也很怕考那种证明题,因为对概念和原理,掌握的不透彻。
看了这么多的优秀的文章,还有一些自己的反省思考。我觉得对于大部分的初级前端来说,要改变自己对于这些知识点的态度,才能更好的去理解这些知识点的原理,面对面试官的话,就算你不懂,你也不会虚,因为你会有自己对于这个关键词的理解。
就像大学的课程一样,在大一大二思维不成熟的时候,面对那些课程决定它们对于我敲代码并没有什么作用,有那个时间我还不如多背几个API。到后面,编程的时候会考虑风格,性能,交互等方面的时候,我才发现之前学习的课程都是有用的,只是当时编程能力没有跟上,并没有动力驱动我们去深入理解并使用。
所以这里我也觉得,你学的都是有用的,但是有些并不是当时就会发挥作用的。

关于前端面试的几个知识

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

网络

资源管理

网页浏览

Javascript 运行

根据上面四个大概的功能,就可以引导出我们需要掌握的知识了。

网络

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

协议版本

请求头中包含那些属性,有哪些意义

请求方式之间的不同

响应状态码的含义

状态的管理 cookie的设置和传递。

HTTP协议是TCP协议的一种实现,是应用层的协议,TCP协议则是传输层的协议。还可以追溯到IP协议,四层网络模型。

资源管理

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

cookie的存放位置,删除机制。

缓存的更新机制

文件操作的API

web数据存放的API( cookie,localstorage,sessionstroage,indexDB...)

网页的浏览

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

css的计算

dom树的生成

sript的阻塞加载

页面的绘制

重绘与重排

javascript运行

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

事件循环 Event Loop

宏任务(macro-task) 微任务(micro-tack)

JS运行机制

线程 和 进程

js作用域,执行环境

性能

通过浏览器的这几个模块,我们了解了一些知识点,但是还有其他的,比如性能。
对于性能的优化,也可以从这几个方面去理解。性能在前端减少一个页面加载的时间。

通过缓存,减少HTTP的文件传输。

通过压缩资源,减少传输时间

通过优秀的CSS 以及 页面结构设计 减少 浏览器渲染时间。

SE0

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

规范编写html结构,便于爬虫解析

关键词,title,内容等信息要完善

减少使用js输出内容

访问速度要快

总结

对于整个基础前端知识,我先分析到这里。因为对于vue react这样的前端框架我还不是很熟练,在这方面不能提供很好的学习思路。
希望大家能找到适合自己的学习方式并构建属于自己的知识体系。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/93834.html

相关文章

  • 写给初入门/半路出家的前端er

    摘要:半路出家的前端程序员应该不在少数,我也是其中之一。年,冯冯同事兼师兄看我写太费劲,跟我说对面楼在找,问我要不要学,说出来可能有点丢人,但是在那之前,我真得不知道什么是,什么是。 半路出家的前端程序员应该不在少数,我也是其中之一。 为何会走向前端 非计算机专业的我,毕业之后,就职于一家电力行业公司,做过设备调试、部门助理、测试,也写过一段时间的QT,那三年的时间,最难过的不是工作忙不忙,...

    Cc_2011 评论0 收藏0
  • 2019春招前端实习面经总结

    摘要:春招前端实习面试记录从就开始渐渐的进行复习,月末开始面试,到现在四月中旬基本宣告结束。上海爱乐奇一面盒模型除之外的面向对象语言继承因为是视频面试,只记得这么多,只感觉考察的面很广,前端后端移动端都问了,某方面也有深度。 春招前端实习面试记录(2019.3 ~ 2019.5) 从2019.1就开始渐渐的进行复习,2月末开始面试,到现在四月中旬基本宣告结束。在3月和4月经历了无数次失败,沮...

    atinosun 评论0 收藏0
  • js技术 - 收藏集 - 掘金

    摘要:还记得刚开始学习的时候,内存管理前端掘金作为一门高级语言,并不像低级语言那样拥有对内存的完全掌控。第三方库的行代码内实现一个前端掘金前言本文会教你如何在行代码内,不依赖任何第三方的库,用纯实现一个。 (译) 如何使用 JavaScript 构建响应式引擎 —— Part 1:可观察的对象 - 掘金原文地址:How to build a reactive engine in JavaSc...

    Guakin_Huang 评论0 收藏0
  • js技术 - 收藏集 - 掘金

    摘要:还记得刚开始学习的时候,内存管理前端掘金作为一门高级语言,并不像低级语言那样拥有对内存的完全掌控。第三方库的行代码内实现一个前端掘金前言本文会教你如何在行代码内,不依赖任何第三方的库,用纯实现一个。 (译) 如何使用 JavaScript 构建响应式引擎 —— Part 1:可观察的对象 - 掘金原文地址:How to build a reactive engine in JavaSc...

    zhou_you 评论0 收藏0
  • 所有用CSS3写的3D特效,都离不开这些知识

    摘要:之前张鑫旭博客写的效果讲解得不错啊,既然是大神,应该能搜出点什么,结果一搜,还真有。参考感谢张鑫旭这篇文章好吧,变换,不过如此还有一篇写得不错的,帮助理解和属性最后引用张鑫旭的一句话纯粹从网上些效果代码,那永远就是的命咯 起因 昨晚在做慕课网的十天精通CSS3课程,其中的综合练习是要做一个3D导航翻转的效果。非常高大上。 以往这些效果我都很不屑,觉得网上一大堆这些特效的代码,复制粘贴就...

    Arno 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<