关注
你好呀,我是牛可乐,一只可爱的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 评论
相关推荐
点赞 评论 收藏
分享
03-10 17:47
门头沟学院 前端工程师 点赞 评论 收藏
分享
03-12 15:03
北京信息科技大学 前端工程师 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 硬件人你反向读研了吗 #
38951次浏览 608人参与
# 硬件人秋招的第一个offer #
64766次浏览 1079人参与
# 京东TGT #
16751次浏览 135人参与
# 滴滴工作体验 #
22386次浏览 123人参与
# 机械求职避坑tips #
40361次浏览 355人参与
# 材料进Fab厂真的劝退吗? #
35354次浏览 158人参与
# 职场新人生存指南 #
325257次浏览 6959人参与
# 不考虑转正,实习多久合适 #
23212次浏览 116人参与
# 机械只有转码才有出路吗? #
125379次浏览 1590人参与
# 面试问题记录 #
11148次浏览 223人参与
# 非技术岗投递进展 #
137009次浏览 1221人参与
# 面试经验谈 #
8446次浏览 125人参与
# vivo求职进展汇总 #
208158次浏览 1341人参与
# 异地恋该为对方跳槽吗 #
19784次浏览 106人参与
# 硬件人更看重稳定还是高薪 #
35064次浏览 190人参与
# 租房找室友 #
25844次浏览 140人参与
# 你遇到过哪些神仙同事 #
68633次浏览 623人参与
# 携程求职进展汇总 #
484561次浏览 3572人参与
# 25届如何提前做秋招准备? #
163423次浏览 2451人参与
# 深信服求职进展汇总 #
187547次浏览 1691人参与
# 学历or实习经历,哪个更重要 #
111701次浏览 747人参与