# 试题自检

  • 数组去重的方法有哪些?

  • 如何判断左右小括号是否全部匹配。如 ( ( ))()((((()))))

  • JS 的事件机制

  • 如何劫持 XMLHttpRequest 的 send() 方法,调用他的时候,把参数输出到控制台。

  • git 和svn 的区别,git 的本地仓库有什么用呢?

  • react 和 vue 的区别

  • 为什么简单的项目选择使用 jQuery 而不用 vue 。

  • 跨域解决方案有哪些?jsonp 的原理及缺点?及如何判断 JS 加载完成了?IE7不支持 script.onload 事件怎么办?

  • 浏览器的渲染机制?

  • 浏览器最大并发量限制是多少个?及如何去突破这个限制?

  • 缓存机制?

  • 内存泄漏,及如何主动的去发现是否存在内存泄漏?

  • 你们平时项目的 JS 异常有做上报处理吗?是什么实现的?

  • xss 攻击的原理和预防?

  • eslint 是怎么使用的?

  • webpac打包性能优化,如何分块打包,及 HMR 的实现原理。

  • React的虚拟dom是什么?及 diff 算法原理?

  • SSR(服务端渲染)的作用,及它有什么缺点???

  • HTTP和HTTPS的握手过程,是否了解HTTP2的特点,以及怎么理解它的多路复用

  • MVVW是什么,有什么优缺点

  • 怎么实现记住登录功能(很强的整体性)

  • 怎么实现统一登录,或者授权登录需要考虑什么(更强的整体性)

  • JS手写二分搜索算法

  • 用JS代码求出页面上一个元素的最终的background-color,不考虑IE浏览器,不考虑元素float情况。(window.getComputedStyle、当这个元素的背景色为透明时,它最终的背景色应该为其父元素的背景色。)

  • html和CSS绘制柱状图,用CSS和JS动画在刚才那个柱状图中表现出快排的整个过程

  • HTML5新特性(新增的标签, API等),如localstorage的用法以及与cookie的区别,如何理解web语义化

  • CSS3新特性,如动画等

  • CSS特性,如position的用法,如何实现居中,bootstrap源代码的理解,盒模型(W3C和IE),flex的使用

  • 前端兼容性处理(CSS hack技术)

  • JS基础,如this用法,new关键字的过程,call与apply的区别,闭包,原型以及JS如何实现继承

  • 前端基础,浏览器缓存,跨域,从输入url到渲染的整个过程,事件(W3C和IE),TCP三次握手过程,如何实现懒加载(跟预加载的区别)

  • 之前有看过你做的一个移动页简历,请问如何实现?我主要是使用REM+Media Query,根据不同尺寸的设备进行不同的font-size设置。然后问我REM和EM的区别,如果父元素的font-size也是采用em表示,那么子元素的font-size怎么计算等。

  • 有没有遇到过margin重叠的现象,如何解决?BFC

  • 常见的清除浮动的方法有哪些?bootstrap是怎么做的?bootstrap是怎么实现grid系统的?

  • 怎么理解JS模块化?有没有使用过webpack?

  • 什么是浅复制和深复制?有什么区别?如何实现Object的深复制?

  • Jquery的源代码怎么进行Object的深复制的

  • 数据类型判断(https://juejin.im/post/5b0554c86fb9a07acb3d3ddc)

  • set和map的区别

  • 浏览器解析javascript的词法是怎样的

# 框架

  • vue的虚拟dom优点(diff、渲染速度、同构)

# webpack

关注作者公众号

一起学习成长,一起浪~

加群学习交流

扫描二维码,备注加群