Web前端面试常问知识

95272021-12-13 11:41

  高薪,高福利,高入职率。听到这几个待遇是不是觉得很好,这就是互联网程序员们的找工作时所得到的福利,只要你的技术过关,好的工作就会向你招手,今天为大家整理了一份面试的内容,希望对您有所帮助。

  1、http和https的区别

  https协议需要申请ca证书,一般免费证书少,所以需要一定的费用。

  http是超文本传输协议,信息是明文传输,https是安全的ssl加密传输协议。

  http和https使用完全不同的连接方式,使用不同的端口。前者80、后者443、

  http连接简单,无状态;HTTPS协议是由SSL+HTTP协议构建的可加密传输网络协议,比http协议更安全。

  2、前端世界的安全保护

  跨站脚本攻击(XSS)

  事实上,跨站脚本攻击是通过某些方式将Javascript代码注入用户dom并执行,从而实现一些窃取用户cookies以获取监控用户输入的行为。

  XSS攻击:转义和过滤用户提交的任何内容。

  CSRF(跨站点请求伪造)

  用户登录受信网站,生成相应的cookie。当用户不退出登录受信网站时,他们访问了钓鱼网站。钓鱼网站呼叫通过image或其他方式访问受信网站的url,然后浏览器将受信网站的cookie带来请求,模拟真实用户访问。CSRF攻击是攻击者使用用户身份操作用户账户的攻击方式。

  CSRF攻击:最好将token参数添加到敏感界面进行验证。

  反射XSS。

  点击劫持实际上是通过一些视觉效果,如吸引人的图片,或者在内容上覆盖一个透明的覆盖层,引诱用户点击并触发相应的攻击行为。

  防御点击劫持:X-Frame-OptionsHTP响应器用于指示浏览器是否允许页面在、、中显示。有三个可选值。

  3、AMD、CMD、CommonJs、ES6

  AMD-异步加载模块(requirejs)

  CMD-同步加载模块,进入依赖,何时引入(seajs)

  CommonJS规范-由module、exports定义,在前端浏览器中不支持module、exports,通过node、js后端使用。CommonJS规范用于Nodejs端,AMD、CMD、ES6等定义模块化开发用于前端浏览器。

  ES6特性,模块化-export/import导出和导入模块

  4、js数据类型

  字符串String、数字Number、布尔Boolean、数组Aray、Object、Null、Undefined。

  5、Javascrip typeof返回的数据类型是什么?

  object、string、undefined、number、function、boolean、对象、数组、null将返回object。

  6、浏览器的同源策略和跨域

  什么是跨域:事实上,一个网站在其他网站上执行网站,是浏览器同源策略造成的,是浏览器对js施加的所谓同源安全限制,实际上是指域名、协议、端口相同。也就是说,当域名或协议或端口不同时,就是跨域。

  同源策略限制以下行为:

  不能读取Cookie、LocalStorage和IndexDB。

  无法获得DOM和Js对象。

  AJAX请求不能发送。

  跨域跨域解决方案:

  通过jsonp跨域、跨域资源共享(CORS)、nginx代理跨域、nodejs中间件代理跨域、Websocket协议跨域。

  7、js垃圾回收机制

  标记清除:这是js最常用的垃圾回收方法。当一个变量进入执行环境时,例如函数中声明一个变量,并将其标记为进入环境。当变量离开环境时(函数执行结束),标记为离开环境。

  引用计数:跟踪记录每个值的引用次数,声明一个变量,并将引用类型赋予该变量值,然后该值的引用次数+1、当变量值变成另一个值时,该值的引用次数为-1、当值的引用次数为0时,将被回收。

  以上就是开课吧小编为大家整理发布的“Web前端面试常问知识”一文,更多相关内容尽在开课吧广场Web教程频道。

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享