前端面试题整理(一)JS基础
准备面试的时候做的个人整理,比较基础,难度对标实习一面,校招应该比这难点。
其他资源分享/题目整理
前端面试题整理(二)CSS基础 https://www.nowcoder.com/discuss/420097前端面试题整理(三)简单算法 https://www.nowcoder.com/discuss/420121前端面试题整理(四)浏览器 https://www.nowcoder.com/discuss/418515前端面试题整理(五)HTTP https://www.nowcoder.com/discuss/419549前端面试题整理(六)html https://www.nowcoder.com/discuss/419557前端面试题整理(七)框架 https://www.nowcoder.com/discuss/418462前端面试题整理(八)ES6 https://www.nowcoder.com/discuss/420095前端面试题整理(九)用JS实现组件/API https://www.nowcoder.com/discuss/418475
字节跳动抖音商业化前端实习面经 https://www.nowcoder.com/discuss/418479
前端面试题整理之JS基础
一、个人经验
JS基础是面过的大多数面试的一面主要考点(一面基础,二面项目,三面内容靠RP)。也遇到过面试官更关心css应用,js只考非常简单的,这样的一般未来工作内容也更偏css。根据个人经验,基础的JS问题肯定是得hold住,不然一面估计也过不去;对于一些细节/应用型的问题,建议慢慢积累,理解型记忆,看到就记一下,考过的记住作为下一次的背书;难一些的问题看个人能力和目标公司要求,毕竟还有其他知识也需要准备。有时间精力的,推荐看看《JavaScript权威指南》或者《JavaScript高级程序设计》,这两本大部头非常全面(有点啰嗦)的介绍了js这门语言,可以夯实基础,帮助更好的理解js。
二、面试题整理
- js基本数据类型哪几个?引用类型有哪些?null和undefined的区别?(常考)
- JS中基本数据类型和引用类型在内存上有什么区别?
- tostring、valueof、typeof、instanceof?instanceof原理?https://www.jianshu.com/p/a1238c370d75
- 原型链封装和继承:http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_encapsulation.html
- 描述一下new操作符做了什么?
- Object.defineProperty实现双向绑定(考过):https://www.cnblogs.com/leaf930814/p/6891254.html
- 下面代码输出结果?为什么?
Function.prototype.a = 'a'; Object.prototype.b = 'b'; function Person(){}; var p = new Person(); console.log('p.a: '+ p.a); // p.a: undefinedconsole.log('p.b: '+ p.b); // p.b: b
- 手撸js原生对象的原型链
- 正则表达式(考过简单的)
- 阻止冒泡的方法(考过)
- GC?http://www.ruanyifeng.com/blog/2017/04/memory-leak.html
- 如何判断一个变量是Array类型?如何判断一个变量是Number类型?(都不止一种,考过)
- Object是引用类型嘛?引用类型和基本类型有什么区别?哪个是存在堆哪一个是存在栈上面的?
- 如何阻止冒泡?如何阻止默认事件?
- 对闭包的理解?什么时候构成闭包?闭包的实现方法?闭包的优缺点?(考过)
- call,apply,bind:分清谁是this对象谁是被借的方法(考过)
- 创建对象的多种方式
- 实现继承的多种方式和优缺点
- 举例说明一个匿名函数的典型用例
- 箭头函数(这个其实是ES6,考过)
- attribute和property的区别
- document load和document DOMContentLoaded两个事件的区别
- [] [] === [],[] == [](考过)
- undefined === undefined, undefined == undefined
- js 的作用域有几种?{}是不是作用域?(考过)
- JS如何实现重载和多态
- 原生事件绑定(跨浏览器),dom0和dom2的区别?
- 普通函数和构造函数的区别
- 给定一个元素获取它相对于视图窗口的坐标
- 如何实现图片滚动懒加载
- JavaScript 的事件流模型都有什么?
- js的垃圾回收机制
- 内存泄漏的原因和场景
- DOM事件的绑定的几种方式
- DOM事件中target和currentTarget的区别
- 手指点击可以触控的屏幕时,是什么事件?
- 事件循环知道吗?描述一下它的实现原理和应用场景。
- for in的缺点