od社招一面(1小时)
1.个人介绍
2.工作和项目问题
3.CSS画椭圆
4.项目如何做兼容的
5.js会发生阻塞吗
6.扩展运算符?这种拷贝属于浅拷贝还是深拷贝,扩展运算符为什么算浅拷贝?深拷贝了解吗?
7.setTimeout和setInterval?setTimeout设置0会发生什么?为什么会这样?为什么会有setTimeout和setInterval这两个API(背景和设计初衷,其实就是因为JS是单线程,为了避免阻塞和处理长时间的任务,所以设计了这些东西)?
8.你是如何判断项目的性能好不好的?你能不能单独检测某个功能或者某个组件的性能?
9.如何处理大量数据?
10.事件循环
11.Vue的虚拟dom
12.package.json 中的各种 dependencies ?(没想到会问这种)
13.package.json中^符号和~符号前缀的区别
14.ES6模块化
15.vue 中 key 的作用?为什么不能用 index 作为 key
16.Vue2和Vue3 ? defineProperty 和 Proxy?
17.内存管理?垃圾回收机制?
暂时想起这么多了
后面就是手撕题目:
反编码字符串, 将类似 k[ str ] 写成k次str字符串的组合。 例如" 3[a]4[b]"最终为aaabbb,"2a2[bc3[d]]ef"最终生成aabcdddbcdddef。这里其实和简易计算机一样,用两个栈,一个字符串栈一个数字栈解决就比较稳,我当时脑子一热用一个栈就卡死了导致最后太菜没写完。还是得多练算法题
#华为od##前端##社招##面试##面经#