广州华软科技Java开发一面面经

广州华软科技发展 · Java开发 · 一面 · 广州 · 2026-03

面试题目

  1. 自我介绍
  2. 项目背景确认(是否为教程项目/是否有落地经验)
  3. 项目业务实现细节与职责分工
  4. 前端技术栈确认(Vue2/Vue3)
  5. 实习期望沟通
  6. 项目深度拷问
  7. 协议概念
  8. 缓存穿透解决方案:布隆过滤器原理与哈希概念
  9. 哈希的应用场景
  10. 计算机基础课程背景
  11. 对AI对程序员冲击的看法
  12. MySQL存储引擎类型
  13. 聚簇索引概念
  14. AVL树左旋及其用途
  15. 数据库主键编码方式(非自增长方案)
  16. 项目中ID生成策略及自增长ID的弊端
  17. 项目亮点挖掘与查证
  18. 场景题:淘宝秒杀 vs 12306抢票难度对比
  19. 12306难度的逻辑论述
  20. 反问环节

参考解析

  1. 缓存穿透与布隆过滤器:缓存穿透指查询不存在的数据导致请求压垮数据库。布隆过滤器通过多个哈希函数将数据映射到位数组中,能高效判断数据是否存在,从而拦截非法请求。缺点是存在误判可能,需根据场景调整容错率。
  2. 聚簇索引:聚簇索引将索引和行数据存储在一起,表数据物理存储顺序即索引顺序。InnoDB默认将主键作为聚簇索引。优势是主键查询极快,劣势是插入数据依赖主键顺序,且频繁修改主键会导致页分裂。
  3. 自增长ID的弊端:在分布式场景下,自增长ID可能导致数据泄露(如通过ID递增推算订单量)、无法进行多数据库合并及高并发下的数据库写压力过大等问题。可用UUID、雪花算法(Snowflake)或Redis自增替代。
  4. 12306抢票难度:相比淘宝秒杀,12306不仅涉及极高的瞬时流量,还存在复杂的组合查询、余票实时库存扣减、复杂的分段计费及公平性保障,对数据库的一致性、并发处理与系统可用性要求极高。