最近面试遇到问题及自己思考整理:
1.面试问题:
1.MySQL大表新增字段怎么设置,需要注意什么。
2.MySQL都有哪些索引,hash索引和BTREE索引区别和使用场景。
3.MySQL什么情况下不会命中索引。
4.redis和数据库保持一致性。
5.使用redis做数据库,查两个多对多关系表交际怎么查。
6.rocketmq和kafka区别。
7.mq和数据库数据保持一致性。
8.concurrent包下都有哪些类。
9.怎么实现一个秒杀功能。
10.秒杀库存怎么防止库存扣减负数。
2.自己思考和整理:
很多问题自己了解也知道怎么处理,但回答的很简单几句话,不能从业务-架构-技术有层次条理说明;说明只提升了解决问题能力缺乏表达能力,这方面需要加强;还有基础知识记忆模糊也得加强,现在面试场景大多都是场景题型,考察对场景的解决能力和从全方位对功能的总体把控,这就需要自己既要站在开发人员视角又要站在架构和客户角度考虑问题。下面是我自己整理的心得,面试前可以先看看这些问题自己是否已准备好回答:
1.项目做什么的,主负责什么,做了什么;用到了什么,怎么使用的,遇到哪些问题。
2.mysql、redis、mq、kafka -> 为什么使用?怎么用的解决了什么问题?和同类竞品比有什么优势?
3.面试高频前100道题 -> 网上搜索一下高频面试问题看是否自己大部分都能回答上来。