面试题
文章平均质量分 79
程序媛~~~
这个作者很懒,什么都没留下…
展开
-
手写 Promise
手写 Promise实现一个简易版 Promise在完成符合 Promise/A+ 规范的代码之前,我们可以先来实现一个简易版 Promise,因为在面试中,如果你能实现出一个简易版的 Promise 基本可以过关了。那么我们先来搭建构建函数的大体框架const PENDING = 'pending'const RESOLVED = 'resolved'const REJECTED = 'rejected'function MyPromise(fn) { const that = thi转载 2021-05-10 20:27:22 · 68 阅读 · 0 评论 -
JS 异步编程及常考面试题
JS 异步编程及常考面试题并发(concurrency)和并行(parallelism)区别涉及面试题:并发与并行的区别?异步和这小节的知识点其实并不是一个概念,但是这两个名词确实是很多人都常会混淆的知识点。其实混淆的原因可能只是两个名词在中文上的相似,在英文上来说完全是不同的单词。并发是宏观概念,我分别有任务 A 和任务 B,在一段时间内通过任务间的切换完成了这两个任务,这种情况就可以称之为并发。并行是微观概念,假设 CPU 中存在两个核心,那么我就可以同时完成任务 A、B。同时完成多个任务转载 2021-05-10 20:26:28 · 223 阅读 · 0 评论 -
JS 思考题
JS 思考题这种方式不仅能加深你对知识点的理解,同时也能帮助你串联起多个碎片知识点。一旦你拥有将多个碎片知识点串联起来的能力,在面试中就不会经常出现一问一答的情况。如果面试官的每个问题你都能引申出一些相关联的知识点,那么面试官一定会提高对你的评价。思考题一:JS 分为哪两大类型?都有什么各自的特点?你该如何判断正确的类型?首先这几道题目想必很多人都能够很好的答出来,接下来就给大家一点思路讲出与众不同的东西。思路引导:对于原始类型来说,你可以指出 null 和 number 存在的一些问题。对原创 2021-05-10 20:25:53 · 112 阅读 · 0 评论 -
JS 进阶知识点及常考面试题
JS 进阶知识点及常考面试题手写 call、apply 及 bind 函数涉及面试题:call、apply 及 bind 函数内部实现是怎么样的?首先从以下几点来考虑如何实现这几个函数不传入第一个参数,那么上下文默认为 window改变了 this 指向,让新的对象可以执行该函数,并能接受参数那么我们先来实现 callFunction.prototype.myCall = function(context) { if (typeof this !== 'function') {原创 2021-05-10 20:25:12 · 94 阅读 · 0 评论 -
JS 基础知识点及常考面试题(一)
JS 基础知识点及常考面试题(一)原始(Primitive)类型涉及面试题:原始类型有哪几种?null 是对象嘛?在 JS 中,存在着 6 种原始值,分别是:booleannullundefinednumberstringsymbol首先原始类型存储的都是值,是没有函数可以调用的,比如 undefined.toString()[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bG7czNcW-1620649453522)(C:\Users\王秀\Ap原创 2021-05-10 20:24:34 · 126 阅读 · 1 评论 -
JS 基础知识点及常考面试题(二)
JS 基础知识点及常考面试题(二)涉及面试题:== 和 === 有什么区别?对于 == 来说,如果对比双方的类型不一样的话,就会进行类型转换,这也就用到了我们上一章节讲的内容。假如我们需要对比 x 和 y 是否相同,就会进行如下判断流程:首先会判断两者类型是否相同。相同的话就是比大小了类型不相同的话,那么就会进行类型转换会先判断是否在对比 null 和 undefined,是的话就会返回 true判断两者类型是否为string和number,是的话就会将字符串转换为numb原创 2021-05-10 20:23:37 · 63 阅读 · 0 评论 -
Event Loop
Event Loop进程与线程涉及面试题:进程与线程区别?JS 单线程带来的好处?相信大家经常会听到 JS 是单线程执行的,但是你是否疑惑过什么是线程?讲到线程,那么肯定也得说一下进程。本质上来说,两个名词都是 CPU 工作时间片的一个描述。进程描述了 CPU 在运行指令及加载和保存上下文所需的时间,放在应用上来说就代表了一个程序。线程是进程中的更小单位,描述了执行一段指令所需的时间。把这些概念拿到浏览器中来说,当你打开一个 Tab 页时,其实就是创建了一个进程,一个进程中可以有多个线程,比原创 2021-05-10 20:23:00 · 51 阅读 · 0 评论 -
ES6 知识点及常考面试题
ES6 知识点及常考面试题var、let 及 const 区别涉及面试题:什么是提升?什么是暂时性死区?var、let 及 const 区别?对于这个问题,我们应该先来了解提升(hoisting)这个概念。console.log(a) // undefinedvar a = 1从上述代码中我们可以发现,虽然变量还没有被声明,但是我们却可以使用这个未被声明的变量,这种情况就叫做提升,并且提升的是声明。对于这种情况,我们可以把代码这样来看var aconsole.log(a) // un转载 2021-05-10 20:22:08 · 92 阅读 · 0 评论 -
JS面试题-闭包异步-变量提升-引用传值-this
闭包面试题和异步的题目 var name = "The Window"; var object = { name: "My Object", getNameFunc: function () { return function () { return this.name; }; } }; console.log(object.getName原创 2021-05-08 10:30:45 · 212 阅读 · 0 评论