张飞软硬开源基于STM32 BLDC直流无刷电机驱动器开发视频套件,👉戳此立抢👈

前端工程师面试技巧

工程师人生 2018-10-15 10:57 次阅读
我在Twitter和Stripe的一部分工作内容是面试前端工程师。其实关于面试你可能很有自己的一套,这里我想跟你们分享一下我常用的方法。 不过我想先给你们一个忠告,招聘是一件非常艰巨的任务,在45分钟内指出一名侯选人是否合适是你需要完成的任务。不过面试的最大问题是每个人都会想着去雇佣他们自己,任何通过我面试的人想法大都跟我差不多(注:因为你总会问你自己关心和知道的问题),这其实不是一件好事。因此我之前的决定都有很大碰运气的成分。不过,这也是一个良好的开端。 最理想的情况下是侯选人有一个全面的Github“简历”,这样我们可以同时通过他们的开源项目了解他们。我经常会浏览他们的代码然后针对一些特定的代码设计问一些问题。如果侯选人有非常好的开源项目记录,接下来的面试会直接去检验他们的团队协作精神。否则,我不得不去问他们一些代码方面的问题了。 前端工程师面试技巧 我的面试非常有实践性,全部是写代码。没有抽象和理论上的东西(注:作者是个行业派),其他的面试官很可能会问这些问题,但是我认为他们前端编程的能力是值得商榷的。我问的问题大多看上去非常简单,但是每组问题都能让我考查侯选人某一方面JavaScript的知识。 第一部分:Object Prototypes (对象原型) 刚开始很简单。我会让侯选人去定义一个方法,传入一个string类型的参数,然后将string的每个字符间加个空格返回,例如: spacify(‘hello world’) // =》 ‘h e l l o w o r l d’ 尽管这个问题似乎非常简单,其实这是一个很好的开始,尤其是对于那些未经过电话面试的侯选人——他们很多人声称精通JavaScript,但通常连一个简单的方法都不会写。 下面是正确答案,有时侯选人可能会用一个循环,这也是一种可接受的答案。 function spacify(str) { return str.split(‘’).join(‘ ’); } 接下来,我会问侯选人,如何把这个方法放入String对象上面,例如: ‘hello world’.spacify(); 问这个问题可以让我考察侯选人是否对function prototypes(方法原型)有一个基本的理解。这个问题会经常引起一些有意思的讨论:直接在对象的原型(prototypes)上添加方法是否安全,尤其是在Object对象上。最后的答案可能会像这样: String.prototype.spacify = function(){ return this.split(‘’).join(‘ ’); }; 到这儿,我通常会让侯选人解释一下函数声明和函数表达式的区别。 第二部分:参数 arguments 下一步我会问一些简单的问题去考察侯选人是否理解参数(arguments)对象。我会让他们定义一个未定义的log方法作为开始。 log(‘hello world’) 我会让侯选人去定义log,然后它可以代理console.log的方法。正确的答案是下面几行代码,其实更好的侯选人会直接使用apply. function log(msg) { console.log(msg); } 他们一旦写好了,我就会说我要改变我调用log的方式,传入多个参数。我会强调我传入参数的个数是不定的,可不止两个。这里我举了一个传两个参数的例子。 log(‘hello’, ‘world’); 希望你的侯选人可以直接使用apply。有时人他们可能会把apply和call搞混了,不过你可以提醒他们让他们微调一下。传入console的上下文也非常重要。 function log(){ console.log.apply(console, arguments); }; 接下来我会让侯选人给每一个log消息添加一个“(app)”的前辍,比如: ‘(app) hello world’ 现在可能有点麻烦了。好的侯选人知道arugments是一个伪数组,然后会将他转化成为标准数组。通常方法是使用Array.prototype.slice,像这样: function log(){ var args = Array.prototype.slice.call(arguments); args.unshift(‘(app)’); console.log.apply(console, args); }; 第三部分:上下文 下一组问题是考察侯选人对上下文和this的理解。我先定义了下面一个例子。注意count属性不是只读取当前下下文的。 var User = { count: 1, getCount: function() { return this.count; } }; 我又写了下面几行,然后问侯选人log输出的会是什么。 console.log(User.getCount()); var func = User.getCount; console.log(func()); 这种情况下,正确的答案是1和undefined。你会很吃惊,因为有很多人被这种最基础的上下文问题绊倒。func是在winodw的上下文中被执行的,所以会访问不到count属性。我向侯选人解释了这点,然后问他们怎么样保证User总是能访问到func的上下文,即返回正即的值:1 正确的答案是使用Function.prototype.bind,例如: var func = User.getCount.bind(User); console.log(func()); 接下来我通常会说这个方法对老版本的浏览器不起作用,然后让侯选人去解决这个问题。很多弱一些的侯选人在这个问题上犯难了,但是对于你来说雇佣一个理解apply和call的侯选人非常重要。 Function.prototype.bind = Function.prototype.bind || function(context){ var self = this; return function(){ return self.apply(context, arguments); }; } 第四部分:弹出窗口(Overlay library) 面试的最后一部分,我会让侯选人做一些实践,通过做一个‘弹出窗口’的库。我发现这个非常有用,它可以全面地展示一名前端工程师的技能:HTML,CSS和JavaScript。如果侯选人通过了前面的面试,我会马上让他们回答这个问题。 实施方案是由侯选人自己决定的,但是我也希望他们能通过以下几点来实现: 在遮罩中最好使用position中的fixed代替absolute属性,这样即使在滚动的时侯,也能始终让遮罩始盖住整个窗口。当侯选人忽略时我会提示他们这一点,并让他们解释fixed和absolute定位的区别。 .overlay { position: fixed; left: 0; right: 0; bottom: 0; top: 0; background: rgba(0,0,0,.8); } 他们如何让里面的内容居中也是需要考察的一点。一些侯选人会选择CSS和绝对定位,如果内容有固定的宽、高这是可行的。否则就要使用JavaScript. .overlay article { position: absolute; left: 50%; top: 50%; margin: -200px 0 0 -200px; width: 400px; height: 400px; } 我也会让侯选人确保当遮罩被点击时要自动关闭,这会很好地考查事件冒泡机制的机会。通常侯选人会在overlay上面直接绑定一个点击关闭的方法。 $(‘.overlay’).click(closeOverlay); 这是个方法,不过直到你认识到点击窗口里面的东西也会关闭overlay的时侯——这明显是个BUG。解决方法是检查事件的触发对象和绑定对象是否一致,从而确定事件不是从子元素里面冒上来的,就像这样: $(‘.overlay’).click(function(e){ if (e.target == e.currentTarget) closeOverlay(); }); 其他方面 当然这些问题只能覆盖前端一点点的知识的,还有很多其他的方面你有可能会问到,像性能,HTML5 API, AMD和CommonJS模块模型,构造函数(constructors),类型和盒子模型(box model)。根据侯选人的情况,我经常会随机提些问题。
收藏 人收藏
分享:

