今天去腾讯面前端一面

来源:4-27 总结

圣歌奏

2018-03-27

一上来两个问题我就懵了,谈谈你对chrome v8引擎垃圾回收机制的理解?以及实现原理?js内存泄漏的有关场景?

不是说好的一面面基础的么

写回答

1回答

双越

2018-03-28

“一面只面基础”的意思是要求基础知识牢固,不代表面试官会提问一些有深度的问题来发掘一下候选人的潜力。以我的理解,如果你其他的基础知识回答的没问题,这种提高型的问题不会,不影响你的面试结果。

分析一下这个题目,作为前端我们肯定做不到去解读 v8 引擎的源码和 C++ 的,业界也号称 v8 的代码写出来不是为了读的,就是为了提高 JS 运营效率,可见 v8 的设计有多复杂。他这个题目考察的其实就是 JS 常见的场景中哪些会泄露内存、哪些不会泄露内存(能正常回收)

JS 中泄露内存最经典的场景就是闭包,闭包中的数据是不会被垃圾回收的,如果一直往里加,数据会越累越多。另外的场景,例如未及时清理的队列等,这些比较常见了。除了这些之外,其他的例如正常执行的函数,里面的变量在函数返回之后都会被 v8 自动垃圾回收,不会导致内存泄露。

因此,再遇到这种问题,按照我说的回答。不保证满分,但起码也及格。

0
0

前端跳槽必备 一线互联网公司高级前端JavaScript面试

视频讲解前端面试中的JS高级知识点,扩展JS知识深度,从容面试

1621 学习 · 218 问题

查看课程