技术篇
文章平均质量分 83
Wei
这个作者很懒,什么都没留下…
展开
-
左右值算法
左右值无限级分类算法为什么要使用左右值来表示无限级分类?一般我们会使用parent标识来表示节点之间的上下级关系,好处是结构清晰,修改起来非常方便,缺点是查询很麻烦,可能需要使用到递归查询,递归的使用将会使性能大幅度降低尤其是递归层级多的时候,有些查找,比如统计当前节点的所有子节点个数(例如:钉钉的组织架构无限级),这就必须要递归到最后一级,所以在类似于这种需要递归到最后一级才能返回结果的场景,我们就可以补充左右值来提升性能。左右值如何表示?Node属性和方法:public class Node{原创 2022-04-24 15:58:13 · 715 阅读 · 0 评论 -
精选HashMap面试题
精选HashMap面试题HashMap应该算是Java后端工程师面试的必问题,因为其中的知识点太多,很适合用来考察面试者的Java基础。HashMap的内部数据结构JDK1.8版本使用数组 + 链表 / 红黑树;JDK1.7版本使用数组 + 链表;为什么在JDK1.8后会使用到红黑树?链表和红黑树转换的条件是什么?HashMap在追求O(1)的时间复杂度上做出了很大优化,最能表现的地方就是链表树化,在链表中如果只有一个节点是符合O(1)的时间复杂度的,假如链表的长度为k 那么时间复杂度就为O(k原创 2022-04-18 11:39:22 · 225 阅读 · 0 评论 -
精选MySQL面试题
精选MySQL面试题MySQL的存储引擎MySQL提供了很多种存储引擎 最常用的是InnoDB和MyISAM。如何选择合适的存储引擎?提供几个选择标准,根据选择标准选择对应的存储引擎即可,例如:是否需要支持事物对索引和缓存的支持是否需要做热备存储的限制是否需要外键支持目前MySQL的默认存储引擎是InnoDB,也是当前最主流的选择,主要原因如下:支持事物支持行级锁和表级锁,能支持更多的并发量查询不加锁,完全不影响查询支持系统崩溃后恢复在MySQL5.1之前的版本,默认的原创 2022-04-18 11:38:19 · 583 阅读 · 0 评论 -
精选Redis面试题
精选Redis面试题什么是缓存?缓存就是数据交互的缓冲区,针对服务对象不同都可以构建缓存。目的是,把读写速度慢的介质(保存地)数据保存到读写速度快得介质里,从而提高读写速度,减少时间消耗。 例如:机械硬盘和固态硬盘的读写速度。为什么要使用缓存?使用缓存的目的,就是提升读写性能。而实际业务场景下,更多的是为了提升读性能,带来更好的性能,更高的并发量。常见的常见的缓存工具和框架有哪些?在 Java 后端开发中,常见的缓存工具和框架列举如下:本地缓存:Guava LocalCache、Ehcac原创 2022-04-18 11:35:39 · 312 阅读 · 0 评论 -
精选SpringBoot面试题
精选 SpringBoot 面试题1.什么是SpringBoot?SpringBoot基于Spring开发,SpringBoot本身并不提供Spring框架的核心特性和扩展功能,只是用于快速、敏捷的开发新一代基于Spring框架的应用程序。也就是说,它不是用来代替Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发体验的工具。SpringBoot以约定大于配置的核心思想默认帮助我们进行了很多配置,在开发中只开发者只需要配置少量的Spring配置,很适用于敏捷开发。同时它集成了大原创 2022-04-18 11:34:21 · 259 阅读 · 0 评论 -
精选SpringCloud面试题
SpringCloud Netflix & Sprin gCloud Alibaba什么是 Spring Cloud ?Spring Cloud 是构建在 Spring Boot 基础之上,用于快速构建分布式系统的通用模式的工具集。或者说,换成大家更为熟知的,用于构建微服务的技术栈。而后,不同厂商结合自身的中间件,提供自身的SpringCloud套件,例如:Netflix 结合自己的 Eureka、Ribbon、Hystrix 等开源中间件,实现了 spring-cloud-netflix原创 2022-04-18 11:33:05 · 5699 阅读 · 0 评论