前端面试(一)

前端面试的门槛越来越高,前端的知识点多而零散,前端框架层出不穷,怎么做才能全面的复习知识,怎么做才能掌握前端技能,怎么做才能更好的通过面试?
  1. 大部分公司(创业公司)都趋向于招一个牛逼的前端而不是三四个平庸的前端
    性能优化、ES6必问
  2. 招聘要求上清一色的要求有一门后端语言的经验,但似乎面试的时候并没有一个公司问过我后端语言方面的东西
  3. 招聘要求写的和面试相关性并不是很高
  4. 招人的要求越来越高,不要轻易离职,特别是裸辞

谈谈对前端安全的理解,有什么,怎么防范

1. 前端安全问题主要有XSS、CSRF攻击。

XSS:跨站脚本攻击

它允许用户将恶意代码植入到提供给其他用户使用的页面中,可以简单的理解为一种javascript代码注入。

XSS的防御措施:

过滤转义输入输出
避免使用eval、new Function等执行字符串的方法,除非确定字符串和用户输入无关
使用cookie的httpOnly属性,加上了这个属性的cookie字段,js是无法进行读写的
使用innerHTML、document.write的时候,如果数据是用户输入的,那么需要对象关键字符进行过滤与转义
CSRF:跨站请求伪造
其实就是网站中的一些提交行为,被黑客利用,在你访问黑客的网站的时候进行操作,会被操作到其他网站上

CSRF防御措施:

检测http referer是否是同域名
避免登录的session长时间存储在客户端中
关键请求使用验证码或者token机制

其他的一些攻击方法还有HTTP劫持、界面操作劫持

2. 使用箭头函数需要注意的地方

当要求动态上下文的时候,你就不能使用箭头函数,比如:定义方法,用构造器创建对象,处理时间时用 this 获取目标。

3. webpack.load的原理

loaders是你用在app源码上的转换元件。他们是用node.js运行的,把源文件作为参数,返回新的资源的函数。

4. ES6 let、const

let是更完美的var
  • let声明的变量拥有块级作用域,let声明仍然保留了提升的特性,但不会盲目提升。
  • let声明的全局变量不是全局对象的属性。不可以通过window.变量名的方式访问
    形如for (let x…)的循环在每次迭代时都为x创建新的绑定
  • let声明的变量直到控制流到达该变量被定义的代码行时才会被装载,所以在到达之前使用该变量会触发错误。
const

定义常量值,不可以重新赋值,但是如果值是一个对象,可以改变对象里的属性值

const OBJ = {"a":1, "b":2}; 
OBJ.a = 3;
OBJ = {};// 重新赋值,报错! console.log(OBJ.a); // 3

5. CSS3 box-sizing的作用

设置CSS盒模型为标准模型或IE模型。标准模型的宽度只包括content,二IE模型包括border和padding。

box-sizing属性可以为三个值之一:

  • content-box,默认值,border和padding不计算入width之内
  • padding-box,padding计算入width内
  • border-box,border和padding计算入width之内
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 常见试题 行内元素:会在水平方向排列,不能包含块级元素,设置width无效,height无效(可以设置line-h...
    他大舅啊阅读 2,471评论 1 5
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,790评论 1 92
  • 本文旨在加深对前端知识点的理解,资料来源于网络,由本人(博客:http://segmentfault.com/u/...
    风起云帆阅读 334评论 0 0
  • 一些开放性题目 position的值, relative和absolute分别是相对于谁进行定位的? absolu...
    一直玩编程阅读 1,948评论 1 24
  • 声明:这些题目是在某个前端群看到的,在这分享给大家,如有侵权,请私信。 1.一些开放性题目 position的值,...
    一岁一枯荣_阅读 6,532评论 0 33