小红书PE社区工程一面面经
- 轮次
- 一面
- 结果
- 未通过
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
- 请介绍实习经历。
- 如何手写策略模式?
- 请深入介绍简历中的项目。
- HTTP、SSE 和 WebSocket 有什么区别?项目中分别如何使用?
- Elasticsearch 和 MySQL 的索引有什么区别?
- 给定一棵二叉搜索树,如何返回任意两个不同节点值之间的最小绝对差?
- 简历中项目的方向是否会影响面试官对 Java 后端能力的判断?
- 团队主要负责什么业务?
《参考解析》
- 策略模式:把可替换算法抽象为统一接口,由上下文根据业务条件选择实现。适合规则经常变化、分支较多的场景,但选择逻辑仍应集中管理,避免把复杂度从条件语句转移到散乱的工厂代码中。
- 三种通信方式:普通 HTTP 适合请求响应;SSE 基于 HTTP 单向持续推送,浏览器支持自动重连;WebSocket 建立全双工长连接,适合双方高频实时通信。选型应以通信方向、频率、代理兼容性和连接维护成本为依据。
- ES 与 MySQL 索引:Elasticsearch 的倒排索引擅长全文检索和相关性排序,写入后经刷新才可搜索;MySQL 的 B+ 树索引擅长精确查询、范围扫描和有序访问,并受事务一致性约束。两者通常承担不同查询场景,不能简单互换。
- 二叉搜索树最小差:中序遍历会得到递增序列,因此只需在遍历时比较当前节点与前一个节点的差,取最小值即可,时间复杂度为 O(n),额外空间取决于树高。