如果前端面试中问到JS垃圾回收机制,有什么意义

如果前端面试中问到JS垃圾回收机制,有什么意义
如果你作为面试官,会问这个问题?这个问题的意义是考察什么

继续刚才的问题,垃圾回收机制,日常开发用的很少,如果不背书,如何做到平时还能记得住,如果背书了,意义又在哪儿

阅读 1.4k
3 个回答
  1. 观察你知识的深度;
  2. 观察你关注问题的深度,从而确定你是否能避免一系列的问题,而不是每次在问题发生后再忙碌地寻找答案;
  3. 基于这个问题问以下问题:
    3.1. 什么情况下会发生内存泄露?
    3.2. 怎样才能知道发生了内存泄露?
    3.3. 如何才能避免发生内存泄露?
    3.4. setTimeout/setInterval是即时触发的吗?
    3.5. 可能会出些代码题
  4. 观察你知识的广度;
    4.1. 你是否能说出其他的垃圾回收的机制?
    4.2. 这些机制都各有什么优缺点?
    4.3. 怎样在低内存的设备上处理大量数据?

垃圾回收平时不可能不涉及,而是无时无刻在涉及。如果理解了内存的分配和内存回收机制,就可以轻松解答作绝大部分问题,包括变量的作用域、函数的执行方式、事件循环模型等,也可以解决日常工作中的大部分未知情况的错误问题,优化很多性能问题。

我感觉意义不是很大,但是现在八股文盛行,不背没办法,但是我觉得可以从以下几点安慰自己:
1.设计复杂的软件时,说不定垃圾回收机制的一些算法、思路会给你启迪;
2.前端涉及到垃圾回收的一些知识点需要掌握:闭包、weakMap/weakSet等;
3.面试时的谈资,他可以不问,但是你要掌握。

已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。

面试的目的是挑选一个符合岗位要求的人,面试官需要考察你的真实的技术水平

从价值上来说,用低级工程师的钱招到一个高级工程师肯定是更赚的。

那么回到 JS垃圾回收机制,这个题上来看,提面上来看是当前他们遇到了内存泄漏的问题,需要有个人来干活。从背后来看就是看你的知识储备量,以及你真是的技术水平。

最后还是免不了面试造火箭,工作拧螺丝。 不过真的给你一个造火箭的活你能拿得下不

已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题