×

[阅 #1] 推荐一份前端面试题给你

96
goddyzhao
2017.08.30 19:04 字数 558

「阅」——JSCourse 旗下栏目,专门推荐我们为大家精心挑选的优质 JavaScript 相关技术内容

大家好,我是小 J, 欢迎大家来到 jscourse 「阅」栏目的第一期,本期我们为大家精心挑选了一份前端面试题。

这份面试题是由国外一名前端工程师——Boris Cherny 制作的。内容非常丰富,涵盖了基础概念、编码(不同难易程度都有)、调试以及系统设计这些方面很经典的题目。我们选择几个题目来给大家看一下。

基础概念题

  • 什么是原型继承?它和类继承的区别是什么?
  • **this **的工作原理是什么?
  • 什么是 闭包
  • ......

编程题

  • 实现一个 **filter **函数(简单)
  • 实现检查一个数是否为质数的函数 (简单)
  • 实现一**个 sort **函数(中等)
  • 实现一个链表(难)
  • 实现一个 HashMap 类(难)
  • ......

调试题

1 我想让如下代码输出 “hey amy”,但却输出了 “hey arnold”,这是为什么?

function greet(person) {
  if (person == { name: 'amy' }) {
    return 'hey amy'
  } else {
    return 'hey arnold'
  }
}
greet({ name: 'amy' })

2 我想让如下代码输出 “doggo”,但却输出了 “undefined”,这是为什么?

let dog = {
  name: 'doggo',
  sayName() {
    console.log(this.name)
  }
}
let sayName = dog.sayName
sayName()

...

系统设计题

  • 请描述如何实现一个 auto complete 组件(包括前端和后端的实现)
  • 如何实现一个简单的 twitter 应用(你可以换成微博)
  • ......

小编觉得这些题目还是比较全面的,考察到了基础的 JavaScript 相关的技术知识点。把这份面试题推荐给你,希望你可以认认真真地将它做完,相信对你一定会有帮助!

点击 这里 获取完整的面试题,面试题是英文的,但是都很简单,大家一定能看懂题目意思,如果实在看不懂题目意思或者做的过程中有问题的,可以通过「jscourse」微信公众号,点击「学习交流」菜单和大家一起讨论交流以及咨询。

关注「jscourse」微信公众号获取最新课程和学习资料

jscourse
Web note ad 1