- 博客(831)
- 资源 (1)
- 收藏
- 关注
转载 2024年Java面试题
AOF和RDB是两种redis持久化的机制。重写和重载的区别ssm原理servlet生命周期自定义注解说一说sleep和wait的区别map的遍历方式有几种线程有几种创建方式说一下图论算法int有4个字节mysql的联合索引linux怎么查看端口号netstat -tunpl | grep 端口号fegin怎么暴露出来 fegin有哪些注解hashMap不是线程安全的,ConcurrentHashMap 是线程安全的 redis和mysql的事物有那么一些不一样redis幂等
2022-06-25 09:23:02 2293
转载 redis特性
3.redis有string,list,set,hash,zset等多种数据结构。5.redis还有三种集群模式,分别为:主从模式,哨兵模式,和cluster模式。1.redis是基于内存的,采用key-value方式进行存储,速度非常快。2.redis通过aof和rdb将数据持久化到磁盘,保证数据不会丢失。4.redis支持事物和lua脚本。
2024-09-16 18:57:31 194
转载 分布式锁的场景和实现
4.这时候可以使用redisson分布式锁,来进行先加锁,业务执行完毕之后,在释放锁。1.比如说在界面进行点击新增的时候,或者进行下单的时候,连续点击了2次。3.还比如说,在秒杀的时候,进行库存扣减,导致库存数据错误。2.这时候会导致数据库插入了2条相同的数据。
2024-09-16 18:55:48 71
转载 rdb和aof的特点,以及优缺点
1.aof是增量日志文件,追加写入,每秒都会备份数据。2.rdb一分钟保存一次,可以通过配置文件修改。2.日志文件体积比rdb文件小,更节省磁盘空间。1.rdb是一个二进制快照文件,恢复速度快。1.服务器断电,会丢失1分钟的数据。1.断电不会丢失数据。
2024-09-16 18:53:51 26
原创 面试官说,你还有什么要问的吗?
5.项目中的是否涉及到审批相关的流程引擎,是那些呢?1.面试官您好,我想问一下,咱们这边做的项目能介绍一下吗?6.当我进入公司后,有没有相关的新手文档,能够让我快速上手。4.是新项目,还是老项目,是内网开发,还是可以外网开发。3.公司使用的框架和技术栈,数据库有那些。2.我进入公司之后,负责哪些方面的内容。
2024-09-16 17:41:12 221
原创 面试项目介绍
2.当面试官让你详细介绍项目的时候,在详细介绍每一个功能点,但是要注意时间不要超过10分钟。3.在你介绍项目难点的解决的时候,不要夸大说自己懂底层原理,如果只是使用,不要吹底层。4.要介绍自己的亮点,比如说在上线的时候,和线上遇到了一些故障,这些代码不是你开发的。5.别人也不知道怎么改了,你能很快定位问题,在短时间内解决问题,及时上线和修复bug。1.简短总结项目做的模块,不要紧张,不要说的时间太长。6.在比如说,你这个项目得到了客户的表扬信。
2024-09-16 17:23:05 103
转载 你项目中用了那些权限框架,接口权限,数据权限怎么设计的,说一下?
3.数据权限可以根据业务需求来定,比如角色,部门,岗位,来判断这个用户有没有权限访问这些数据。1.项目中使用Spring Security权限框架,也会创建对应的,rbac相关的表结构。2.在接口中可以使用权限注解,来判断这个用户有没有对应的权限。
2024-09-16 17:12:54 31
转载 mysql索引字段过多还会索引生效吗
1.会生效,每个索引都会占用一定的内存空间,索引字段过多,会导致索引占用的内存过大。2.当有多个索引的时候,每次新增,修改,删除的时候,都会去维护这些索引,性能下降。3.在查询的时候,会扫描多个索引的字段,会导致查询性能下降。
2024-09-16 17:11:07 53
转载 mysql连接查询,你会怎么优化
1.增加索引,结合explain检查索引是否失效。3.使用缓存,缓存没有在查询sql。2.禁止使用select *5.连接表最多不要超过3个。4.分表,降低数据量。
2024-09-16 17:09:27 61
转载 rabbitmq支持事物吗
2.但是rabbitmq开启事物之后,会降低rabbitmq的吞吐量,影响rabbitmq的性能。1.rabbitmq是支持事物的,可以使用命令来开启事物,提交事物,回滚事物。
2024-09-16 17:07:50 47
转载 mq是什么?为什么要使用mq?
2.在流量高峰的时候,把消息放入队列,进行排队,防止系统出现崩溃。1.mq是消息队列,生产者把消息放入队列,消费者去消费这条消息。3.mq是异步的场景,不需要等待对方消费完毕就直接结束。4.mq的消息不会丢失,支持持久化和消息重试。
2024-09-16 17:03:43 26
转载 线程池是依据什么做优化的
6.如果线程存活时间过长,任务执行完毕,线程继续占用系统资源,导致线程资源浪费,如果线程资源不足,可能会出现死锁或者内存泄漏。4.阻塞队列的容量要设置合理的范围内,如果过大会导致浪费内存资源,如果过小,则会丢失任务或者出现报错。5.如果线程存活时间过短,会导致频繁创建和销毁线程,系统资源被大量占用,可能导致任务失败。1.根据核心线程数,阻塞队列的容量,线程的存活时间来进行优化线程池。3.如果是cpu需要大量计算的,核心线程数设置为cpu处理器的数量。
2024-08-10 16:25:01 43
转载 什么是cas,会出现哪些问题?
2.在cas机制中,如果线程不停的尝试cas操作而不成功,会一直进行自旋操作,这会浪费cpu的时间,这就是循环时间长问题,也叫做空等待。1.如果一个值原来是A,另一个线程将他改为B,然后又把他改回A,cas在比较的时候,仍然匹配A,这就是ABA问题。3.一个cas操作只能保证一个共享变量的原子操作,对于多个共享变量的操作需要加锁来保证原子性。1.cas空等待会造成cpu利用率飙高,资源浪费,死循环,访问系统的时候会出现卡顿。,可以通过版本号来解决这个问题,如果一致在更新。3.如果不一致,就不做处理。
2024-07-27 20:47:14 80
转载 currentHashMap说下?怎么做到线程安全的?
7.ConcurrentHashMap在1.8的时候,不在使用分段锁,来保证线程安全。6.ConcurrentHashMap在1.8的底层数据结构使用数组+链表+红黑树。8.而是在初始化Node数组的时候,使用cas+volatile来保证线程安全。2.ConcurrentHashMap在1.7的时候使用分段锁来保证线程安全。5.在扩容的时候,只会对当前访问的段进行扩容,而不是整个map,减少扩容开销。4.每次只锁住当前访问的段,而不是锁定整个map ,可以对不同的段并行更新。
2024-07-07 15:55:19 364 1
转载 说下hashmap底层原理?为什么线程不安全?在什么情况下会导致线程不安全?
1.hashmap底层数据结构是数组+链表+红黑树组成2.数组默认的初始容量是16,加载因子是0.753.当元素的数量超过数组长度乘以加载因子的时候,就会触发扩容操作,扩容为原来的2倍。4.当多个key的hashcode一样的时候,会造成哈希冲突,也叫哈希碰撞5.使用链表的下一个位置存储相同的hashcode,这样就解决了哈希冲突6.当链表的长度大于8的时候,会将链表转为红黑树,提高查询效率。
2024-06-27 20:37:39 80
转载 redis为什么设计16个数据库
1.redis的16个数据库可以理解为,不同的命名空间,例如: db0存储测试环境,db1存储生产环境。3.因为每个节点,只存储一部分的键值对,不是整个数据库的内容。2.但是在集群环境下,只有db0一个数据库。
2024-06-14 19:29:39 42
转载 redis cluster模式下为什么设计16384个槽
5.集群的节点数不会超过1000个,16384个槽完全可以满足分布式存储的需求。2.但是在发送心跳包的时候,产生的消息头占8kb,太大了,浪费网络资源。1.因为crc16算法最多可以产生的hash值是65536个槽。3.如果使用16384个槽位,只会占2kb。4.集群节点越多,心跳包携带的数据就会越多。
2024-06-13 19:11:39 110
转载 在redis集群中,什么是主观下线,什么客观下线
就是哨兵节点发现一个主节点超过了心跳检测的时间,没有收到响应就认为主观下线。所谓的主观下线就是认为主节点挂掉了。
2024-05-27 19:33:09 148
转载 什么是对称加密和非对称加密?
非对称加密就是,需要一个公钥和私钥,客户端使用公钥对数据加密,服务器使用私钥解密成明文。对称加密就是,客户端的数据加密,服务器进行解密,使用同一套加密方式。
2024-05-23 16:12:45 33
转载 小米外包笔试题
如果·CandidateId 的地址不在·Address·表中,则报告为·null'。请您编写SQL,查找输出:Candidate表中每个人的姓、名、城市和州。以·任意顺序·返回结果表。
2024-05-20 16:59:09 60
转载 什么是etcd
etcd是一个分布式的配置中心和注册中,通过key,value进行存储数据,采用raft一致性算法来保证数据的一致性,并且支持对数据的监控和更新。
2024-05-12 15:10:16 28
原创 @Data注解遇到的坑
在这里直接更新value,.并没有插入数据,所以 最终插入的是只有1条数据,这就是@Data的坑。当使用了@Data这个注解,发现2个相同的对象内容,打印的hashcode竟然一样。对象自带的hashcode 不一样,计算的hash值也不一样,比较的是地址值,所以在不使用@Data注解的时候,即使对象的内容一样,也会在set插入2条数据。如何hash值一样,并且key一样,就是2个相同的对象内容组成了一个key。我们进入set的添加源码,可以看到,set的底层是map。第一个对象计算的hash值。
2024-05-09 22:21:05 682
转载 springboot整合redis哨兵模式
redis哨兵模式,就是通过哨兵节点,去监控所有主从节点一旦主节点挂掉了,然后投票选举,自动把从节点升级为主节点主节点恢复之后,自动变成从节点。
2024-05-04 22:03:17 595
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人