面试问题总结
前言
花了半天的时间在网上看了去年秋招以及今年的前端面经,把他们的面试题记录下来并分析了一下哪些是重点,重新整理了下自己的复习思路
javascript
js 高级程序设计 3 - 7 章,10 - 13 章,21 章,有空可以看《你不知道的 javascript 》
基本类型
函数声明和函数表达式区别
apply 和 call
this 的指向
事件机制
闭包
数组的原生方法
原型和原型链
继承
深拷贝浅拷贝(手写代码实现)
dom 属性及操作的方法
判断数组的方法
正则表达式
ajax 过程(原生 js 实现)
CSS
css 权威指南 2、3、7、8、10 章
CSS3 新特性
水平垂直居中
盒模型,ie 盒模型和一般盒模型区别
实现三栏布局
让一个元素不可见
css 保持宽高比
移动端页面适配
兼容性问题
ES6
ES6 标准入门 2、3、7、8、9、14、18、22、23 章
ES6 新特性
promise 函数
实现 bind 方法,写出 polyfill
let const 区别
箭头函数
http
图解 http,百度、博客 以及慕课网的课程
网络安全方面
跨域及跨域安全
websocket 是什么原理
dns 原理
TCP/IP
cookie
本地存储,localstorage 和 sessionstorage
http 状态码
http 缓存
输入 url 之后,发生了什么
HTML
百度、博客
H5 新特性
html 语义化
框架相关
百度、博客
mvc 和 mvvm 的区别,mvvm 是为了解决什么
vue 数据双向绑定原理
各个框架的优缺点和应用场景
spa 原理
自由发挥
学习途径
对前端行业发展的看法
职业规划
算法(考的比较多的)
剑指 offer 刷题
- 数组去重
- 快排
- 二分查找(递归+非递归)
- top k
- 动态规划
性能优化(雅虎军规 35 条)
雅虎军规 35 条
设计模式(可以了解下面这几个)
了解几个常用的并能手写
- 观察者模式(手写)
- 装饰者模式(手写)
- 单例模式(手写)