面试题:后端
后端工程师岗位相关的接口设计、服务端基础、并发、存储和稳定性面试准备。
一次 HTTP 请求从客户端发起到服务端返回响应,大致经过哪些环节?
一次请求通常要经过名称解析、连接建立、TLS 协商、代理转发、应用处理、依赖访问和响应回传;排查时应按这条链路定位,而不是只盯接口代码。
服务端基础后端中频题
DNS 递归查询、缓存和 TTL 分别会怎样影响一次接口访问?
DNS 把域名解析为可连接的地址;递归查询决定解析路径,缓存决定命中速度,TTL 决定记录更新后旧结果还能被保留多久。
服务端基础后端中频题
TCP 三次握手分别解决什么问题,为什么不能只握手两次?
TCP 三次握手让双方确认对方可收可发,并同步各自的初始序列号;两次握手无法让服务端确认客户端是否收到自己的确认报文。
服务端基础后端中频题
TCP 四次挥手和 TIME_WAIT 分别是什么,服务端为什么不能随意忽略?
TCP 关闭连接要分别关闭两个方向的数据流;主动关闭的一方进入 TIME_WAIT,用来确保最后确认可重传,并让旧报文在网络中自然过期。
服务端基础后端中频题
TCP 的流量控制和拥塞控制有什么区别,会怎样表现为接口变慢?
流量控制保护接收方不被发送方压垮,拥塞控制保护网络不被整体流量压垮;两者都会降低可发送数据量,但触发原因和排查方向不同。
服务端基础后端中频题
TCP keepalive、应用心跳和负载均衡健康检查分别解决什么问题?
三者都与连接或实例可用性有关,但观察层级不同:TCP keepalive 检测传输连接,应用心跳检测业务协议状态,健康检查决定是否继续接收流量。
服务端基础后端中频题
HTTP/1.1、HTTP/2、HTTP/3 在连接、多路复用和传输层上有什么核心差异?
HTTP/1.1 主要依赖连接复用,HTTP/2 在单个 TCP 连接上多路复用流,HTTP/3 则在 QUIC 上实现多路复用,降低 TCP 层单包丢失对所有流的连带影响。
服务端基础后端中频题
HTTP 的安全方法和幂等方法分别是什么意思,GET、PUT、POST、DELETE 应如何理解?
安全方法表示语义上不应改变服务端状态,幂等方法表示重复执行后的最终效果与执行一次相同;它们是接口语义约定,不是自动的可靠性保证。
服务端基础后端中频题
200、201、202、204、400、401、403、404、409、429、500 应分别在什么场景返回?
状态码应表达协议层结果:成功、异步受理、客户端请求问题、身份或权限不足、资源冲突、限流和服务端故障不能混成一个 200 或一个 500。
服务端基础后端中频题
REST API 的资源命名、路径层级和动作表达应如何设计?
REST 接口应围绕稳定的资源和关系命名,用 HTTP 方法表达通用操作;只有确实无法用资源状态表达的业务命令,才使用明确且受限的动作端点。
服务端基础后端中频题