偶然的机会,在网上看到了一篇前端面试经历,细看过后,惶恐不安,深觉自己功力太浅,所以先将相关面试题摘录出来,之后再慢慢分析学习之。
1.JS手写二分搜索算法
2.闭包相关
3.实现一个Lazyman
4.用JS代码求出页面上一个元素的最终的background-color,不考虑IE浏览器,不考虑元素float情况
5.前端优化的手段有哪些?有没有可能让JS下载解析不阻塞DOM树构建?defer或asyn区别;CSS下载解析会不会阻塞DOM树渲染?CSS-sprit原理是什么?使用base64虽然会减少请求数,但是会增大文件的大小,以什么为基准去衡量什么时候使用base64?请问HTTPS和HTTP有什么区别?SSL四次握手过程?现在CDN不稳,时而工作时而崩溃,我有一个首页如何确保每次都能正常显示该首页?
6.快排算法
7.HTML5新特性(新增的标签, API等),如localstorage的用法以及与cookie的区别,如何理解web语义化
8.CSS3新特性,如动画等
9.CSS特性,如position的用法,如何实现居中,bootstrap源代码的理解,盒模型(W3C和IE),flex的使用
10.前端兼容性处理(CSS hack技术)
11.JS基础,如this用法,new关键字的过程,call与apply的区别,闭包,原型以及JS如何实现继承
12.前端基础,浏览器缓存,跨域,从输入url到渲染的整个过程,事件(W3C和IE),TCP三次握手过程,如何实现懒加载(跟预加载的区别)
13.REM和EM的区别,如果父元素的font-size也是采用em表示,那么子元素的font-size怎么计算等
14.有没有遇到过margin重叠的现象,如何解决?BFC
15.常见的清除浮动的方法有哪些?bootstrap是怎么做的?bootstrap是怎么实现grid系统的?
16.怎么理解JS模块化?有没有使用过webpack?
17.什么是浅复制和深复制?有什么区别?如何实现Object的深复制?
18.web安全的一些知识,xss和csrf。
19.zepto库的使用,移动端布局,优化,JS的一些基础还有localstorage等
推荐阅读<<剑指offer>>