前端面试总结
一.技术面
1.基础知识:
(1)盒子模型、选择器优先级、行内元素和块元素的区别、css hack、两列布局常见方式、清除浮动的几种方式及优劣、position属性值、display属性值;
(2)css3新增属性
(3)js变量提升、匿名函数、作用域、原型链和继承链、js闭包、常用的DOM操作、事件模型(捕获事件、冒泡事件);
(4)jQuery的bind和live和on和delegate的区别;
(5)对http协议的理解
(6)跨域问题处理、ajax的常用操作
(7)jQuery作用链的原理、源码的理解、插件如何写
(8)栅格系统原理、bootstrap源码
(9)git常用的命令(如果使用git)
(10)补充:是否看过源码、为什么选择某个库、类似的库还有哪些;是否关注前沿技术;
(11)思考:自动化工具、页面性能优化、console调试
二.hr面
1.常见:
职业规划、对自己的评价(包括技术上)、别人对你的评价、获取知识的途径、解决问题的方式、对前端发展趋势的看法、对他人传输知识的经历、写过最成功的代码、遇到哪些坑、未来要去哪个城市、实习经历有哪些收获(希望听到的是学到的方法论、对个人的改变,而不是学了什么技能;;更看重自学能力和对技术孜孜不倦的追求、注重知识的分享开放式交流学习,而不是闭门造车;)、少量技术问题、压力面。
####补充:阿狸电面 (2015.07.28)
由于面试官看过写的博客,所以侧重点有所不同。
首先说下问题:
- 关注性能优化,对每个问题不仅提问采用方案也提问技术原理以及相关问题。 例如:跨域的方法,jsonp与json的不同,jsonp有何缺陷;
- 执行效率问题:例如数组排序采用什么方法效率高;$(‘a b’)和$(‘a’).find(‘b’)哪个执行效率高;
- 浏览器兼容问题:包括事件监听(ie和chrome的区别、使用border-box的好处;捕获和冒泡) 4,随机:chrome最大请求并发数(6);翻墙使用的工具