- 2
- 0
- 约5.04千字
- 约 10页
- 2026-06-09 发布于河北
- 举报
Web开发工程师面试题及详细答案
一、基础技术类(考察核心功底)
1.请解释HTTP1.1、HTTP2、HTTP3的核心区别,实际项目中如何选择?
答案:
HTTP1.1的核心问题是“队头阻塞”,同一TCP连接下同一时间只能处理一个请求,且header冗余大;HTTP2通过“二进制帧”“多路复用”解决队头阻塞,同时支持header压缩、服务器推送,但仍依赖TCP,弱网下TCP握手和重传会影响性能;HTTP3基于QUIC协议(UDP封装),彻底解决队头阻塞,握手更快(0-RTT/1-RTT),支持连接迁移(如手机切换Wi-Fi不中断请求)。
实际选择:如果是ToC用户量大、弱网场景多的产品(如短视频、电商),优先HTTP3;如果是后台管理系统、内网应用,HTTP2足够,兼容成本更低;HTTP1.1仅用于legacy系统兼容,新项目不推荐。
2.闭包的定义、实际用途及可能引发的问题,如何避免?
答案:
闭包本质是“函数+其词法作用域的引用”,即使函数脱离原作用域,仍能访问原作用域的变量。
实际用途:①模块化封装(如ReactHooks中保存状态);②延迟执行(如定时器、事件回调中访问外层变量);③缓存数据(如计算斐波那契数列的缓存方案)。
潜在问题:变量无法被GC回收,导致内存泄漏。避
原创力文档

文档评论(0)