一、前言
由于本人在公司内部开发的 BI 产品使用的是 Visactor 团队提供的 VTable / VChart 组件,在机缘巧合下看到内部团队正在招人,于是果断投出了简历。面试过程中压力也非常大,结果也和我预想中的一样,被面试官花式拿下。
在面试的最后,面试官提出了一道手写题,内容是”实现一个在 Canvas 中文字截断的函数,最长宽度是 40px,文本超出时展示省略号,函数输出截断后的结果”。
垃圾回收的由来(GC)
每台电脑可使用的内存是有限的,假如没有垃圾回收,当程序不断申请内存,随着程序的体积变大,可使用的内存也会变少,当申请的空间过多时,就会造成内存泄露。这就是垃圾回收技术存在的意义。对于 JavaScript 来说,尽管在底层已经有了自动的垃圾回收机制,但是由于闭包的存在,会非常容易造成内存泄露,对程序造成不可逆的影响。而如何对垃圾进行回收,是非常值得研究的一个问题。