
面试题
文章平均质量分 75
络粉
这个作者很懒,什么都没留下…
展开
-
Redis面试题
1. Redis优点使用内存进行存储效率高使用单线程避免线程切换底层有丰富的数据结构支持持久化2. Redis数据结构及其应用场景String 比如说可以用于点赞数List 比如说可以用户好友列表hash比如说可以用于存放商品的详细信息Set比如说可以用于共同关注的好友zSet比如说可以用于排行榜3. Redis的过期删除策略有哪些惰性删除:是在使用到key的时候判断是否过期了定期删除: 每隔一段时间随机判断key是否过期了如果过期了就删除了4. Redis的淘汰机制原创 2024-09-09 18:06:05 · 215 阅读 · 0 评论 -
MySQL面试题
有innodb和myisaminnodb支持行锁和事务以及表锁myisam只支持表锁不支持行锁和事务innodb是聚簇索引myisam是非聚簇索引聚簇索引他索引和数据都在一个文件,非聚簇索引的索引和数据不在一个文件中聚簇索引的叶子节点存储的是行数据,非聚簇索引的叶子节点存储的是行数据的索引有B+树索引和Hash索引b+树索引支持顺序索引和随机索引他的叶子节点存储的是索引和数据,并且叶子节点相互连接的。hash索引是基于hash表来实现的,他会对索引列通过哈希算法得到hash值。原创 2024-09-07 16:05:23 · 690 阅读 · 0 评论 -
并发面试题
在new Thread()时线程就进入到新建状态,在执行start()就进入到就绪状态等待分配时间片,分配到时间片后就进入到运行状态,当线程在等待获取锁的时候进入阻塞状态,执行wait()/sleep()方法就进入到等待状态但run()执行完了就进入到死亡状态。如果当前线程数大于核心线程数,则判断任务队列是否满了如果没满直接加入到任务队列如果满了就会判断当前线程数是否小于最大线程数如果小于最大线程数就直接创建线程如果大于最大线程数就会执行拒绝策略。这个信号量就是用来入队和出队的线程队列就是用来排队的。原创 2024-08-29 23:23:25 · 385 阅读 · 0 评论 -
Spring的面试题
然后再就是使用Bean,最后就是销毁bean。在Spring中通过三级缓存来解决循环依赖,假如a和b发生循环依赖,a实例化后就会放到缓存中,当a注入b的bean,b进行实例化需要注入A的bean这时就会从缓存中获取A实例化后的bean,当b的bean创建完成后,a从缓存中获取b的bean完成属性注入和初始化。在单例bean中是非线程安全的单例bean每个线程共享同一个bean,可以将bean中定义成一个不可变的成员变量,或者将单例bean转为原型bean或者使用ThreaLocal来将变量存储起来。原创 2024-08-27 23:21:50 · 633 阅读 · 0 评论 -
集合常见的面试题
首先会确定数组是否为空,若为空就进行初始化大小为16的数组若不为空通过key计算hash值根据hash值计算数组下标,然后判断该数组下标是否有值,如果有值判断key是否相等相等的话进行覆盖,不相等的话判断当前节点是否为红黑树,如果为红黑树转为红黑树节点直接插入,如果为链表遍历链表判断key是否有相等的有的话就直接覆盖没有则在链表尾部插入当链表长度大于8并且数组长度大于64就会转为红黑树。HashMap在1.7是通过数组+链表来实现的,在1.8的时候使用数组+链表+红黑树来实现的。原创 2024-08-26 12:29:50 · 336 阅读 · 0 评论 -
Java基础面试题
反射就是在运行过程中可以获取到类的属性和方法,反射就是将类中的属性方法封装成对象20. 有哪些方式可以获取class对象1.通过类名.class()21.Collection 和 Collections 有什么区别?Collection是最基本的集合接口下面有两个接口list和set。list他是有序可重复,set是无序不可重复的Collections:是集合的一个工具类22.JDK8有哪些新特性1.Lambda表达式2. Stream流3. 接口的默认的方法4.引入Optional。原创 2024-08-25 21:36:22 · 522 阅读 · 0 评论