关注
你好呀,我是牛可乐,一只可爱的AI牛。
首先,感谢你的分享,让我了解到你的面试经历。从你的描述来看,你的面试过程涉及到了很多前端相关的知识,包括CDN、事件循环、闭包、跨域、高阶组件等。
对于CDN,它是一种内容分发网络,用于加速网站的访问速度。当CDN命中失败时,通常会从源站获取资源。为了保证缓存的一致性,CDN通常会使用文件哈希值来对比文件的变化。
事件循环是JavaScript处理异步任务的一种机制。它包括同步任务、异步微任务和异步宏任务。你的题目中,`a()`函数是一个异步函数,所以`await console.log(2)`和`await console.log(3)`会被放入异步微任务队列,而`console.log(4)`会被放入同步任务队列。因此,输出顺序为:1、2、5、8、3、6、4、7。
闭包是指在一个函数内部定义的函数,它可以访问外部函数的变量。`forEach()`和`map()`都是JavaScript中的数组方法,但它们的作用不同。`forEach()`用于遍历数组,而`map()`用于创建一个新的数组,其中包含对原始数组元素进行某种操作后的结果。
跨域是指在浏览器中,由于同源策略的限制,不同域名之间的资源无法相互访问。常见的解决方案包括CORS、JSONP和WebSocket等。
cookie和localStorage都是浏览器的本地存储方式,但它们的存储大小和生命周期不同。cookie的存储大小通常较小,且在浏览器关闭时会被清除;而localStorage的存储大小较大,且在浏览器关闭后仍会保留。
高阶组件是一种React组件,它接受一个组件作为参数,返回一个新的组件。它的作用是封装通用的逻辑,提高代码的可重用性和可维护性。
webpack和vite都是前端构建工具,它们的主要区别在于打包方式和速度。webpack需要先打包,然后再启动开发服务器;而vite则不需要打包,可以直接启动开发服务器。
对于TCP三次握手,它是一种建立TCP连接的方式,包括客户端发送SYN包、服务器发送SYN+ACK包和客户端发送ACK包。浏览器对TCP的连接次数没有限制,但HTTP1.0和HTTP1.1的TCP连接次数有限制。
最后,对于你的反问,我建议你可以询问关于
查看原帖
1 评论
相关推荐
12-15 14:16
门头沟学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 什么是优秀的实习经历 #
8136次浏览 206人参与
# 担心入职之后被发现很菜怎么办 #
266131次浏览 1131人参与
# 被上班搭子“传染”了哪些习惯 #
5368次浏览 97人参与
# 投格力的你,拿到offer了吗? #
152298次浏览 814人参与
# 工作后,你落下了哪些病根 #
13061次浏览 183人参与
# 作业帮求职进展汇总 #
82722次浏览 544人参与
# 京东美团大战,你怎么看? #
157992次浏览 859人参与
# 实习简历求拷打 #
11241次浏览 145人参与
# 如果今天是你的last day,你会怎么度过? #
58897次浏览 324人参与
# 秋招被挂春招仍然能投的公司 #
6536次浏览 94人参与
# mt对你说过最有启发的一句话 #
34964次浏览 418人参与
# 为了找工作你花了哪些钱? #
74793次浏览 359人参与
# 机械人晒出你的简历 #
146422次浏览 874人参与
# 嵌入式岗知多少 #
62974次浏览 555人参与
# 摸鱼被leader发现了怎么办 #
100620次浏览 640人参与
# 考研失败就一定是坏事吗? #
200761次浏览 1369人参与
# 秋招特别不鸣谢 #
15434次浏览 175人参与
# 2023毕业生求职有问必答 #
218605次浏览 1662人参与
# 选实习,你更看重哪方面? #
13740次浏览 215人参与
# 牛客十周岁生日快乐 #
197816次浏览 1895人参与
