面试Javascript工程师难吗?Javascript工程师的水平参差不齐,如何评定他们技术水平的高低?如何确定Javascript工程师适合承担哪方面的任务?我在腾讯时的面试经验是,通过不同纬度的结构化问题、由浅入深的进行考查。
基础
如何判断一个对象是方法?这个问题简单有简单的答案,复杂有复杂的答案,但可能都不是最好的答案。
页面加载和渲染的过程:简单一点只考查JS、CSS、IMG的加载顺序和过程,复杂一些则涉及内核间的差异以及并发处理。对于这个问题是否理解是写出高效率代码和结构的必须。
冒泡与捕获:它们的定义,它们的区别,如何阻止冒泡?基础知识,经典题目。但是不是每个人都能完整全面的回答出这个问题,面试者需要对DOM tree有自己的理解。
闭包:闭包是一个很好的面试题目,能够很好的考查出不同水平的面试者。了解什么是闭包、如何使用闭包、闭包的原理、闭包的真正原理,只有对JS的作用域链、垃圾回收机制有深入了解的工程师才能正确无误的完整回答这个问题。
Scope Chain是了解Closure原理的关键
工具库
jQuery:考查编程习惯和经验。jQuery作为现在使用最为广泛而且最简单的JS库,能够很好的测出使用者的开发经验和JS水平。一个有着真正开发经验的工程师,应当能正确的写出各种类型的选择器,回答为什么用bind来进行事件绑定、mouseover和mouseenter的区别。如果这些考不倒他,别急,live方法的实现原理、ready方法的实现机制这两个问题足以考查出他对DOM、浏览器差异的认识。
extJS、YUI、Prototype:这些工具库或框架都有各自的特点,可以采用像上面类似的问题从浅入深进行了解。
实际问题
解决实际问题考查的是你把知识融会贯通的能力、解决问题的能力、理解能力以及学习能力,这对综合素质的考查是一种很好的方式。第一次面对一个问题,面试者是否能迅速给出思路、由过程推导出结果,能否在一些提示下一步步得到最终的完整答案,这都是很好的考察点。
Autopager:自动翻页功能(实现方式参考http://blog.csdn.net/hfahe/article/details/5827483)是一个由浅入深考查面试者能力的好例子。对滚动条事件的了解,pageHeight、windowHeight、scrollY的区别和关系是两个关键点,而最后对于事件的clearTimeout优雅处理是隐藏的考查点。
Lazyloader:许多人见过图片延迟加载的产品,但是他们是否有了解过背后的实现原理?从功能抽象到具体实现,onresize的考虑、延迟触发的考虑,这道题目有一定难度,和上面的例子也有一定相似之处。
经过了前三个方面的了解,你应该已经对这个面试者的基本水平有了一个大致的判断。下面的步骤可以让你了解这个人能够承担什么样的工作,他的发展潜力多大。
项目
通过之前的项目经历可以认识他的Team work能力、解决问题的能力,在项目中的角色和承担的责任也可以反衬他的个人能力。
如果他没有做过跨浏览器开发,那么这种需要长期积累的任务就不适合分派给他来解决;如果他曾经有浏览器插件的开发经历,那么浏览器App的工作也许能够利用他的现有经验;如果他用过jQuery Mobile、sencha touch或者XUI,那么他可能适合开发移动Web App。作为管理者高明的地方在于,把合适的人用在合适的地方。
技术视野
具有技术视野的人一般具有很大的发展潜力,他们未来不会仅仅只是一个普通的工程师,而有可能会成长为技术专家或者技术管理者。
在HTML5方面应当对新的语义标签、Canvas、Webworker、Drag & Drop有所经验或者了解;在CSS3方面,应当或多或少尝试过Radius、Gradient、Transform。当然,如果能够了解Mask,甚至能够知道Flexible Box的使用方法和原理,那么这个人对盒子模型的理解和对新知识的学习能力可以得到很好的体现。
JS开发工程师是最容易的职位,也是最难的职位。新的技术和框架层出不穷、浏览器版本日新月异、越来越多API的出现,好的JS开发工程师需要随时学习和更新许多知识,包括后台(Webworker、Websocket、Node.js)、UI(Canvas、Transparent)、动画(Transform、Transition、Animation)等方面。面试者是否有自我更新意识,他的技术视野多高决定了他能够涵盖的范围多大,他的未来发展潜力多大。
HTML5已经战胜移动Flash,前途无量
如果能够把以上所有问题清楚、顺利的回答完整,我相信他的表达能力、沟通能力应该是相当优秀的,同时值得欣喜的是,我们又找到了一位优秀的同伴。
摘自:以小见大、由浅入深-谈如何面试Javascript工程师
- 大小: 21.8 KB
- 大小: 20.1 KB
分享到:
相关推荐
【以小见大】是一种文学创作手法,它通过描绘日常生活中的小事或小物,来揭示更深远的主题或深刻的道理。这种手法在各种文体中都常见,尤其在散文中更是运用得淋漓尽致。以《走一步,再走一步》这篇文章为例,作者...
文章“WebKit中两个小设计(以小见大)”通过介绍WebKit中两个具体的技术实现,深入浅出地剖析了其背后的设计概念,这对于理解WebKit的设计哲学乃至现代软件工程的设计原则都大有裨益。 首先,文章提到了“Private ...
以小见大记叙文.ppt
- 小角度:从微小的事物或细节入手,以小见大。 - 新颖性:寻找不常见的角度,避免陈词滥调。 - 列提纲:指导学生在写作前先制定提纲,规划文章的结构和内容。 6. **作文提纲**: - 包括标题、主要内容、中心...
作文如何“以小见大”.pdf
- **化大为小**:从宽泛的主题中选取一个具体的风俗事件,以小见大。 - **抓住特点**:强调风俗的独特性,通过细节描绘体现其精神内涵。 - **有详有略**:对主要环节详写,次要内容略写,使文章结构清晰,主次...
以小见大 无线宽带路由器功耗对比.pdf
面试准备与应对策略 本文档旨在提供面试准备和应对策略的指导,旨在帮助考生更好地准备面试,提高面试的自信心和应对能力。下面是对面试准备和应对策略的详细解释: 一、面试前的准备 1. 不轻敌,不畏敌。保持...
这份名为“体育产业周报-本周聚焦:以小见大,从NBA全明星赛看全球运动品牌营销的“军备竞赛”-200225.rar”的压缩包文件,包含了一份行业报告,重点关注了全球运动品牌在NBA全明星赛事中的营销策略。报告通过深入...
【以小见大】是一种常见的写作技巧,它通过描绘日常生活中的小事或小细节,来揭示更深远的主题或深刻的道理。这种技巧在文学创作中广泛使用,尤其在记叙文和散文中,能够使读者在平凡的故事中感受到不平凡的情感和...
然而,“以小见大”这一哲学理念却告诉我们,正是这些被忽视的微小事物,往往蕴含着最深刻的道理和最伟大的价值。从古至今,无数文学作品、哲学思考,乃至日常生活的琐事,都在这一理念的指导下展现出别样的光芒。 ...
《经典编程【以小见大】900例C语言》是一份全面涵盖C语言编程实践的资源集合,旨在通过大量的实例帮助学习者深入理解和掌握C语言的核心概念、语法以及编程技巧。C语言作为计算机科学的基础语言之一,以其高效、灵活...
- 创新意识与创新思维的培养是教学的主旨,通过以小见大的方式,学生通过小项目的完成逐步理解并掌握复杂的概念和技能。 - 通过对简单问题的重复性学习和实验,学生能初步感受到成就和兴趣的培养,进而在教师引导...
【护士结构化面试题目解析】 在护士的结构化面试中,常见的问题往往涉及到职业道德、团队协作、冲突处理、责任心及沟通技巧等方面。以下是对部分面试题目的深入解析: 1. 对于同事说坏话的问题,这实际上测试的是...
- **就事评事,观点集中**:聚焦材料本身,从小处着眼,深入挖掘,以小见大。 - **形式多样**: - 就事论事:分析事件本身,探讨其原因、影响,提出解决方案。 - 示例分析: - **析好处**:对正面事件的积极...
“大数据—小数据”问题:以小见大的洞察_陈国青.caj
### 从美学角度谈摄影 #### 一、引言 摄影不仅是一门技术,更是一种艺术,它通过捕捉瞬间来传达情感与故事。从美学的角度出发,摄影涉及到构图、光线运用、色彩处理等多个方面,这些元素共同作用,塑造出令人印象...
在讨论体育产业周报的内容之前,首先需要了解NBA全明星赛,它是一场全球瞩目的篮球盛事。这项赛事不仅是篮球爱好者的节日,同样也是全球运动品牌展示自我、推广产品和品牌形象的绝佳舞台。因此,从NBA全明星赛的角度...
C语言实现的唱片管理系统,意在以小见大,将现有的前沿技术和架构慢慢的在该系统中实现。 包括但不限于:本地文件、数据库、CS架构、redis、container、serverless、分布式等.zip 项目资源具有较高的学习借鉴价值,...
经典编程900例(C语言) 涵盖ARRAYS,CMD_LINE,DATETIME,DOS_BIOS,FILES,FUNCTION,KEYBOARD,MACROS,MATH,MEMORY,STRINGS的实例说明。