转载声明:文章来源https://www.nowcoder.com/feed/main/detail/3398cc9da03345af85f7fab5bc6af336
亚信面经
1.自我介绍
2.mysql的事务隔离级别?mysql默认的隔离级别?
未提交读级别,已提交读级别,可重复读级别,序列化读级别。 mysql默认是可重复读级别
3.商品表的主键和索引键是什么?
id,分类价格名称
4.覆盖索引什么意思?
覆盖索引是一种特殊的索引策略,指索引中包含了查询所需的所有字段,使得数据库无需回表查询数据行,直接通过索引即可完成查询。这能大幅减少 I/O 操作,提升查询性能。
5.主键索引(聚簇索引)和非主键索引(非聚簇索引)有什么区别?
主键索引:数据表的行数据会按照聚簇索引的顺序进行物理存储。
■ 每个表只能有一个聚簇索引,因为数据只能按一个顺序存储。
■ 聚簇索引的叶节点存储的是数据表的实际行,而非单独的索引指针。
■ 通常,主键索引就是聚簇索引,除非明确指定其他字段作为聚簇索引。
■ 聚簇索引的性能较高,因为查询时能够直接按照索引顺序读取数据,减少了磁盘IO操作。
非主键索引:索引的结构和数据表的存储顺序是独立的,通过索引中的指针来引用数据行。
■ 一个表可以有多个非聚簇索引。
■ 非聚簇索引的叶节点存储的是指向数据表中实际行的指针,而不是数据行本身。
■ 非聚簇索引适用于那些经常用于查询条件的列,但不会影响数据表的物理存储顺序。
■ 查询性能比聚簇索引低,因为需要通过索引找到对应的数据行,再进行二次查找。
6.redis存储热点数据,对热点数据的判断?主动加载还是被动加载数据
7.秒杀商品失效时间怎么设置?什么原则
有效期24小时,秒杀前一天把商品缓存到redis中,不过秒杀商品到期,会从reids中清除掉,秒杀活动结束会把数据同步给mysql,然后清除掉redis中的数据
8.为什么用redis分布式锁?
**使用原因**:秒杀场景通常是分布式系统架构,多个服务器节点可能同时处理秒杀请求,需要一种跨节点的锁机制来保证同一时刻只有一个节点能执行秒杀逻辑,避免超卖等问题。
9.热点商品很多,导致redis的集群过大,怎么减轻redis的压力?
Redis主从模型, Redis哨兵模型,分区集群,多级缓存,限流
10.mybatisplus的分页原理?
MyBatis分页插件的原理主要是通过拦截SQL语句并进行改写,在查询语句中添加分页相关的子句来实现分页功能。
11.查询商品表中第二页的商品数据?
SELECT * FROM products
ORDER BY product_id -- 必须有明确的排序,否则分页结果可能不稳定
LIMIT 10 OFFSET 10; -- 从第11行开始,取10条记录
商品名称重复的数据找出来?
SELECT name FROM products GROUP BY name HAVING COUNT(*) > 1;
12.项目有在linux上部署过吗?
linux部署过,nohup java -jar jar包名称
13.linux命令,查看具体进程命令,看cpu主机使用情况的命令
ps -ef | grep <进程名> 用于查找特定进程的详细信息。
top命令
14.java中常用的锁
synchronized 关键字,ReentrantLock(可重入锁),ReentrantReadWriteLock(读写锁)
15哪个业务上使用这些java的锁
16.vue前端了解吗
17.两张有序数组,组合成一个新数组?
初始化两个指针分别指向两个数组的起始位置。比较两个指针指向的元素,选择较小的元素放入新数组,并将对应指针后移。
重复步骤 2,直到其中一个数组遍历完。将另一个数组的剩余元素直接追加到新数组末尾。
18.反问?需要什么技术栈
帖子还没人回复快来抢沙发