评论

相关推荐

Web前端页面制作快速入门(京东前端页面可视化编写流程)

课程目标带你快速了解HTML+CSS 开发Web 前段的原理和基础知识,小实例教你做京东前端的编写。适用人群零基础,we
发表于 09-05 00:00 13444次 阅读
Web前端页面制作快速入门(京东前端页面可视化编写流程)

软件实施工程师的经验总结

干了三年实施,技术没学多少,人倒是变的圆滑多了
的头像 工程师人生 发表于 04-25 09:10 103次 阅读
软件实施工程师的经验总结

一位软件实施工程师的自述

在项目实施的时候,有些独特的地方,需要有独特的工具来帮助。
的头像 工程师人生 发表于 04-25 09:03 93次 阅读
一位软件实施工程师的自述

嵌入式工程师的真实现状,月薪8千or年薪40万?

一名一线企业嵌入式软件工程师的笔者,想通过自己的实际经历理性地评论当今嵌入式行业的真实状况。 嵌入式的定义和举例分析 ...
发表于 04-24 09:52 234次 阅读
嵌入式工程师的真实现状,月薪8千or年薪40万?

怎样成为优秀的嵌入式linux工程师

目前,Linux作为嵌入式系统的主力军,广泛应用于消费类电子、工业控制、军工电子、电信/网络/通讯、....
的头像 工程师人生 发表于 04-24 09:47 196次 阅读
怎样成为优秀的嵌入式linux工程师

