前端面经(一) 浏览器&网络
浏览器 & 网络
- 介绍一下EventLoop
- EventLoop中为什么要同时存在宏任务和微任务两个队列?设计一个行不行?一段代码在执行时,程序是如何去区分宏任务和微任务的?
- 内存泄露
- 一文带你了解如何排查内存泄漏导致的页面卡顿现象
- 项目中内存泄漏的场景
- setTimeout为什么会造成内存泄露?如何防止setTimeout内存泄露?清除定时器为什么就不会有内存泄露?
- 介绍一下http缓存
- 追问:哪些字段用做强缓存?哪些字段用做协商缓存?
- 追问:cache-control、expires、etag等字段的属性值是什么样的?
- 追问:这些字段都被存放在请求的哪个部分?
- 追问:last-modify和expires这些字段的时间有什么区别?
- 追问:last-modify和expires能共存吗?
- 追问:如果不想让某个资源使用缓存,那么应该如何设计http缓存?
- 追问:cache-control中的no-cache和no-store的区别
- 介绍一下宏任务和微任务
- 【study】宏任务和微任务的区别是什么
- 追问:哪些是宏任务?哪些是微任务?
- 追问:宏任务和微任务的区别是什么?为什么要设计宏任务和微任务两个队列?使用一个任务队列行不行?为什么?
- 追问:你刚刚所说的都是根据api来识别微任务和宏任务的,那么一段完整的程序浏览器是如何区分宏任务和微任务的呢?
- 微任务的优先级
- 如何理解script标签是个宏任务
- http1.1和http2的区别
- onload 和 DOMContentLoaded的区别
- requestAnimationFrame
- 浏览器加载页面的过程
- script标签为什么要放在底部
- defer和async的区别,以及它们的加载和执行时机
- DOM事件模型。事件捕获和事件冒泡的使用场景
- 从输入url到页面展示的过程
- 如何设计css、js等文件的缓存
- 204、304、404、504
- 描述一下同源策略、跨域及其解决方案
- 前端常见跨域解决方案(全)
- 描述Jsonp具体的实现方案
- xss和csrf的概念和防御方式
- sessionSorage、localstorage、cookie的区别?同一个系统开两个网页,两个网页的sessionStorage共享吗?
- http和https的区别?为什么https是相对安全的?https加密原理?
- tcp三次握手和四次挥手的步骤。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库