hao_kkkkk
这个作者很懒,什么都没留下…
展开
-
面试必备!Redis面试题合集
简单来说Redis 就是一个使用 C 语言开发的数据库,不过与传统数据库不同的是Redis 的数据是存在内存中的,也就是它是内存数据库,所以读写速度非常快,因此 Redis 被广泛应用于缓存方向。另外,Redis 除了做缓存之外,也经常用来做分布式锁,甚至是消息队列。Redis 提供了多种数据类型来支持不同的业务场景。Redis 还支持事务 、持久化、Lua 脚本、多种集群方案。缓存穿透说简单点就是大量请求的 key 根本不存在于缓存中,导致请求直接到了数据库上,根本没有经过缓存这一层。原创 2024-07-15 23:02:52 · 109 阅读 · 0 评论 -
kafka面试题(基础-进阶-高阶)
如果集群中存在 Broker的UnderReplicatedPartitions 频繁变动,或者处于一个稳定的大于0 的值(这里特指没有 Broker 下线的情况)时,一般暗示着集群出现了性能问题,通常这类问题很难诊断,不过我们可以一步一步的将问题的范围缩小,比如先尝试确定这个性能 问题是否只存在于集群的某个 Broker 中,还是整个集群之上。Kafka 中的索引文件以稀疏索引(sparse index)的方式构造消息的索引,它并不保证每个消息在索引文件中都有对应的索引项。原创 2024-07-11 23:54:02 · 376 阅读 · 0 评论 -
JAVA面试大全之DevOps篇
Linux是一种基于UNIX的操作系统,最初是由Linus Torvalds引入的。它基于Linux内核,可以运行在由Intel,MIPS,HP,IBM,SPARC和Motorola制造的不同硬件平台上。Linux中另一个受欢迎的元素是它的吉祥物,一个名叫Tux的企鹅形象。BASH是Bourne Again SHell的缩写。它由Steve Bourne编写,作为原始Bourne Shell(由/ bin / sh表示)的替代品。原创 2024-04-01 21:57:10 · 260 阅读 · 0 评论 -
JAVA面试大全之微服务篇
微服务以前所有的代码都放在同一个工程中、部署在同一个服务器、同一项目的不同模块不同功能互相抢占资源,微服务就是将工程根据不同的业务规则拆分成微服务,部署在不同的服务器上,服务之间相互调用,java中有的微服务有dubbo(只能用来做微服务)、springcloud( 提供了服务的发现、断路器等)。微服务的特点按业务划分为一个独立运行的程序,即服务单元服务之间通过HTTP协议相互通信自动化部署可以用不同的编程语言可以用不同的存储技术服务集中化管理微服务是一个分布式系统微服务的优势。原创 2024-03-31 19:51:44 · 1264 阅读 · 0 评论 -
JAVA面试大全之分布式篇
分布式系统通过副本控制协议,使得从系统外部读取系统内部各个副本的数据在一定的约束条件下相同,称之为副本一致性(consistency)。副本一致性是针对分布式系统而言的,不是针对某一个副本而言。强一致性(strong consistency):任何时刻任何用户或节点都可以读到最近一次成功更新的副本数据。强一致性是程度最高的一致性要求,也是实践中最难以实现的一致性。单调一致性(monotonic consistency):任何时刻,任何用户一旦读到某个数据在某次更新后的值,这个用户不会再读到比这个值更旧的值。原创 2024-03-31 19:34:19 · 683 阅读 · 0 评论 -
JAVA面试大全之架构篇
每个系统都有服务的上线,所以当流量超过服务极限能力时,系统可能会出现卡死、崩溃的情况,所以就有了降级和限流。限流其实就是:当高并发或者瞬时高并发时,为了保证系统的稳定性、可用性,系统以牺牲部分请求为代价或者延迟处理请求为代价,保证系统整体服务可用。令牌桶方式(Token Bucket)令牌桶算法是网络流量整形(Traffic Shaping)和速率限制(Rate Limiting)中最常使用的一种算法。先有一个木桶,系统按照固定速度,往桶里加入Token,如果桶已经满了就不再添加。原创 2024-03-29 22:58:07 · 297 阅读 · 0 评论 -
JAVA面试大全之开发框架和中间件篇
Spring是一种轻量级框架,旨在提高开发人员的开发效率以及系统的可维护性。我们一般说的Spring框架就是Spring Framework,它是很多模块的集合,使用这些模块可以很方便地协助我们进行开发。这些模块是核心容器、数据访问/集成、Web、AOP(面向切面编程)、工具、消息和测试模块。比如Core Container中的Core组件是Spring所有组件的核心,Beans组件和Context组件是实现IOC和DI的基础,AOP组件用来实现面向切面编程。原创 2024-03-29 22:47:58 · 351 阅读 · 0 评论 -
JAVA面试大全之开发基础篇
全局上理解7层协议,4层,5层的对应关系。OSI依层次结构来划分:应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transport)、网络层(Network)、数据链路层(Data Link)、物理层(Physical)原创 2024-03-29 22:19:06 · 223 阅读 · 0 评论 -
JAVA面试大全之数据库篇
事务指的是满足 ACID 特性的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚。事务基本特性ACID?A原子性(atomicity)指的是一个事务中的操作要么全部成功,要么全部失败。C一致性(consistency)指的是数据库总是从一个一致性的状态转换到另外一个一致性的状态。比如A转账给B100块钱,假设中间sql执行过程中系统崩溃A也不会损失100块,因为事务没有提交,修改也就不会保存到数据库。I隔离性(isolation)原创 2024-03-29 22:01:26 · 311 阅读 · 0 评论 -
史上最全-Java面试题(涵盖基础、高级、框架、微服务、中间件、大厂真题等28个大类超3000+面试题,全部附带详细答案)
3月4月又到了一年一度的跳槽黄金期,无论几年经验,也无论技术能力如何,跳槽前都离不开面试准备,其中刷面试题是重中之重。刷面试题的时候一大痛点就是太分散了,需要自己根据知识点一项一项的去搜,容易遗漏知识点而且面试题质量无法保证,非常痛苦,基于此我花了两个月的时间全面梳理了Java的主流知识点,并基于知识点梳理总结了每个知识点的面试题,非常全面。资料内容展示:1、面试题知识点全景展示2、知识点详解 - 每个知识点都有一个题库......3、大厂真题。原创 2024-03-28 22:47:22 · 834 阅读 · 0 评论 -
JAVA面试大全之数据结构和算法篇
消息摘要算法的主要特征是加密过程不需要密钥,并且经过加密的数据无法被解密,目前可以解密逆向的只有CRC32算法,只有输入相同的明文数据经过相同的消息摘要算法才能得到相同的密文。消息摘要算法不存在密钥的管理与分发问题,适合于分布式网络上使用。消息摘要算法主要应用在“数字签名”领域,作为对明文的摘要算法。何谓数字签名?数字签名主要用到了非对称密钥加密技术与数字摘要技术。数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。原创 2024-03-28 22:28:37 · 252 阅读 · 0 评论 -
JAVA面试大全之JAVA新特性篇
函数式编程面向对象编程是对数据进行抽象;函数式编程是对行为进行抽象。核心思想: 使用不可变值和函数,函数对一个值进行处理,映射成另一个值。Lambda表达式lambda表达式仅能放入如下代码: 预定义使用了注释的函数式接口,自带一个抽象函数的方法,或者SAM(Single Abstract Method 单个抽象方法)类型。这些称为lambda表达式的目标类型,可以用作返回类型,或lambda目标代码的参数。原创 2024-03-28 22:18:49 · 79 阅读 · 0 评论 -
JAVA面试大全之JVM和调优篇
PC 寄存器用来存储指向下一条指令的地址,即将要执行的指令代码。由执行引擎读取下一条指令。PC寄存器为什么会被设定为线程私有的?多线程在一个特定的时间段内只会执行其中某一个线程方法,CPU会不停的做任务切换,这样必然会导致经常中断或恢复。为了能够准确的记录各个线程正在执行的当前字节码指令地址,所以为每个线程都分配了一个PC寄存器,每个线程都独立计算,不会互相影响。主管 Java 程序的运行,它保存方法的局部变量、部分结果,并参与方法的调用和返回。原创 2024-03-27 22:26:34 · 336 阅读 · 0 评论 -
JAVA面试大全之并发篇
CAS的全称为Compare-And-Swap,直译就是对比交换。是一条CPU的原子指令,其作用是让CPU先进行比较两个值是否相等,然后原子地更新某个位置的值,经过调查发现,其实现方式是基于硬件平台的汇编指令,就是说CAS是靠硬件实现的,JVM只是封装了汇编调用,那些AtomicInteger类便是使用了这些封装后的接口。简单解释:CAS操作需要输入两个数值,一个旧值(期望操作前的值)和一个新值,在操作期间先比较下在旧值有没有发生变化,如果没有发生变化,才交换成新值,发生了变化则不交换。原创 2024-03-27 21:54:25 · 525 阅读 · 0 评论 -
JAVA面试大全之集合&IO篇
我们都知道Java中内存是通过GC自动管理的,GC会在程序运行过程中自动判断哪些对象是可以被回收的,并在合适的时机进行内存释放。GC判断某个对象是否可被回收的依据是,是否有有效的引用指向该对象。如果没有有效引用指向该对象(基本意味着不存在访问该对象的方式),那么该对象就是可回收的。这里的有效引用并不包括弱引用。也就是说,虽然弱引用可以用来访问对象,但进行垃圾回收时弱引用并不会被考虑在内,仅有弱引用指向的对象仍然会被GC回收。原创 2024-03-26 22:20:30 · 110 阅读 · 0 评论 -
JAVA面试大全之基础篇
Java面试题大全之基础篇原创 2024-03-26 21:51:00 · 265 阅读 · 0 评论