售前工程师的岗位职责

负责组织制定系统集成项目的技术方案编写、标书的准备、讲解及用户答疑等工作;
的头像 工程师人生 发表于 04-24 09:41 142次 阅读
售前工程师的岗位职责

工程师应该怎么写简历

招聘者每天要看成百上千份简历,也许在每份简历上花的时间不到5分钟。如果才能从许多简历中跳出来,吸引招....
的头像 工程师人生 发表于 04-23 16:45 204次 阅读
工程师应该怎么写简历

30份技术干货,攻城狮想要了解的全在这儿!

这是一份攻城狮不能拒绝的福利!30份技术干货, 涉及Iot产业发展、5G、工业物联网、智能可穿戴、智慧城市等领域精细划分 由微...
发表于 04-23 09:36 252次 阅读
30份技术干货,攻城狮想要了解的全在这儿!

java高级工程师的要求有哪些

从事java后端开发4年及以上,具有根据业务需求进行独立设计的能力
的头像 工程师人生 发表于 04-22 16:47 214次 阅读
java高级工程师的要求有哪些

什么是高级工程师

最近和很多认为自己是高级工程师的程序员聊过,发现了一个很显著的问题,大家以为自己会ssh,会点小模块....
的头像 工程师人生 发表于 04-22 16:42 200次 阅读
什么是高级工程师

成为JAVA高级工程师需要学哪些知识

至少要精通多门开源技术吧,研究过struts\spring等的源码。
的头像 工程师人生 发表于 04-22 16:32 211次 阅读
成为JAVA高级工程师需要学哪些知识

谈谈国外的工程师们怎样工作的?

外国工程师年纪都很大,曾有人表示先后与40多位外国工程师共事过。只有2位小于30岁。绝大部分是中年人....
的头像 电源研发精英圈 发表于 04-22 16:30 291次 阅读
谈谈国外的工程师们怎样工作的?

项目管理工程师的职责及权利

项目管理工程师是项目团队的领导者,其所担负的责任就是领导团队能够准时、优质的完成项目的全部工作,从而....
的头像 工程师人生 发表于 04-19 15:34 188次 阅读
项目管理工程师的职责及权利

工程师如何培养解决问题的能力

手机响了,是一个实施工程师打过来的,说现场的数据采集不上来,问怎么解决。我问软件的版本,仪器的型号,....
的头像 工程师人生 发表于 04-18 15:48 209次 阅读
工程师如何培养解决问题的能力

爬虫工程师是干什么的 需要掌握哪些技能

互联网是由一个一个的超链接组成的,从一个网页的链接可以跳到另一个网页,在新的网页里,又有很多链接。理....
的头像 工程师人生 发表于 04-18 15:42 227次 阅读
爬虫工程师是干什么的 需要掌握哪些技能

Python爬虫工程师面试时的常见问题

一般面试官的第一个问题八成都是问一下以前做过的项目,所以最好准备两个自己最近写的有些技术
的头像 工程师人生 发表于 04-18 15:36 191次 阅读
Python爬虫工程师面试时的常见问题

一名爬虫工程师的苦与乐

每当数据检查不通过时,就会有点揪心,怕是又出了什么乱子。最可恨的就是网站改版,每次改版,原先设计的系....
的头像 工程师人生 发表于 04-18 15:30 202次 阅读
一名爬虫工程师的苦与乐

如何成为全栈工程师

一个天气应用,干净清爽的界面,天气信息一目了然。它不仅可以精确预测未来 10 天的天气,还可以显示某....
的头像 工程师人生 发表于 04-18 14:38 179次 阅读
如何成为全栈工程师

