###
终于空了下来了,林林总总的面试好几家公司,终于找到了合适的,在这里记录一下面试中遇到的问题,大部分的问题还是经常被问到的比如JS相关的,同样也会有一些比较有趣的,或者说很难在面试中遇到的问题,面试是一个技术交流的机会,也是一个向别人学习的机会。
JS相关
- 闭包
- 继承
- 作用域
- ES6
- 类数组元素
Css相关
- 在一个父div里面有很多子div,子div里面又有很多div(称为孙div),请问在不给div设置任何属性的情况下,怎么通过css选出所有子div(不包含孙div)?
- 移动端适配(rem, flex)
- css实现垂直居中的几种方法
- 盒模型(border-box, content-box)(纠正IE盒模型的错误叫法,因为从IE6开始就已经支持这两种类型)
浏览器相关
- JS引擎有哪些?CSS引擎有哪些?
- 浏览器兼容性相关问题
- 本地储存和离线缓存
- 一个单页应用的index.html文件能被缓存下来吗?如果能,该怎么去缓存
Dom相关
- var a = document.getElementsByTagName(‘div’)
//div 数量变化
a会变化吗?- reflow 与 repaint (元素从一种状态转换到另一种状态的时候,reflow与repaint的发生情况)
- 阐述一下BFC,如何形成一个BFC
Git相关
- git merge 和 git rebase 的区别
git add
git commit
git push
都发生了什么- 当merge一个分支的时候,head是如何变化的,请画出来
框架相关
- Vue的实现原理
- Vue的虚拟dom实现原理,以及为什么需要虚拟dom
- Vue的SSR原理
- Backbone与Vue的区别(VM)
- Webpack处理异步加载
- Webpack配置多入口以及配置commonChunk
算法相关
- 实现一个JSON.stringify方法
- 阐述下debounce和throttle的区别,并实现一个debounce
- 有一个n级阶梯,一个人一次只能上一级或者两级,请问登顶的方法一共有多少种?
- 数组去重(1.时间复杂度最低的方法 2.当去重的数组非常大的时候)
Node
- TCP与UDP
- 线程与进程
- Koa的洋葱模型,以及express的模型,express为什么不能实现洋葱模型
- NodeJs的Cluster是干嘛的?具体原理是什么?