一开始麦没声音重启后才弄好导致面试官多等了几分钟
1. 上来先做题:给一个多层嵌套的数组,要求实现Array.prototype.getLevel()方法得到数组最深嵌套的层数(遍历元素然后记录下最大嵌套层数)
2. 判断数组有哪些方法(Array.isArray(),instanceof,Object.prototype.toString.call(),constructor)
3. Promise.all, allSettled, race的区别(all是有一个被拒绝了Promise立刻变为rejectd状态,allSettled则等待所有完成,race是所有promise有一个完成就可以)
4. 浏览器输入url到渲染页面发生了什么?详细讲讲DNS缓存那部分,DNS缓存在哪里有?(浏览器缓存、本机缓存、hosts文件、路由器缓存、ISP、DNS递归查询)
5. 说说协商缓存(我说了etag、lastmodified还有304这些)
6. 渲染环节script标签讲一下(讲了一下defer和async还有没标签的情况)
7. 讲讲webpack和vite(讲了一下vite开发环境启动更快的原因,ES6 Module这些)
8. 打包工具相关的优化(讲了下loader和plugin)
9. 看简历上写了node和golang,讲一下用这些干过啥(就搭一下基本的后端)
10. 然后就是问了些项目细节,实习收获就结束了,整体时间半个小时多一点