设计素养对前端工程师的重要性

在很久之前我就说过同样的话,表达过我觉得做为前端工程师而言设计素养的重要性,今天我想聊天为什么我有这....
的头像 工程师人生 发表于 04-17 16:22 203次 阅读
设计素养对前端工程师的重要性

前端工程师需要掌握哪些技能

前端工程师是一个出现了10年左右,而颇受重视则是最近这五六年的事情。受到重视到前端从业人员井喷,也就....
的头像 工程师人生 发表于 04-17 16:03 208次 阅读
前端工程师需要掌握哪些技能

自然语言工程师的岗位要求有哪些

改进推荐算法,提高推荐的精度;
的头像 工程师人生 发表于 04-16 17:23 206次 阅读
自然语言工程师的岗位要求有哪些

java后端工程师的换工作经历总结

我建议是第一是跟语言无关的部分,也就是所谓的基本功。具体也就是我们大学本科里面最头疼的那些东西,数据....
的头像 工程师人生 发表于 04-16 17:18 279次 阅读
java后端工程师的换工作经历总结

前端工程师的简历到底怎么写

其实前端工程师并不少,但很多时候合适的前端工程师难找。可能是由于程序员比较内向,前端工程师都没有把自....
的头像 工程师人生 发表于 04-16 17:08 256次 阅读
前端工程师的简历到底怎么写

一位测试开发工程师的面经总结

等价类划分法:输入的数据划分为有效等价类和无效等价类
的头像 工程师人生 发表于 04-16 17:01 228次 阅读
一位测试开发工程师的面经总结

腾讯测试开发工程师面试经历

了解到过完年回来很多大公司就开始实习生招聘了,我也在开学的时候就投了简历,内推和正式实习生招聘都参加....
的头像 工程师人生 发表于 04-16 16:56 449次 阅读
腾讯测试开发工程师面试经历

怎样成为一名优秀的全栈工程师

全栈工程师一词,最早出现于Facebook工程师Calos Bueno的一篇文章 - Full St....
的头像 工程师人生 发表于 04-15 16:25 274次 阅读
怎样成为一名优秀的全栈工程师

区块链工程师的能力需求有哪些

区块链工程师,目前能力需求大概有这些:
的头像 工程师人生 发表于 04-15 16:00 299次 阅读
区块链工程师的能力需求有哪些

优秀的工程师有哪些特质

在我看来,一个工程师是否优秀,潜力如何,主要看有没有如下三个特质:
的头像 工程师人生 发表于 04-13 11:40 778次 阅读
优秀的工程师有哪些特质

作为一位IC设计工程师,该如何保持电路知识不过期不遗忘?

作为电子工程师,特别是电路工程师,如Analog IC, Digital IC Engineer,需要了解到电路、集成电路,数字电路、模拟电路、...
发表于 04-12 17:47 527次 阅读
作为一位IC设计工程师,该如何保持电路知识不过期不遗忘?

怎样才算是一名优秀的Java工程师

当今我国信息化处于发展阶段,数以万计的中小企业继续中高级别Java开发工程师,导致Java开发行业越....
的头像 工程师人生 发表于 04-12 16:42 333次 阅读
怎样才算是一名优秀的Java工程师

成为合格的售前工程师需要具备哪些技能及素质

闲着无事,想想最近被面试和面试别人时各个问题,自己总结了几条作为合格售前工程师需要具备的技能、素质,....
的头像 工程师人生 发表于 04-12 16:04 306次 阅读
成为合格的售前工程师需要具备哪些技能及素质

BAT工程师有哪些成长阶段

说明:刚参加工作的新同学经验积累一般较少,为了形成“问题驱动”的工作习惯,在这个阶段应更多参与很具体....
的头像 工程师人生 发表于 04-11 16:11 156次 阅读
BAT工程师有哪些成长阶段

PHP工程师怎样获得更好的发展

作为Web开发中应用最广泛的语言之一,PHP有着大量的粉丝,那么你是一名优秀的程序员吗?在进行自我修....
的头像 工程师人生 发表于 04-11 16:00 184次 阅读
PHP工程师怎样获得更好的发展

