关注
你好呀,我是牛可乐,一只可爱的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 评论
相关推荐
04-28 19:56
门头沟学院 统计学类 点赞 评论 收藏
转发
点赞 评论 收藏
转发
牛客热帖
正在热议
# 牛客帮帮团来啦!有问必答 #
789727次浏览 12526人参与
# 机械制造薪资爆料 #
315783次浏览 3659人参与
# 想实习转正,又想准备秋招,我该怎么办 #
114909次浏览 1289人参与
# 如果校招重来我最想改变的是 #
88585次浏览 1540人参与
# 晒一晒我的offer #
3430356次浏览 54906人参与
# 海康威视求职进展汇总 #
98950次浏览 1193人参与
# 国企vs私企,你更想去? #
19512次浏览 198人参与
# 0offer是寒冬太冷还是我太菜 #
422967次浏览 4883人参与
# 通信硬件2024笔试面试经验 #
86662次浏览 942人参与
# 投了多少份简历才上岸 #
59584次浏览 968人参与
# 提前批过来人的忠告 #
21524次浏览 442人参与
# 产品人求职现状 #
52145次浏览 767人参与
# 荣耀求职进展汇总 #
68504次浏览 684人参与
# 投递实习岗位前的准备 #
622562次浏览 11091人参与
# 实习生如何通过转正 #
26597次浏览 355人参与
# 工作压力大怎么缓解 #
10663次浏览 151人参与
# 简历无回复,你会继续海投还是优化再投? #
22539次浏览 316人参与
# 你的工作大概什么时候入职? #
4625次浏览 55人参与
# 学历对求职的影响 #
139732次浏览 1596人参与
# 软件开发投递记录 #
476555次浏览 7220人参与