码迷,mamicode.com
首页 > 编程语言 > 详细

小猿圈之2019年前端JavaScript面试题(二)

时间:2019-06-06 13:53:47      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:学习   不同   inf   生态   加油!   面试题   AMM   客户端   难点   

小猿圈前端讲师今天继续给你总结js面试题,前面一篇文章咱们已经有一片js基础部分面试题,今天小猿圈web讲师为你讲解js前端应用设计问题,一定要好好看哦,为了能赢在其他人前面。

JavaScript前端应用设计问题

1.解释单向数据流和双向数据绑定。

Angular1.x基于双向数据绑定,而React,Vue,Elm等基于单向数据流架构。

2.单向数据流架构在哪些方面适合MVC?

MVC拥有大约50年的悠久历史,并已演变为MVP,MVVM和MV*。两者之间的相互关系是什么?如果MVC是架构模式,那么单向数据流是什么?这些竞争模式是否能解决同样的问题?

3.客户端MVC与服务器端或经典MVC有何不同?

提示:经典MVC是适用于桌面应用程序的SmalltalkMVC。在Web应用中,至少有两个不同的数据MVC周期。

4.使函数式编程与面向对象或命令式编程不同的关键因素是什么?

提示:Currying(柯里化),point-free函数,partial函数应用,高阶函数,纯函数,独立副作用,record类型(联合,代数数据类型)等。

5.在JavaScript和前端的上下文中,函数式编程与响应式编程有什么关系?

提示:没有正确答案。但粗略地说,函数式编程是关于小型编码,编写纯函数和响应式编程是大型编码,即模块之间的数据流,连接以FP风格编写的组件。FRP–功能响应式编程(FunctionalReactiveProgramming)是另一个不同但相关的概念。

6.不可变数据结构(immutabledatastructures)解决了哪些问题?

不可变结构是否有任何性能影响?JS生态系统中哪些库提供了不可变的数据结构?这些库的优点和缺点是什么?

提示:线程安全(我们真的需要在浏览器JavaScript中担心吗?),无副作用的函数,更好的状态管理等。

7.大型应用程序是否应使用静态类型?

1.如何比较TypeScript/Flow与Elm/ReasonML/PureScript等JS转换语言?这些方法的优缺点是什么?

2.选择特定类型系统的主要标准应该是什么?

3.什么是类型推断(typeinference)?

4.静态类型语言和强类型语言有什么区别?在这方面JavaScript的本质是什么?

5.有你知道的弱类型但静态类型的语言吗?有你知道的动态类型但强类型的语言吗?举例一二。

提示:Structural与Nominal类型系统,类型稳健性,工具/生态系统支持,正确性超过方便。

8.JavaScript中有哪些杰出的模块系统(modulesystems)?如何评价ES模块系统。

列出在实现不同模块系统之间互操作所涉及的一些复杂性问题(主要对ES模块和CommonJS互操作感兴趣)

9.HTTP/2将如何影响JavaScript应用程序打包?

列出HTTP/2与其上一个版本的基本区别。

10.FetchAPI相对于传统的Ajax有哪些改进?

使用FetchAPI有那些缺点/难点吗?

哪些是Ajax可以做的,而fetch不能做的?

11.讨论与Promise相关的问题。

提示:及早求值(eagerevaluation),尴尬的取消机制,用then()方法伪装map()和flatMap()等。

以上就是这次小猿圈HTML5讲师给大家整理的2019年前端JavaScript面试题,大家做的怎么样呢,如果针对哪一部分感觉不足,可以去小猿圈具体学习一下那部分内容,弥补自己的不足,做最充足的准备,小伙伴们加油!

小猿圈之2019年前端JavaScript面试题(二)

标签:学习   不同   inf   生态   加油!   面试题   AMM   客户端   难点   

原文地址:https://www.cnblogs.com/xiaoyuanquan/p/10984370.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!