春招时候的面经,第一次的挂面。上来就是做题。
1. 实现浮点数运算
回答:只了解IEEE754浮点数会导致溢出
正确:使用big.js
add(0.1 + 0.2) => 0.3
subtract
multiply
divide
2. 实现节流函数 支持immediate
回答:实在是不记得是啥了。。。说一下实现思路,结果回答成了防抖。。。
3. 看一段代码有什么问题
给了点提示,面试官说了可能涉及内存泄漏,语法错误之类的。
然后我就说有一个地方存在内存泄漏(其实有好几个地方,全局变量,闭包【setInterval】相关)。
问:了解垃圾回收机制吗
答:说了一下清除标记法和(循环标记法,口误,应该是引用计数)。引用计数法从root开始搜索所有的变量,搜索不到的就认为可以回收。
问:从root开始怎么搜索
答:不太清楚,没看过源码,猜测是广度优先搜索一层一层下去。