前端面试题框架
目录
对于大厂,面试造火箭,入职拧螺丝。对于小厂,可能需要那些当前更实用的,本文针对中小企业团队
项目经验
-
1、参与过的最满意的项目/完整项目,参与角色及职责
考察责任与态度
-
2、最熟悉的前端框架或js库及ui框架
考察技术基础
-
3、结合参与过的具体项目,了解其中的技术点或亮点
考察思维表达、反应敏捷
-
4、前端项目目录结构包含哪些?资源、配置、工具、业务等文件组织及代码分布
考察从全局角度对前端的了解
-
5、过去项目有哪些编码规范或约定
考察对自身及团队的要求
基础知识点
基础知识点,结合技术部门实际情况要求,挑选几个询问,可以淘汰假大空的所谓"多年经验"前端开发人员。
- display
- position 对固定定位、相对定位、绝对定位的理解与区别
- float 浮动的理解,具体案例
- 垂直居中如何实现 ?flex布局、盒子模型 http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_source=tuicool
- 浏览器渲染流程 https://blog.csdn.net/XIAOZHUXMEN/article/details/52014901
- session和cookie的理解及作用(sessionStorage、localStorage)
- js是单线程还是多线程,如何理解异步的实现?浏览器多线程,js单线程 https://www.cnblogs.com/woodyblog/p/6061671.html
- 如何理解vdom https://segmentfault.com/q/1010000010520929/a-1020000010524054
- js如何实现继承?在哪些场景下会使用到继承?原型继承、构造函数继承、混合继承。ES6继承类java继承。 https://segmentfault.com/a/1190000011468559 https://www.cnblogs.com/qiaojie/p/5746688.html
- call与apply 主要用途是什么?改变函数体内的this值,两者有什么不同? https://www.cnblogs.com/qiaojie/p/5746688.html
- 跨域的几种实现方式 http://www.cnblogs.com/roam/p/7520433.html
- http请求类型常用有哪些?有什么区别? https://blog.csdn.net/u012813201/article/details/70210812
- sass与less https://www.cnblogs.com/roashley/p/7731865.html
- 浅拷贝与深拷贝
- 动画常用实现方式
优化与具体案例
具体案例、优化问题、优化方案,可以体现前端开发人员参与项目的深浅程度,甚至项目多少程度。
-
产品项目页面加载慢,如何优化加快加载速度?首页动态生成的数据渲染模块,如何提高加载效率? https://www.cnblogs.com/MarcoHan/p/5295398.html
参考高性能网站建设文章 http://www.cnblogs.com/lei2007/archive/2013/08/16/3262897.html
-
同域名下不同资源地址的页面之间如何通信? https://www.cnblogs.com/2050/p/3191744.html
-
移动端项目线上遇到点击一个按钮没有反应,会如何排查问题?
开发者工具、控制台报错信息、pc端模拟、断点调试、移动端抓包排查比对
-
页面上有个位置(w:h = 3:4)要展示不同尺寸的图片,要求太宽的图片上下留白完整展示,太高的图片左右留白完整展示,如何实现?
-
如何实现将页面某一部分生成海报图片?
-
移动端登录授权原理
-
等等,技术部门自己补充自己觉得必要的问题…
这方面问题可以结合技术部门自身要求,罗列一些产品中常用的技术方案或未能实现的技术方案。一方面可以匹配技术栈,还能得到一些方案启发。
安全
开发人员一开始是做功能,紧接着考虑优化性能,然后就要考虑安全性。安全的问题,需要具备一定的经历才能提出安全方面的解决方案。
-
前端角度,投票按钮如何解决刷票问题?网页验证码/短信验证码的原理,解决了什么问题? https://www.jianshu.com/p/58bb83a51a31
-
如何防止CSRF重放攻击与XSS跨站脚本攻击?防范输入、过滤、 http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html https://blog.csdn.net/ghsau/article/details/17027893
-
其他安全 https://www.cnblogs.com/myzy/p/6211060.html https://segmentfault.com/a/1190000010913697
结合技术部门及产品,提出和部门技术栈有关及产品相关的安全问题。
ES6基础
ES6基础问题,可以轻松排除传统前端、还没拥抱新技术的老前端、
- export 与 export default的区别 https://www.jianshu.com/p/edaf43e9384f
- 2、前端模块化,关于众多js模块化标准 AMD、CMD、ES6 https://www.jianshu.com/p/09b7c581ab08
- 3、关于promise 与 传统callback的使用方式有什么优点?async与await的组合使用?如果只用jquery如何解决异步? https://segmentfault.com/a/1190000007685095 https://segmentfault.com/q/1010000003927599
- 4、箭头函数可以代替普通函数吗?this的指向词法作用域。 https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001438565969057627e5435793645b7acaee3b6869d1374000
- 5、let、const、var三者的区别?块级作用域;变量提升;不可二次修改。 https://www.imooc.com/article/20554?block_id=tuijian_wz
- 常用哪个打包工具?webpack、bower等
ES6的基础问题很多,技术部门可以结合自身要求,提出相应的基础问题
vue
vue技术栈的技术部门
-
1、请求与跨域请求 https://www.jianshu.com/p/a5fc834ea028
-
前端进阶 https://blog.csdn.net/qq_16429571/article/details/78744406
补充前端问题
参考
https://juejin.im/post/5e4c0b856fb9a07ccb7e8eca
2017@tsingchan 持续更新及补充