一位工程师的进阶之路

现在, 我工作满7年。 原本的计划, 是在工作满10年的时候, 有更多积累之后, 再来写一些能够帮助....
的头像 工程师人生 发表于 04-11 15:46 251次 阅读
一位工程师的进阶之路

Java工程师的面试经验和思考

打算换个工作,近一个月面试了不少的公司,下面将一些面试经验和思考分享给大家。另外校招也快要开始了,为....
的头像 工程师人生 发表于 04-11 15:37 138次 阅读
Java工程师的面试经验和思考

【个人观点】如何成为一名合格的开关电源工程师,需要具备哪些知识?

(1)关于「开关电源工程师需要哪些知识」 以一个简单的Buck变换器的设计为例进行说明。 [图片来自:Erickson R W, Mak...
发表于 04-11 07:30 734次 阅读
【个人观点】如何成为一名合格的开关电源工程师,需要具备哪些知识?

人工智能会取代软件测试工程师吗

近几年,人工智能逐渐兴起,AI 助手、无人驾驶汽车、云端全功能芯片。..在媒体领域,机器人写稿、媒体....
的头像 工程师人生 发表于 04-10 15:40 304次 阅读
人工智能会取代软件测试工程师吗

AI工程师分哪些层次

每一波浪潮的到来,都意味一片无人占领的蓝海,也意味着众多新成长起来的巨头,还意味着什么?大量的技术人....
的头像 工程师人生 发表于 04-10 15:32 496次 阅读
AI工程师分哪些层次

嵌入式软件工程师待遇怎么样 当前企业需要哪些技术

想要了解嵌入式软件开发工程师待遇怎么样,那就先来看一下嵌入式软件工程师发展趋势怎么样,据市场分析,现....
的头像 工程师人生 发表于 04-10 14:57 337次 阅读
嵌入式软件工程师待遇怎么样 当前企业需要哪些技术

人工智能工程师需要具备哪些技能

当你在编程的时候必须能够对以上提到的这些基础知识进行应用、执行、修改或者处理。课后练习、编码竞赛还有....
的头像 工程师人生 发表于 04-09 16:51 759次 阅读
人工智能工程师需要具备哪些技能

怎样成为一名云计算工程师

云计算是一种通过互联网提供与计算相关资源的可扩展的方法。工程学科应用于这个概念则被称为云计算工程,它....
的头像 工程师人生 发表于 04-09 16:47 372次 阅读
怎样成为一名云计算工程师

怎样成为一名异构并行计算工程师

随着深度学习(人工智能)的火热,异构并行计算越来越受到业界的重视。从开始谈深度学习必谈GPU,到谈深....
的头像 工程师人生 发表于 04-09 16:41 367次 阅读
怎样成为一名异构并行计算工程师

高级PHP工程师应具备哪些条件

和所有程序员一样,要写一手好的程序,没有好的心态是不行的。
的头像 工程师人生 发表于 04-09 16:33 338次 阅读
高级PHP工程师应具备哪些条件

作为工程师是否可以一辈子靠技术生存?

我现在是自己做,但我此前有多年在从事软件开发工作,当回过头来想一想自己,觉得特别想对那些初学JAVA/DOT。NET技术的...
发表于 04-09 16:19 4236次 阅读
作为工程师是否可以一辈子靠技术生存?

日本软件开发工程师的前途

在一些论坛上面经常能够看到一些人,对这个行业的一些不太积极的评价。意思大概都是对日软件开发没有技术含....
的头像 工程师人生 发表于 04-08 16:08 227次 阅读
日本软件开发工程师的前途

JAVA工程师的前途怎么样

Java是门高端计算机编程语言,Java是门称霸世界的编程语言,Java还是门企业级编程语言,当下谷....
的头像 工程师人生 发表于 04-08 15:48 219次 阅读
JAVA工程师的前途怎么样

一位开源工程师的经历

那将文件写入五英寸软盘的奇怪的声音,听起来却像音乐般美妙。那段时间,这块软盘简直成为了我的至宝。我把....
的头像 工程师人生 发表于 04-07 16:43 146次 阅读
一位开源工程师的经历

汇总PCB layout工程师的7个好习惯 你有没有学会?

在有些人看来,PCB layout工程师的工作会有些枯燥无聊,每天对着板子成千上万条走线,各种各样的....
的头像 电小二 发表于 04-06 16:44 442次 阅读
汇总PCB layout工程师的7个好习惯 你有没有学会?

爬虫工程师的价值及入门技巧

大数据时代已到,数据越来越具有价值了,没有数据寸步难行,有了数据好好利用,可以在诸多领域干很多事,比....
的头像 工程师人生 发表于 04-04 16:19 541次 阅读
爬虫工程师的价值及入门技巧

AI工程师和算法工程师在应聘时究竟应该怎么准备

今天我们来讨论 AI 工程师和算法工程师在应聘方面的问题。一起来看看,作为 AI 工程师,在面试一家....
的头像 工程师人生 发表于 04-03 16:24 473次 阅读
AI工程师和算法工程师在应聘时究竟应该怎么准备

Java工程师的岗位职责有哪些

随着电子产业的迅猛发展,Java技术也得到越来越广泛的应用,Java工程师随之也成为受欢迎的IT岗位....
的头像 工程师人生 发表于 04-02 16:15 330次 阅读
Java工程师的岗位职责有哪些

为什么很多JAVA工程师会转行做大数据

JAVA已成为当今市面上最受欢迎的编程软件,对于处于信息高速发达的今天,JAVA技术已经无处不在,手....
的头像 工程师人生 发表于 04-02 16:11 505次 阅读
为什么很多JAVA工程师会转行做大数据

大数据工程师年薪真的能达到30W以上

不知道大家有没有听过这样一句话:Google比你自己更了解你
的头像 工程师人生 发表于 04-02 16:03 718次 阅读
大数据工程师年薪真的能达到30W以上

怎样成为一名真正的数据工程师

数据分析的坑很大,一开始走上这条路,就要明确基本的方向,依托于核心的思想,不然只会越走越偏,最后觉得....
的头像 工程师人生 发表于 04-02 15:59 359次 阅读
怎样成为一名真正的数据工程师

程序员怎样转行大数据工程师

对于程序员来说,技术进步大大超过世人的想象,如果你不跟随时代进步,就会落后于时代。
的头像 工程师人生 发表于 04-02 15:46 689次 阅读
程序员怎样转行大数据工程师

作为深漂工程师,我在硬件设计这条路的成长经历

以硬件工程师的身份已经工作两年多,回看自己的经历,大学以前,可以用四个字来总结:按部就班。大学以后,也可以用四个字来总结...
发表于 04-02 14:47 715次 阅读
作为深漂工程师,我在硬件设计这条路的成长经历

在汽车自动化生产线PLC调试的主要内容?诸如夹具?

推荐课程: 张飞软硬开源,基于STM32 BLDC直流无刷电机驱动器视频套件 ...
发表于 03-11 02:13 455次 阅读
在汽车自动化生产线PLC调试的主要内容?诸如夹具?

工程师们怎么看华为起诉美国政府这件事?

3月7日上午,华为轮值董事长郭平在外媒记者会上宣布,华为已向美国联邦法院提起诉讼,指控美国2019年国防授权法第889条款违反美国...
发表于 03-08 11:26 3973次 阅读
工程师们怎么看华为起诉美国政府这件事?

工程师专属福利,免费资料+百元京东卡任性大派送!

电子发烧友又来送福利啦!不花一分钱就能获得100元京东卡等好礼的机会就在这里啦! 活动参与方式:进入活动链接填写表单之后...
发表于 03-07 18:29 4152次 阅读
工程师专属福利,免费资料+百元京东卡任性大派送!

请问w10系统如何连接usrp x310

如题,w10系统 如何连接usrp x310
发表于 03-07 09:33 229次 阅读
请问w10系统如何连接usrp x310