岗位索引

前端工程师面试题库第 3 页

前端工程师面试题解析,覆盖 JavaScript、浏览器、工程化和手写题。

108 道题 10 个公司 87 个知识点

前端相关面试题第 3 页

怎么优化网络链接速度?

优化网络连接速度,本质是缩短从用户发起请求到可用响应返回的整条链路耗时。前端不能只盯着资源体积,还要拆开 DNS、TCP/TLS 握手、协议协商、服务器处理、传输拥塞、缓存命中、资源优先级和渲染阻塞等环节。回答应先给出度量口径,再按连接建立、协议升级、缓存复用、资源调度、传输压缩、CDN 边缘化和监控闭环展开。

HTTPS 的握手过程讲一讲?

HTTPS 的握手本质是 HTTP 通信前先通过 TLS 建立安全通道:客户端和服务端先协商 TLS 版本、密码套件和扩展参数,然后服务端用证书证明身份,双方通过密钥协商生成共享的对称会话密钥,再用 Finished 消息确认握手过程没有被篡改。握手完成后,HTTP 数据才通过对称加密、完整性校验和防重放机制进行传输。现代面试答案应以 ECDHE、TLS 1.2 和 TLS 1.3 为主,不能只讲早期 RSA 加密随机数的旧流程。

HTTP协议基于TCP做了哪些封装?

HTTP 并不是简单把数据塞进 TCP 发送,而是在 TCP 提供的可靠、有序、面向字节流的传输能力之上,定义了一整套应用层封装:报文格式、请求响应语义、头部元数据、消息体边界、连接管理、缓存协商、Cookie 状态、代理转发、安全传输以及不同版本的分帧和复用机制。TCP 只负责把字节可靠送达,不理解“请求”“响应”“URL”“状态码”“缓存”“Cookie”,这些都是 HTTP 在应用层补上的语义。

JavaScript 数据类型有哪些?堆和栈在存储上有什么区别?

JavaScript 数据类型有哪些?堆和栈在存储上有什么区别?这道腾讯牛客题的关键是围绕“JavaScript 数据类型与堆栈存储”讲清概念、机制、取舍和边界。JavaScript 数据类型可以先分为原始类型和引用类型。原始类型包括 undefined、null、boolean、number、bigint、string、symbol;对象、数组、函数等属于引用类型。堆和栈的区别要从变量绑定和对象存储解释,而不是简单说某个类型绝对在栈上。