正在打开页面…

面试题:后端

后端工程师岗位相关的接口设计、服务端基础、并发、存储和稳定性面试准备。

单体应用和微服务分别适合什么团队规模、发布节奏和业务复杂度?

单体与微服务没有绝对优劣:单体优先降低协作和运维复杂度,微服务只在业务边界、独立发布和团队自治的收益明显超过分布式成本时才值得引入。

系统设计与工程化后端中频题

服务拆分应该按技术层、业务能力还是团队边界,怎样识别过早拆分?

服务拆分优先围绕稳定的业务能力和数据责任,而不是按 Controller、Service、DAO 等技术层切开;团队边界可以作为落地约束,但不能代替领域边界。

系统设计与工程化后端中频题

什么是领域边界和限界上下文,为什么共享数据库常会削弱服务边界?

限界上下文是在一组明确业务规则和术语中定义模型含义的边界;共享数据库会让不同服务直接依赖同一数据结构,进而削弱这种独立演进能力。

系统设计与工程化后端中频题

同步调用、异步事件和批处理分别适合什么业务响应时间和一致性要求?

同步调用适合用户需要立即结果且失败必须即时反馈的流程,异步事件适合解耦和削峰,批处理适合允许延迟的集中计算;选择依据是用户等待、失败语义和一致性要求。

系统设计与工程化后端中频题

API 网关应负责哪些横切能力,哪些业务规则不应堆进网关?

API 网关适合承担路由、认证入口、限流、协议转换和观测等横切能力;核心业务规则、领域状态和复杂编排应留在拥有业务数据的服务中。

系统设计与工程化后端中频题

服务发现、负载均衡和配置中心分别解决什么多实例治理问题?

服务发现解决“可用实例在哪里”,负载均衡解决“这次请求发给谁”,配置中心解决“实例应以什么可控配置运行”,三者共同支持多实例服务的动态治理。

系统设计与工程化后端中频题

配置、密钥、环境变量和业务开关为什么不能混成同一类配置?

配置、密钥、环境变量和业务开关的敏感性、变更频率和治理方式不同,混在一起会让权限、发布、审计和回滚都失去边界。

系统设计与工程化后端中频题

配置发布怎样支持校验、灰度、审计、回滚和过期清理?

可靠的配置发布需要把配置当成可审计的变更:先校验范围和值,再小范围生效和观测,异常可回滚,临时配置还要在到期后自动清理。

系统设计与工程化后端中频题

多环境配置怎样避免测试配置误带到生产,密钥应怎样注入和轮换?

多环境配置的关键是隔离、显式选择和最小权限:生产不能隐式继承测试值,密钥要从受控密钥系统按运行身份注入并支持无中断轮换。

系统设计与工程化后端中频题

服务间依赖的版本、超时和兼容性应怎样治理,怎样避免升级引发级联故障?

服务间依赖治理需要同时约束接口兼容、调用预算、重试策略和发布顺序;只升级一个 SDK 或字段而不验证下游承受能力,容易形成级联故障。

系统设计与工程化后端中频题