面灵AI→

SHEIN 社招后端一面:项目追问与 408 基础

轮次
一面
时间
2026-10
来源
牛客网

《面试题目》

  1. 自我介绍。
  2. 聊项目并追问。
  3. 换工作的原因是什么?
  4. 408 基础:内存管理是怎么做的?
  5. 函数调用的原理和流程是什么?
  6. HTTP/1、HTTP/2、HTTP/3 有什么区别?
  7. 在浏览器输入一个网址之后,发生了什么?
  8. 反问。

《参考解析》

内存管理

现代操作系统用虚拟内存给每个进程独立的地址空间,再通过页表映射到物理内存。程序访问的地址是虚拟地址,MMU 查 TLB,未命中再走多级页表;页面不在内存时触发缺页异常,由操作系统从磁盘换入。物理内存按页管理,常见页面置换算法有 LRU、Clock;分配器再在页之上做小对象管理,减少系统调用和碎片。回答时可以把「虚拟地址 → 页表 → 物理页 → 缺页处理」这条链路讲完整。

函数调用的原理和流程

调用方先把参数按调用约定放入寄存器或栈,然后执行 call 指令,把返回地址压栈并跳到被调函数;被调函数建立栈帧,保存旧的基址指针、为局部变量分配空间,执行完把返回值放入约定寄存器,恢复栈帧并 ret。栈帧里通常包含返回地址、旧 rbp、局部变量和临时空间。递归过深会耗尽栈空间,本质就是栈帧不断累积。

HTTP/1、2、3 的区别

HTTP/1.1 默认持久连接,但同一连接上的请求仍可能被队头阻塞,浏览器只能靠多开连接并发。HTTP/2 引入二进制分帧和多路复用,一个连接上并行跑多个流,并支持头部压缩和服务器推送,但 TCP 层丢包仍会阻塞所有流。HTTP/3 把传输层换成基于 UDP 的 QUIC,在用户态实现可靠传输、拥塞控制和 TLS 1.3,解决了 TCP 层的队头阻塞,连接迁移和握手延迟也更好。

浏览器输入 URL 之后

先解析 URL,查浏览器缓存、系统缓存和 DNS 得到 IP;然后建立 TCP 连接,HTTPS 还要做 TLS 握手;接着发送 HTTP 请求,服务端经过负载均衡、应用处理和数据库查询返回响应;浏览器解析 HTML、构建 DOM 和 CSSOM,执行 JavaScript,布局、绘制并合成页面。期间还会并发请求图片、脚本、字体等子资源。

换工作原因

按「当前岗位能给我的」和「下一阶段想补的」来讲,避免抱怨前公司。比如现有业务已经比较稳定,想进入更大流量、更完整的链路,或者想从业务开发转向更有技术深度的方向;同时说明为什么是这家公司、这个岗位,能把个人目标和岗位需求对上。