一、颜值——第一印象
- 守时
- 保持电话畅通
- 按时面试
- 干净利落
- 平常着装
- 别太随意或者奇装异服
- 简历的第一印象
- 突出优势
- 实习经验
- 主导或者参与开源项目经验
- 外部分享经验
- 清晰内容
- 描述你在项目里的职责而不是项目本身的简介
- 描述你解决的问题而不是项目做的有多成功
- 摒弃无用信息
- 贴上了空空的github账号
- 贴上了博客地址,没有一篇文章或者3年断更
二、实力
- 实力的验证
- 基础知识
- JS、CSS、HTML等前端知识的考察
- 算法、网络等通用知识的考察
- 交流沟通
- 从自己负责的项目出发,针对性的询问一些问题,如架构设计、性能优化、安全防范等。
- 基础知识:知其然知其所以然
刷面试题不要只关注答案,要知其然知其所以然。
-
e.g.
- 什么是闭包?闭包的好处和坏处?举两个实际使用的例子。(考察对闭包的了解)
- JS实现本地存储有哪些方法?各有什么优缺点?一般都用在什么地方?(考察对本地存储的理解及其特性的掌握)
- 如何实现一个div垂直水平居中?固定高宽怎么实现?不固定高宽怎么实现?(考察对CSS的掌握,实现方式有多种如margin / translate / flex布局等)
- 统计一下淘宝或者腾讯首页总共有多少个dom节点?总共有多少种html标签?最多的tag是什么,有多少个?(问题一般是循序渐进,主要考察对原生js的运用,以及一些常用的排序、去重算法等)
- 什么是跨域?为何会出现跨域的问题?有哪些解决方法?Jsonp为什么可以跨域?(考察对跨域的理解,从原因到解决方案层层入手)
-
一个经典的题目:一个页面从输入URL到页面加载完的过程中都发生了什么事情?
- 面试官想听的不是流程图,这个问题经典就经典在,每个人都可以对这个问题说几句,但是背后考查的机制却是相当多,考察的点较为全面。
- HTTP原理、DNS解析优化、HTTP缓存原理、HTTP状态码、页面渲染过程、页面性能优化、首屏加速、调试等等等等
- 沟通交流
从简历上的项目或者熟练技能出发,针对项目细节进行交流,进而评判能力。
- 自信从容
把自己曾经学过做过的东西说出来就好,把面试官当成同事,畅快的聊天。 - 冷静思考
遇到问题,不要紧张,可以进行适当的思考,面试官更喜欢有条有理有根有据的回答。 - 杜绝编造
不是所有的问题都要回答的十分完美,没有做过或者不了解的事情要如实告知,瞎编只会弄巧成拙。 - e.g.
- 你做过的项目里哪个项目收获最多?你的主要职责?遇到了哪些问题?怎么解决的?有什么提升效果?……
面试官一般会通过STAR面试法来考察面试人。(STAR = Situation(背景) + TASK(任务) + ACTION(行动) + RESULT(结果))通过面试人的回答来获取面试人曾经过往的经历以及在其中的一些思考和实践。 - 精通JQuery或者其他……
很多人的简历上都写了精通某某技术,其实只是对框架的API比较熟悉而已。面试官一般都想听到对该框架的原理的了解。例如React,为什么会有这样的框架诞生?原理是怎样的?它的虚拟DOM是什么?
- 你做过的项目里哪个项目收获最多?你的主要职责?遇到了哪些问题?怎么解决的?有什么提升效果?……
三、潜力
- 职业规划
- 对问题的解决方式
- 对问题的思考和总结
- 是否有造轮子
- 知识的广度和深度
四、情商
- 沟通理解能力
- 总结分享能力
- 积极主动带节奏能力
五、运气
六、总结
- 夯实基础知识
面试前原生JS、html、CSS等基础知识再巩固巩固,前端面试宝典可以刷,但请深入,了解每个题目背后的原理。 - 对自己的历史项目进行总结
总结一下自己曾经做的事情,提取其中的亮点,找出自己的不足,如果让你重新再做一遍那个项目,你会怎么做,为什么? - 扩大自己的视野
多了解一下业内的方向,了解一下各大前端使用什么样的技术栈,是怎么做的,时间充足的话,自己进行查漏补缺,这样在面试的时候也有比较好的技术契合度,聊得开。 - 自信
轻松面对每一次面试,将你自己所学所想全部描述出来,你就成功了~