1. 场景题:a. 聊天记录懒加载、虚拟滚动- 问怎么填充没加载的动态元素的空间(比如聊天记录),答数文字数量和换行符数量大致计算。b. 问怎么手写markdown渲染。不会。2. 基础a. async promise 输出时机和宏任务微任务。主要是async套promise套闭包的各种玩意3. 算法题:a. 合并无序数组并输出有序数组,但合并时,对相同的元素取数组内数量最多的合并,数量少的忽略不合并- 例:[0, 2, 2, 2, 1, 9, 1]和[1, 1, 1, 2, 5] 合并为 [0, 1, 1, 1, 2, 2, 2, 5, 9] - 我的思路是生成好一个记录元素最大数量的map之后,把key排序,再生成出结果的数组。不大知道怎么优化了- 还问了点怎么优化空间复杂度的问题,我回答原地修改插入元素b. 实现一个有sum功能,无限调用的add函数- 例: add(1, 2, 3).sum(); 和 add(1)(2, 3).sum(); 和 add(1, 2)(3).sum(); 输出一样的结果- 我的思路是让add函数返回它本身,然后在prototype设置sum和持续记录接收到的参数。但没写出来,甚至不知道思路对不对...其实仔细想想都不咋难,甚至没咋问八股,但我真的太菜了面试官还会给提示,但还是不会