知识管理 知识管理
首页
  • 前端文章

    • JavaScript
    • HTML
    • CSS
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • TypeScript
    • JS设计模式总结
  • 技术文档

    • Git使用手册
    • Markdown使用教程
    • npm常用命令
    • npm packageJson属性详解
    • yaml语言教程
  • 前端面试

    • 前端面试手册
  • 计算机基础

    • 数据库
    • 操作系统
    • 计算机网络
    • Linux
  • Java

    • Java基础
  • 数据结构与算法

    • 数据结构
  • 编程标准

    • 设计模式
    • 代码规范
  • 学习笔记

    • AI学习笔记
  • 推荐系统

    • 机器学习基础
    • 基础推荐算法
    • 深度推荐模型
    • 推荐系统竞赛实践
    • 新闻推荐系统实战
    • 推荐系统面经
  • 计算机视觉

    • 三维重建
关于
收藏
友链
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Francis

人一定要想象西西弗斯的快乐,因为向着高处挣扎本身足以填满一个人的心灵。
首页
  • 前端文章

    • JavaScript
    • HTML
    • CSS
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • TypeScript
    • JS设计模式总结
  • 技术文档

    • Git使用手册
    • Markdown使用教程
    • npm常用命令
    • npm packageJson属性详解
    • yaml语言教程
  • 前端面试

    • 前端面试手册
  • 计算机基础

    • 数据库
    • 操作系统
    • 计算机网络
    • Linux
  • Java

    • Java基础
  • 数据结构与算法

    • 数据结构
  • 编程标准

    • 设计模式
    • 代码规范
  • 学习笔记

    • AI学习笔记
  • 推荐系统

    • 机器学习基础
    • 基础推荐算法
    • 深度推荐模型
    • 推荐系统竞赛实践
    • 新闻推荐系统实战
    • 推荐系统面经
  • 计算机视觉

    • 三维重建
关于
收藏
友链
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • JS 基础知识点及常考面试题(一)
  • JS 基础知识点及常考面试题(二)
  • ES6 知识点及常考面试题
  • JS 异步编程及常考面试题
  • 手写 Promise
  • Event Loop
  • JS 进阶知识点及常考面试题
  • JS 思考题
    • 小结
  • DevTools Tips
  • 浏览器基础知识点及常考面试题
  • 浏览器缓存机制
  • 浏览器渲染原理
  • 安全防范知识点
  • 从 V8 中看 JS 性能优化
  • 性能优化琐碎事
  • Webpack 性能优化
  • 实现小型打包工具
  • React 和 Vue 两大框架之间的相爱相杀
  • Vue 常考基础知识点
  • Vue 常考进阶知识点
  • React 常考基础知识点
  • React 常考进阶知识点
  • 监控
  • UDP
  • TCP
  • HTTP 及 TLS
  • HTTP/2 及 HTTP/3
  • 输入 URL 到页面渲染的整个流程
  • 设计模式
  • 常见数据结构
  • 常考算法题解析
  • CSS 常考面试题资料
  • 如何写好一封简历
  • 面试常用技巧
  • 拓展学习
  • 前端面试手册
IdealDestructor
2021-02-27

JS 思考题

# JS 思考题

之前我们通过了七个章节来学习关于 JS 这部分的内容,那么接下来,会以几道思考题的方式来确保大家理解这部分的内容。

这种方式不仅能加深你对知识点的理解,同时也能帮助你串联起多个碎片知识点。一旦你拥有将多个碎片知识点串联起来的能力,在面试中就不会经常出现一问一答的情况。如果面试官的每个问题你都能引申出一些相关联的知识点,那么面试官一定会提高对你的评价。

思考题一:JS 分为哪两大类型?都有什么各自的特点?你该如何判断正确的类型?
1

首先这几道题目想必很多人都能够很好的答出来,接下来就给大家一点思路讲出与众不同的东西。

思路引导:

  1. 对于原始类型来说,你可以指出 null 和 number 存在的一些问题。对于对象类型来说,你可以从垃圾回收的角度去切入,也可以说一下对象类型存在深浅拷贝的问题。
  2. 对于判断类型来说,你可以去对比一下 typeof 和 instanceof 之间的区别,也可以指出 instanceof 判断类型也不是完全准确的。

以上就是这道题目的回答思路,当然不是说让大家完全按照这个思路去答题,而是存在一个意识,当回答面试题的时候,尽量去引申出这个知识点的某些坑或者与这个知识点相关联的东西。

思考题二:你理解的原型是什么?
1

思路引导:

起码说出原型小节中的总结内容,然后还可以指出一些小点,比如并不是所有函数都有 prototype 属性,然后引申出原型链的概念,提出如何使用原型实现继承,继而可以引申出 ES6 中的 class 实现继承。

思考题三:bind、call 和 apply 各自有什么区别?
1

思路引导:

首先肯定是说出三者的不同,如果自己实现过其中的函数,可以尝试说出自己的思路。然后可以聊一聊 this 的内容,有几种规则判断 this 到底是什么,this 规则会涉及到 new,那么最后可以说下自己对于 new 的理解。

思考题四:ES6 中有使用过什么?
1

思路引导:

这边可说的实在太多,你可以列举 1 - 2 个点。比如说说 class,那么 class 又可以拉回到原型的问题;可以说说 promise,那么线就被拉到了异步的内容;可以说说 proxy,那么如果你使用过 Vue 这个框架,就可以谈谈响应式原理的内容;同样也可以说说 let 这些声明变量的语法,那么就可以谈及与 var 的不同,说到提升这块的内容。

思考题五:JS 是如何运行的?
1

思路引导:

这其实是很大的一块内容。你可以先说 JS 是单线程运行的,这里就可以说说你理解的线程和进程的区别。然后讲到执行栈,接下来的内容就是涉及 Eventloop 了,微任务和宏任务的区别,哪些是微任务,哪些又是宏任务,还可以谈及浏览器和 Node 中的 Eventloop 的不同,最后还可以聊一聊 JS 中的垃圾回收。

# 小结

虽然思考题不多,但是其实每一道思考题背后都可以引申出很多内容,大家接下去在学习的过程中也应该始终有一个意识,你学习的这块内容到底和你现在脑海里的哪一个知识点有关联。同时也欢迎大家总结这些思考题,并且把总结的内容链接放在评论中,我会挑选出不错的文章单独放入一章节给大家参考。

编辑 (opens new window)
上次更新: 2021/09/12, 15:26:27
JS 进阶知识点及常考面试题
DevTools Tips

← JS 进阶知识点及常考面试题 DevTools Tips→

最近更新
01
前端基础及Vue实战
01-04
02
flask简介及基础
01-04
03
前后端交互
01-04
更多文章>
Theme by Vdoing | Copyright © 2022-2022 Francis | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×