后端岗位面试题更新 2026-08-05

请结合你过往的实际项目,说明数据库表结构的设计思路,需要具体从字段定义、索引策略以及表间关联三个角度展开,并给出相应的设计理由。

后端开发项目复盘系统设计方案权衡

考察说明

考察候选人对数据库表设计的系统性理解,以及能否结合项目经验论证设计决策。

回答思路

  1. 【回答框架 1】字段设计方面,需遵循三范式或反范式权衡。核心业务表应保证原子性,避免冗余,但针对高并发读场景可适当冗余字段以减少联表,同时注意字段类型选择,如使用BIGINT保存时间戳,DECIMAL保存金额,并统一命名规范。
  2. 【回答框架 2】索引设计方面,优先依据查询模式创建索引。主键常采用自增或雪花ID,针对高频查询的WHERE条件、排序和关联字段建立组合索引,并注意最左前缀原则,避免索引失效;同时避免过度索引,评估索引维护成本与写入性能。
  3. 【回答框架 3】表关联方面,根据业务关系设计外键或逻辑关联。实际项目中,为保证扩展性和性能,常不强制使用物理外键,而通过应用层维护逻辑关联,同时可利用冗余字段或中间表解决多对多关系,必要时引入分库分表。
  4. 【关键点 1】字段设计需平衡范式与冗余,结合具体查询需求。
  5. 【关键点 2】索引设计依查询模式而非简单全字段加索引。
  6. 【关键点 3】关联设计倾向逻辑外键,应对高并发场景更灵活。
  7. 【易错点 1】过度遵循三范式导致过多的表连接,影响查询性能。
  8. 【易错点 2】给所有字段加索引,造成写入变慢和存储膨胀。
  9. 【易错点 3】盲目使用物理外键,可能成为性能瓶颈。