一、CSS盒子模型,绝对定位和相对定位
1)清除浮动,什么时候需要清除浮动,清除浮动都有哪些方法
2)如何保持浮层水平垂直居中
3)position 和 display 的取值和各自的意思和用法
4)样式的层级关系,选择器优先级,样式冲突,以及抽离样式模块怎么写,说出思路,有无实践经验
5)盒模型 怪异盒模型 box-sizing取值 应用场景
6)浮动 BFC 清除浮动
7)Flex grid
8)圣杯,双飞翼布局
9)居中问题
10)cookie属性 localstorage
11)css3动画 和 js动画优势劣势 开启硬件加速
12)reflow repaint 如何减少不必要的reflow
13)HTML5 新标签 常用meta标签
13)css3 steps动画
14)垂直水平居中 div高宽比例
二、JavaScript基础
1)JavaScript 里有哪些数据类型,解释清楚 null 和 undefined,解释清楚原始数据类型和引用数据类型。比如讲一下 1 和 Number(1) 的区别
2)将一下 prototype 是什么东西,原型链的理解,什么时候用 prototype
3)函数里的this什么含义,什么情况下,怎么用。
4)apply 和 call 什么含义,什么区别?什么时候用。
5)数组和对象有哪些原生方法,列举一下,分别是什么含义,比如链接两个数组用哪个方法,删除数组的质定项。
6)闭包 应用场景
7)继承方法 (原型继承 构造函数继承 组合继承 寄生组合继承 ES6实现 super关键词 babel) 组合优于继承
8)new 构造函数作用
9)节流函数throttle 防抖动debounce 实现方法
10)js事件 event loop mircotask (Promise, process.nextTick) macrotask (事件队列)
11)XMLHTTPRequest Fetch Promise
12)js 判断数据类型
13)如何评价javascript
14)获取元素宽高 获取到文档的距离 获取到工作区的距离
15)DOM 事件绑定的几种方式
16)对象 数组的深拷贝实现
17)Js 柯里化
18)实现懒加载
19)getBoundingClientReact left 和 offsetTop 异同
20)数组去重
21)js实现排序算法 (冒泡排序,快速排序,归并排序)
22)Promise async 执行顺序
23)算法题: 背包问题(数组A N个数 和为X return 一种可能的数组) 连续最大子列和 (动态规划)
24)ES6 Class A ()会报错么? function A(){} 如果在不使用new 的时候识别并报错?
25)不使用判断语句 if 三元操作符 switch 来输出 HH:MM:SS (n/10 + n%10)
26)css 实现 田 1. 相邻cell 1px边线 2.hover边框变线 (nth-child margin负值)
27)getElementsByTagName() -> live nodelist querySelectorAll() -> static nodelist 哪个是静态集合 哪个是动态集合
三、JavaScript的面向对象
1)JS 模块包装格式都用过哪些,CommonJS、AMD、CMD、KMD。定义一个js 模块代码,最精简的格式是怎样。
2)JS 怎么实现一个类。怎么实例化这个类。
3)是否了解自定义事件。jQuery里的fire函数是什么意思,什么时候用。
4)说一下了解的js 设计模式,解释一下单例、工厂、观察者。
5)ajax 跨域有哪些方法,jsonp 的原理是什么,如果页面编码和被请求的资源编码不一致如何处理?
四、开源工具
1)是否了解开源的工具 bower、npm、yeoman、Grunt、gulp,有无用过,有无写过,一个 npm 的包里的 package.json 具备的必要的字段都有哪些(名称、版本号,依赖)
2)fiddle、charles 有没有用过,什么时候用
3)会不会用 ps 扣图,png、jpg、gif 这些图片格式解释一下,分别什么时候用。
4)说一下你常用的命令行工具
5)会不会用git,说上来几个命令,说一下git和svn的区别,有没有用git解决过冲突
6)理解webpack
7)Loader
8)plugin
9)Babel 插件 babel-runtime stage-2 babel-polyfill (提供API垫片支持)
10) babel原理
11) git flow
五、计算机基础
1)说一下网络五层模型(HTTP协议从应用层到底层都基于哪些协议),HTTP 协议头字段说上来几个,缓存字段是怎么定义的,http和https的区别,在具体使用的时候有什么不一样。是否尽可能详细的掌握HTTP协议。
2)cookies 是干嘛的,服务器和浏览器之间的 cookies 是怎么传的,httponly 的 cookies 和可读写的 cookie 有什么区别,有无长度限制
3)从敲入 URL 到渲染完成的整个过程,包括 DOM 构建的过程,说的约详细越好。
4)是否了解web注入攻击,说下原理,最常见的两种攻击(XSS 和 CSRF)了解到什么程度。
5)是否了解公钥加密和私钥加密。如何确保表单提交里的密码字段不被泄露。验证码是干嘛的,是为了解决什么安全问题。
6)编码常识:文件编码、URL 编码、Unicode编码 什么含义。一个gbk编码的页面如何正确引用一个utf8的的资源
7)从url到页面展示的过程
8)http请求头
9)jsbridge通信原理
六、考察学习能力和方法
1)你每天必须登录的网站(前端技术相关)是什么?
2)前端技术方面看过哪些书,有无笔记,都有哪些收获。
3)收藏了哪些代码片段?
4)怎么理解前端技术的大趋势?自己再做哪方面的知识储备?
七、特别篇幅 (框架)
1)git flow
2)React 性能优化
3)visual DOM 实现 Diff 算法实现
4)MVC MVVM设计模式 双向绑定 单向数据绑定的实现 (双向自动收集dom->data)
5)Router 实现原理
6)SSR实现原理
7)React-native常用组件
8)React和Vue对比
9)nodejs 常用框架 相关知识点 命令行工具
10)Typescript Python 了解一下
11)vue 绑定事件 事件模型解释
12)vue父子之间通信如何实现
八、杂项
1)dom基础
2)移动端踩过的坑
3)二维码扫码登陆需要考虑的点 token 时间戳
4)域名收敛
5)浏览器渲染加载流程? defer async 区别? script 阻塞理解
6)For of babel转译后的低端安卓机性能问题
7)前端性能监控如何做
8)移动端性能优化
9)前端组件库是如何做的