[阅 #1] 推荐一份前端面试题给你
2017-08-30 本文已影响154人
goddyzhao
「阅」——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」微信公众号获取最新课程和学习资料