一篇关于如何面试前端工程师的文章,共勉!

前端工程师,主要工作内容与用户界面的表现紧密联系,但均为在图形上或以其为基础通过某种实现方式去正确、准确呈现什么。之所以以“主要工作”修饰,是因为 node.js / io.js 的出现与发展致使前端被引入服务器端性质的工作内容。

一篇关于如何面试前端工程师的文章,共勉!

在能力方面:

.对 HTML / CSS / JavaScript 具有专家级别的知识;
.有较熟练使用 AngularJS / Ember.js / jQuery 或者其它类库的经验;
.较熟悉第三方组件(插件)生态环境及具体案例;
.有较熟练使用 Jade / Swig / Handlebars / Mustache 或者其它模板引擎的经验;
.有较熟练使用 SASS 或者其它 CSS 预处理器的经验;
.有较熟练使用 CoffeeScript 的经验;
.对 CSS / JavaScript 设计模式有很好的认识及应用;
.对常用数据结构和算法熟悉;
.有使用 GruntJS / GulpJS 任务运行器的经验;
.有使用 Yeoman 生成器的经验;
.有诸如 Bower / Volo / JSPM 等前端静态资源包管理器使用经验;
.有 Git 的使用经验;

意识驱动行为,所以:

.有自己的技术信仰;
.有渴望尝试新技术的强烈愿景及较强的主观学习、客观探索能力;
.拥有令人难以置信的关注细节的精神;
.在诸如 Github、Sitepoint 等这样的技术社区活动;

因为你不是一个人工作,并且要对一个产品付之责任心,所以:

.有良好的编程风格和文档习惯;
.对模块化开发及相关标准有很好的认识及应用;
.有对网页标准和标准制定机构重要性较深刻的理解;
.建站过程中考虑其它诸如UI、安全性、高性能、SEO、可维护性以及技术因素等方面;
.有跨浏览器(主:兼容性)、跨设备(主:响应式)开发并测试页面的经验;
.对网格在WEB设计中的应用有深刻的理解,以及具备系统(有组织)地实现出来的能力;
.能够独立工作并做出正确的抉择;
.能够适应不断变化的更新 / 扩展 / 改版需求,同时处理多个项目;
.能够提供准确的定时估计工作(适应准时交付管理法则);
.有与服务器端程序开发人员协同工作的经验;
.能够(熟练)阅读英文资料;
.有一定的工作压力承受能力;

然后再为自己从长远打算及加分:

.有 NodeJS Web / 服务器 / 客户端应用程序设计、开发、优化经验;
.有 MangoDB / Redis 等No SQL 数据库设计、实现、维护经验;
.有使用 PhoneGap / Apache Cordova 进行移动应用开发经验;
.有浏览器 Addon 扩展(以扩展的形式添加一些为提高用户体验的附加功能)开发经验者;

面试方面推荐:

.H5BP组织联合广大(上万)贡献者维护的前端工作面试问题(https://github.com/h5bp/Front-end-Developer-Interview-Questions/tree/master/Translations/Chinese);VIA: http://www.zhihu.com/question/19568008,偶然发现这篇文章,对照了下自己,感觉相距甚远,自我激励,与君共勉!

相关阅读