![3.6同花顺前端一面](https://imgs.xnip.cn/cj/jy/40/406fed7c-d684-4f98-8cc1-967ffbb385fe.jpg)
#软件开发2023笔面经#全程80分钟
1. 讲一下promise限制并发怎么做的
2. 问项目
3. 有一段代码,怎么给它加入注释?有没有了解过ts-compile?
4. 怎么得到ast的?用过啥库
5. 说一下闭包
6. 内存泄漏怎么解决,怎么监测,有没有试过性能对比
7. 对于前端性能这块有用过什么工具来分析
8. 说一下this,给了一道this代码输出题,改代码
9. map和weakmap区别,平时有实际使用过weakmap吗
10. 聊一个业务场景:有一篇两千字的文章,提供一个接口,支持把文字转成语音,然后提供给虚拟人播报,现在这个接口比较慢,一百字需要3秒钟,那两千字就要一分钟。现在情况是,开启了播报功能,如何能减少请求延迟,设计一个方案,降低播报延迟时间。
切片设计,请求设计
11. 问项目
12. 手写Promise.all
13. a=[] a[100]=1 可以这样操作吗?为什么
14. 浏览器堆栈有了解吗
15. 浏览器内存管理,垃圾回收机制,说说引用计数和标记清除是怎么回事
标记清除:进入代码执行时,给声明的变量标记一个数字,后面有用到时会+1,释放时-1,标记为0时清除
引用计数:用了一次就加1,如果两个对象互相引用,就会造成循环引用,无法清除,造成内存泄漏。
16. 有哪些情况会导致内存泄漏?1. 定时器 2. 时间监听 3. 闭包
17. 怎么看项目内存有没有泄漏?浏览器火焰图
18. $nextTick源码
19. 看了一下我的博客,有一直维护吗?
20. 算法题:盛最多水的容器。
-------------------------
更新3.11通过