第1题,基本类型(number, string, boolean, null, undefined, symbol)是在栈的,而其他的引用类型都是在堆的。垃圾回收是采用了计数引用法(如果两个对象之间存在循环引用时,会有内存泄漏,因为计数无法变为0 )这里写错了,误导了大家,不好意思哈。JS使用的是标记清除法。原理可以看看《JS高教》第三版的78页。
第2题,有内存泄漏,这是闭包本身的问题。完全消除闭包的内存泄漏是不现实的,但是,如果采用下面的方法可以减少内存泄漏:
var user = {name: 'tom', age: 20, gender: 'male'} var test = document.getElementByid('test') (function (name) { test.onclick = function() { test.innerHTML = name; } })(user.name); user = null;
第3题算法题,也不很难,大家可以自己试试去实现 ,如果做不出来的再到评论求助啦,这里就不贴出代码了。
第4题,考察了计算机网络的tcp三次握手以及http的请求头等。https是使用安全套接字进行加密的,可以说HTTPS = SSL + HTTP。
第5题,Node的特点是异步非IO阻塞、适合高并发,但不适合密集型计算
第6、7题都是主观题,可以随便吹一下水便好。
因为当时已经是饭点时间,面试官也有点急着去吃饭,就没有再问我问题了。
二面面完,已经是中午12点多了。我那哥们儿鹏哥已经在门口等着我一起去饭堂。CVTE的饭菜不错,自助餐,但是,那个碗有点小,没打多少就装满了。饭堂里,公司的人挺热情的,因为背着书包大家都知道我是来面试的,就会问我一些问题,或曰“你来面试什么岗位啦”,或曰“你是本科生还是研究生啦”。。。反正就是挺热情的嘛。打好饭菜刚刚坐下来,还没有吃几口饭,鹏哥说刚刚接到HR消息,班车马上就要开走了,要我快点吃。我下午还要回来公司上班,在这鸟不拉屎的地方如果错过了班车,后果有多严重可想而知的。于是我就干脆不吃了,直接把饭菜倒掉,直跑楼下坐班车。刚刚上车,司机就开车了,驶向香雪地铁站。再见了,CVTE!
后记首先说一下这次面试的水平吧,其实,从去年9月到现在,我已经有大半年没有参加过任何面试了,很多基础和面经宝典也忘记得差不多了。另外,本来并没有打算来面试的,只是和鹏哥开了个玩笑而已,结果弄假成真,他都已经帮我去找HR安排好了。所以也不好放人飞机嘛!如果不去这不是在搞人家吗?这是第一次面试CVTE,以前听人说CVTE对算法要求比较高、面试相对是比较难的。这次自己反而没有怎么被问到算法题目。面试题目还算正常、难度还可以接受。关于对CVTE的评价,就不好下结论,因为毕竟就只是去面了一个上午试而已,不够了解这是个什么样的公司。不过,总的来说,从有班车接送、到面试时有水果饮料、再到面完试带考生去饭堂吃饭,我觉得CVTE是个还不错的公司呢!至于面试结果,现在还没有出来哈。也许过了,也许挂了,谁又知道呢?
感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:测试上述代码运行效果。
更多关于JavaScript相关内容可查看本站专题:《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript数组操作技巧总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结》