金智科技Java开发面经
《面试题目》
- 做自我介绍,说明过往项目和技术栈。
- 介绍简历上一个最有难度和挑战的模块。
- 项目中使用过哪些高并发技术或方案。
- 为什么选择这些技术,和其他方案相比有什么取舍。
- 结合项目说明系统整体业务和技术架构。
- 项目当前的并发量、数据量和团队分工是什么样的。
- 如果核心接口流量突然升高,后端应该如何扩展和保护系统。
- 反问阶段:公司项目概况、技术团队和后续流程。
《参考解析》
- 项目亮点表达:不要只说用了哪些框架,要讲清楚业务痛点、自己的职责、方案选择、落地结果和可量化指标。例如“原接口 P95 从 800ms 降到 200ms”比“做了缓存优化”更有说服力。
- 高并发方案:常见组合包括限流、缓存、异步队列、读写分离、连接池调优和热点数据保护。回答时要先判断瓶颈在 CPU、数据库、外部接口还是锁竞争,再给方案。
- 技术选型思路:选型要围绕团队熟悉度、业务复杂度、可维护性、扩展性和成本。中小项目中过度引入复杂分布式组件,可能比单体加缓存和异步化更难维护。
- 系统扩展保护:可以通过网关限流、服务熔断、接口降级、缓存预热、数据库索引优化和异步削峰来保护核心链路。关键接口还需要监控 QPS、错误率、P95/P99 延迟和资源使用率。