这是今年前端最常见的面试题,你都会了吗?

  

  在面试或招聘前端开发人员时,期望,现实和需求之间总是存在着巨大差距。面试其实是一个交流想法的地方,挑战人们的思考方式,并客观地分析给定的问题。可以通过面试了解人们如何做出决策,了解一个人对技术和解决问题的热情程度,也是在了解未来可能一起共事的同事。   

  

  以下是我们在面试讨论中提出的一些问题,希望这个问题列表可以帮助面试者和候选人能够在面试中正确地设定期望,要求和现实。   

  

  基本的JavaScript问题   

  

  1. 让下面的代码可以运行:   

  <前>   const  a =, (1,, 2,, 3,, 4,, 5];//Implement 这   a.multiply ();   console.log (a),,//,[1, 2, 3, 4, 5,, 1,, 4日,9日,16日,25)   之前   

  2. 以下代码会返回   <代码>   假      解,释为什么会这样:   

  <前>//错误   0.2,+,- 0.1,0.3===,   之前   

  3.JavaScript中有哪些不同的数据类型?   

  

  提示:JavaScript中只有两种类型,主要数据类型和引用类型(对象),其中有六种主要数据类型。   

  

  4. 解决以下异步代码问题。   

  

  获取并计算属于某个班级(假设ID为75)的每个学生的平均分数。每个学生在一年内可以参加一门或多门课程。以下API可用于获取所需的数据。   

  <前>//,GET  LIST  OF  ALL 从而学生   GET /api/学生   回应:   [{   ,,,“id":, 1,   ,,,“name":,“John"   ,,,“classroomId": 75   })//,GET  COURSES  FOR  GIVEN  A 学生   GET /api/课程?过滤器=studentId  eq  1   回应:   [{   ,才能“id":,“history"   ,才能“studentId": 1   },{   ,才能“id":,“algebra"   ,才能“studentId": 1   }),//,GET  EVALUATION  FOR  EACH 课程   GET /api/评估/历史?过滤器=studentId  eq  1   回应:   {   ,,,“id":, 200年,   ,,,“score":, 50岁,   ,,,“totalScore": 100   }   之前   

  编写一个以班级ID作为参数的函数,你将使用这个函数计算该班级中每个学生的平均分数。这个函数的最终输出应该是带有平均分数的学生列表:   

  <前>   (   {才能,“id": 1,“name":,“John",,“average":, 70.5,},   {才能,“id": 3,“name":,“Lois",,“average":, 67,},   }   之前   

  使用普通回调,承诺,可见,发电机或async-wait编写所需的函数。尝试使用至少三种不同的技术解决这个问题。   

  

  5. 使用JavaScript代理实现简单的数据绑定   

  

  提示:ES代理允许你拦截对任何对象属性或方法的调用。首先,每当底层绑定对象发生变更时,都应更新DOM。   

  

  6. 解释JavaScript的并发模型   

  

  你是否熟悉灵丹妙药,Clojure、Java等其他编程语言中使用的并发模型?   

  

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

  

  7.“新”关键字在JavaScript中有什么作用吗?   

  

  提示:在JavaScript中,新的是用于实例化对象的运算符。   

  

  另外,请注意[[制造]]和[[说]]。   

  

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

  

  提示:有四种模式,函数调用,方法调用,打电话给()和苹果()。   

  

  9. 介绍一些即将发布的新的ECMAScript提案。   

  

  提示:与2018年一样,长整型数字,部分函数,管道操作符等。   

  

  10.JavaScript中的迭代器和iterable是什么?你知道有哪些内置的迭代器吗?   

  

  11. 为什么JavaScript类被认为是一种反模式?   

  

  JavaScript的类是否还有其他用武之地?   

  

  12. 如何将下面的对象序列化成JSON吗?   

  

  如果我们将下面的对象转换为JSON字符串,会发生什么?   

  <前>   const  a =, {   ,,,key1:,符号(),   ,,,key2: 10   }//,What  will 发生吗?   console.log (JSON.stringify (a));   之前   

  13. 你熟悉类型化数组吗?如果是,请解释它们的用处以及它们与传统数组的差别吗?   

  

  14. 请解释默认参数的原理吗?   

这是今年前端最常见的面试题,你都会了吗?