7个Js面试题及回答策略

更新日期: 2018-11-01阅读: 1.5k标签: 面试

不管你是面试官还是求职者,里面的思路都能让你获益匪浅。


0.单体应用和微服务架构之间有哪些主要区别,从灵活性和可扩展性的角度来看,哪个是更好选择?

解析:

这个问题用来评估基础编码知识。答案可以有多种,所以应该注意倾听具体的问题,并尽量全面回答,来展示自己对单体应用与微服务架构的理解。

面试官想知道些什么:

  • 求职者对编码的熟悉程度
  • 求职者对不同构建方法利弊的理解
  • 是否具有从单体应用服务过渡到微服务的能力

参考答案:

设计单体架构在短期内成本较低,但代码在内存是单一的内聚单元。微服务架构提供了灵活性和可扩展性,因为每个组件都是一个独立的程序。


1.同步和异步编程有什么区别,异步编程与你的 JavaScript 工作有什么关系?

解析:

异步编程允许多个并发操作,并且它非常适合 JavaScript 程序。这个问题评用来估求职者的编码知识,以及对 JavaScript 的具体理解。

面试官想知道些什么:

  • 能够清晰地表达同步和异步编程之间的差异
  • 异步编程对用户界面的影响
  • 了解阻塞以及对性能的影响

参考答案:

简单来说,同步编程意味着代码以线性方式执行。这些程序通常不能同时处理多个操作。使用异步编程,有一个事件循环。一个程序线程可以处理多个操作。由于 JavaScript 通常用于用户界面,因此同时运行多个操作的能力可以带来更好的用户体验。


2.你是否在 JavaScript 中使用过类继承和原型继承?为什么?

解析:

这个问题有助于了解求职者是否具有 JavaScript 经验和专业知识。原型继承比类继承更容易、更灵活,这是判断一个有经验的 JavaScript 程序员的首选方法。

面试官想知道些什么:

  • 是否偏爱原型继承和组合
  • 具有阐明这种偏好的原因的能力
  • 函数继承,原型链继承,原型委托和对象组合

参考答案:

当使用类继承时,实例继承自类,这会产生分层。而通过原型继承,实例继承自其他对象,并且可以从多个对象创建。我更喜欢原型继承,因为它更简单、更灵活。


3.在你看来,类继承是否是正确的选择?如果是的话,是在什么情况下?如果不是,为什么?

解析:

求职者的答案能让面试官深入了解他们使用 JavaScript 的经历。类继承有意义的情况很少,求职者可能会说根本没有。 否定的答案优于对适当情况冗长的描述,因为这些通常是基于错误信息的。

面试官想知道些什么:

  • 类继承永远或几乎从来都不是正确的选择
  • 求职者能否阐明其回复的原因
  • 求职者有能力用逻辑来捍卫他们的结论

参考答案:

类继承几乎从来都不是正确的解决方案。只有在极少数情况下,它可能被用到。


4.你如何定义函数式编程?函数式编程在 JavaScript 中的作用是什么?

解析:

函数式编程是目前 JavaScript 使用的基本原则。求职者是否能够完整的回答这个问题,可以证明他们的基础知识是否扎实。

面试官想知道些什么:

  • 提及纯函数和避免副作用
  • 能够提供函数式编程语言的示例
  • 能够认同 JavaScript 的函数式编程,并具有使用它们的能力

参考答案:

函数式编程允许通过使用纯函数来设计软件。此方法避免了很多编程问题,如共享状态,副作用和可变数据。它作为面向对象编程的替代方案,其中应用状态通常与对象中的方法搭配并共享。


5.使用函数式编程方法而不是面向对象编程有什么好处?你能提供一个例子吗?

解析:

任何具有 JavaScript 经验的求职者都会使用其中一种风格,因此应该能够对每种风格的优缺点提出一些看法。这个问题可以帮助面试官衡量求职者使用 JavaScript 的深度。

面试官想知道些什么:

  • 能够阐明任何一种方法的优缺点
  • 提及共享资源导致的问题
  • 了解函数式编程如何简化应用程序

参考答案:

虽然我主要使用面向对象编程方式,但是我更希望用函数式编程开发。在用面向对象编程时遇到不同的组件竞争相同的资源的时候,更是如此。


6.你如何定义单向数据流和双向数据绑定?两者有什么区别?

解析:

这个问题能够说明求职者对 JavaScript 重要基本原则的深刻理解。不熟悉这些条款的求职者可能没有该职位所需的经验。

面试官想知道些什么:

  • 能够清晰、简洁的定义这两个概念
  • 能够阐明两个概念之间的差异
  • 提及相关的框架

参考答案:

当模型是单一事实来源时,会发生单向数据流,react 就是一个例子。双向数据绑定是用户界面与模型数据动态链接的状态。如果用户界面中的字段发生了变化,模型也会发生变化,比如 angular


链接: https://www.fly63.com/article/detial/6237

Web前端年后跳槽面试复习指南

很多童鞋可能年后有自己的一些计划,比如换份工作环境,比如对职业目标有了新的打算。当然面试这一关不得不过,大概又不可能系统性的复习,这里罗列一些 重点 面试的知识点和文章,

前端面试之webpack面试常见问题

什么是webpack和grunt和gulp有什么不同?什么是bundle,什么是chunk,什么是module?什么是Loader?什么是Plugin?如何可以自动生成webpack配置?webpack-dev-server和http服务器如nginx有什么区别?

每个 JavaScript 工程师都应当知道的 10 个面试题

多问问应聘者高层次的知识点,如果能讲清楚这些概念,就说明即使应聘者没怎么接触过 JavaScript,也能够在短短几个星期之内就把语言细节和语法之类的东西弄清楚。

37个JavaScript基本面试问题和解答

面试比棘手的技术问题要多,这篇文章整理了37个JavaScript基本面试问题和解答,这些仅仅是作为指导。希望对前端开发的你有所帮助!

React常见面试题

React常见面试题:React中调用setState之后发生了什么事情?React中Element与Component的区别?优先选择使用ClassComponent而不是FunctionalComponent?React中的refs属性的作用是什么?React中keys的作用是什么?

有趣的Js面试题_如何让 (a == 1 && a == 2 && a == 3) 返回 true

题目大意为:JS 环境下,如何让 a == 1 && a == 2 && a == 3 这个表达式返回 true ?这道题目乍看之下似乎不太可能,因为在正常情况下,一个变量的值如果没有手动修改,在一个表达式中是不会变化的。

js练习笔记:10道JavaScript题目

10道JavaScript题目:累加函数addNum、实现一个Person类、实现一个arrMerge 函数、实现一个toCamelStyle函数、setTimeout实现重复调用、实现一个bind函数、实现一个Utils模块、输出一个对象自身的属性

vue菜鸟从业记:没准备好的面试,那叫尬聊

面试开场白总缺少不了自我介绍,一方面是面试官想听听你对自己的介绍,顺便有时间看看简历上的描述,是否与口述一致。另一方面就是看看你简历上做过什么项目,用到了哪些技术栈,一会儿好提问你。

毕业一年左右的前端妹子面试总结

把面试当做学习,这个过程你会收益很大。前端知识很杂,可能实际工作中用到的技术,像框架都是跟着公司的要求走的,像我最近也在看React啦,Vue和React都对比着再学习

vue面试时需要准备的知识点

vue上手可以说是比较轻松而且简单,如果你用过angular,react,你也会很喜欢vue。vue的核心思想依旧是:构建用户界面的渐进式框架,关注视图的变化。这也是为什么新建的文件是结构是template script style

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!