小猿圈分享2019年前端JavaScript面试题(一)

随着互联网迅速发展,java、python、linux、html5前端都是现在比较火爆的行业之一,而学习html5前端的同学也是最多的,因为简单、易上手,被很多人喜欢,但是js对他们来说就相对复杂点,经调查面试中,很多朋友会因为html5中的js问题被刷下来很多,接下来的几天小猿圈前端讲师就会为你分享几个前端js面试题,希望对你的面试有一定的帮助。

JavaScript的ES2015改变了一切。ES2015规范带来了很多重大特性。modules(模块)的原生支持,以及不断发展的函数式编程模式,新的JavaScript感觉上完全是一种不同的语言。

然而,在面试或聘用前端开发人员时,期望,现实和需求之间存在巨大差距。

在2018年底,我们仍然看到大多数面试者被问到AJAX时,面试者依然在jQuery语境中回答问题。这种差距还有很多典型的例子:

CSSGrid和Flexbox布局已经得到了广泛支持。然而,CSS面试时仍然集中在多列浮动布局和行内块级元素居中。他们依然对Bootstrap或Foundation网格系统有着永不消亡的热情。

模块打包器现在几乎是大规模应用程序的标配。然而,当谈到架构时,我们谈论的又是minification和concatenation。在访面试中我们真正讨论过多少次Webpack?

缓存讨论仍局限于Cachecontrolheaders和CDN。像IndexDB,HTTP/2或ServiceWorkers这样的东西只是路过。

这种例子不胜枚举,面试评估与工作实际需求之间的差距显而易见。一方面,我们的前端技术实现取得了跨越式发展,另一方面,新的开发方式还没有形成大的社区。社区分裂永远不是好兆头。这是一条灾难之路。差距总是会创造出一种新的东西,它有能力摧毁我们迄今为止所建造的一切。

面试是催生变革和汇聚人才的好方式。作为面试官的你,如果仅仅把面试当成面试,那么它只会让你自我膨胀。

要使一场面试成功,必须进行讨论。它必须是一个交换思想的地方。它应该挑起人们思考并客观地分析给定的问题。它是理解人们做出的决策过程,也是了解一个人对技术和解决问题的热情,也意味着了解未来可能的同事。所有那些难题,技巧或typeofnull都无法称得上真正面试。

以下是我们在面试讨论中提出的一些问题清单。我们希望此清单可以帮助面试官和面试者在正确的背景下设定期望,需求和现实。

我们要先把自己当成面试官。

JavaScript基础问题

1、JavaScript中有哪些不同的数据类型?

提示:只有两种类型–主要数据类型和引用类型(对象)。有6种主要类型。

2、使用JavaScriptProxy实现简单的数据绑定

提示:ESProxy允许您拦截对任何对象属性或方法的调用。首先,每当更改底层绑定对象时,都应更新DOM。

3、解释JavaScript并发模型

您是否熟悉Elixir,Clojure,Java等其他编程语言中使用的任何其他并发模型?

提示:查找事件循环,任务队列,调用栈,堆等。

4、new关键字在JavaScript中有什么作用?

提示:在JavaScript中,new是用于实例化对象的运算符。这里的目的是了解知识广度和记忆情况。

另外,请注意[[Construct]]和[[Call]]。

5、JavaScript中有哪些不同的函数调用模式?详细解释。

提示:有四种模式,函数调用,方法调用,.call()和.apply()。

6、解释任一即将发布新的ECMAScript提案。

提示:比如2018的BigInt,partial函数,pipeline操作符等。

以上是小猿圈web前端讲师为你分享的JavaScript基础问题部分,感觉这部分有不足的同学,可以来小猿圈看一下前端老师对这部分的详细讲解,弥补自己的不足,为面试做充足的准备,让我们撸起袖子加油干吧。


你可能感兴趣的:(小猿圈分享2019年前端JavaScript面试题(一))