如何准备前端开发者面试
工作面试很让人头疼。说真的。每个人都痛恨面试。虽然潜力的工作机会并不一定能拿到,但这并不意味着你在这方面会做的很差。因此,这里给出了一些如何准备 前端开发者面试的技巧。
首先明确一下,很多面试因公司、公司规模、面试官以及你获得面试资格的渠道而不同。我曾经经历过这样的面试,在面试官坐下前,他显然并没有看过(或者记得)我的简历内容。另一方面,我也经历过其他一些面试,面试官在面试前已经事先了解了关于我的一切。因此,你对前端开发者面试准备,在实际面试前开始。
面试前,应该假设一下面试官将会深入调查你。确保你的网上作品集和相关的社会关系网络内容都是最新的。无论是个人网站、Behance、还是Dribbble,确保给人的第一印象是好的。这一点甚至可以在你踏入房间之前就能影响到面试官对你的看法。
世事多变,这种准备并非包罗万象的。将这些问题作为参考,同时一定记得——放松。
图片来自NBC《老友记》截屏
希望你的面试官有点经验,不会用以下这样的问题开场。以防万一,还是准备一些答案。
- 为什么选择程序员这个职业生涯?
- 截至目前,你所从事的项目中最喜欢的是哪个?
- 描述一下你梦想中的研发项目。
另外一些面试官会问一些通用的技术问题,来测试你的技术能力。有可能部分人不知道这些问题是什么意思,而仅仅是在考察你的能力/竞争力。基于面试官的技术能力级别的不同,你的答案也会有所不同。这些问题简单易答,因此把这些问题记下来。
- 描述一下创建一个新网页的过程
- 怎样减少页面加载时间?
- 标准和标准体(standards and standards bodies)为什么重要?
- 你使用怎样一个过程来组织代码?
- 你喜欢用什么工具来测试代码性能?
既然你从事前端工作,理解CSS会非常重要。因此这里为你准备了一些常见的CSS问题。这是展示你知识储备的重要开始。这些并不是最尖锐或者重要的问题,如果不能回答出来,将对你很不利。
- CSS 中的 resetting 和 normalizing 之间的区别有哪些?
- 什么是floats,它是如何工作的?
- absolute、relative、fixed 和 static 定位的区别是什么?
- 解释visiblity hidden和display none之间的区别
- 你是如何修复特定浏览器默认样式的问题?
- 你是否用过网格系统?目的是?
- 如果计算CSS权重?
- 解释如何优化CSS选择器。
- 为什么需要使用预编译器?
- 你是如何测试网站的跨浏览器兼容性?
图片来自Aftercollege.com
现在我们最基本的任务完成了。谁都能死记硬背这些答案来应付以上问题。即使是新手前端开发者也能出色地回答大部分问题。然而如果想真正让你的面试官印象深刻并证明你的功底深厚,就把下面这些问题牢记在心。
- 前端开发最好的框架是什么?
- 响应式web app和原生应用程序的区别是什么?
- 原生app相对web app的优点是什么?
- 客户端和服务器端开发的区别是什么?
- 什么是SASS和LESS?它们是如何工作的?
面试官会更多关注你是如何表达对这些问题的解释。他们会追问支持你的答案的工作案例。前面的问题你可能可以通过记忆而过关,你可能还会遇到这些问题的扩展,但这些答案的深度,将让你与众不同。通过你参与过的实际项目,来展示你的思考过程。
图片来自《美国精神病人》的截屏
当面试(或当你在面试过程中)问题会变得更加具体。你在解释、引用实例、阐明经验教训表现地更好,你更可能会从其他面试者中脱颖而出。在这个点上,并不仅仅是你的答案,而是答案的原因。你在原生app和响应式网站间做出决择的原因是什么?两种答案都是可以接受的,但理解你的逻辑,会帮助面试官做出正确的决定并聘请你!