![](https://img-blog.csdnimg.cn/direct/7a88ffd362f545c8a86e6a591be7ad91.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
面试集中营
文章平均质量分 92
主要是为了自己方便总结回顾一些经典的面试题
专业的程序员
十五年开发经验,10年互联网老兵,曾担任旺旺集团核心开发课副课长兼架构师,在多家互联昂企业中但是架构师、开发组长等职位。喜欢钻研技术,喜欢分享经验
展开
-
面试集中营—Linux篇
语法:more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]more命令中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),ps查看进程信息并通过less分页显示: ps -ef |less。cat是由第一行到最后一行连续显示在屏幕上,一次显示整个文件。ps -aux | grep * : 过滤查询某些进程;打包:tar -zxvf 文件名。less 文件名 : #cat 文件名 : #原创 2024-05-14 15:32:50 · 867 阅读 · 0 评论 -
面试集中营—rocketmq架构篇
Apache RocketMQ 是一款低延迟、高并发、高可用、高可靠的分布式消息中间件。消息队列 RocketMQ 可为分布式应用系统提供异步解耦和削峰填谷的能力,同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠重试等特性。Apache RocketMQ 自诞生以来,因其架构简单、业务功能丰富、具备极强可扩展性等特点被众多企业开发者以及云厂商广泛采用。原创 2024-05-14 14:50:42 · 998 阅读 · 0 评论 -
面试集中营—Seata分布式事务
在计算机系统中,更多的是通过关系型数据库来控制事务,这是利用数据库本身的事务特性来实现的, 因此叫数据库事务,由于应用主要靠关系数据库来控制事务,而数据库通常和应用在同一个服务器,所以基于关系型数据库的事务又被称为本地事务。数据库事务的四大特性:ACID:原子性,构成事务的所有操作,要么都执行完成,要么全部不执行,不可能出现部分成功部分失败的情况。:一致性,在事务执行前后,数据库的一致性约束没有被破坏。比如:张三向李四转100 元,转账前和转账后的数据是正确状态这叫一致性,如果出现张三转出100。原创 2024-05-12 22:29:38 · 789 阅读 · 0 评论 -
面试集中营—JVM篇
线程独占:栈,本地方法栈,程序计数器;线程共享:堆,方法区虚拟机栈:线程私有的,线程执行方法是会创建一个栈阵,用来存储局部变量表,操作栈,动态链接,方法出口等信息.调用方法时执行入栈,方法返回式执行出栈;本地方法栈:与虚拟机栈类似,也是用来保存执行方法的信息.执行Java方法是使用栈,执行Native方法时使用本地方法栈;程序计数器:保存着当前线程执行的字节码位置,每个线程工作时都有独立的计数器,只为执行Java方法服务,执行Native方法时,程序计数器为空;原创 2024-05-07 16:10:04 · 781 阅读 · 0 评论 -
面试集中营—Redis面试题
Redis是基于非阻塞的IO复用模型,内部使用文件事件处理器(file event handler),这个文件事件处理器是单线程的,所以Redis才叫做单线程的模型,它采用IO多路复用机制同时监听多个socket,根据socket上的事件来选择对应的事件处理器进行处理。文件事件处理器的结构包括四个部分1、多个socket;2、IO多路复用程序3、文件事件分排器4、事件处理器(连接应答处理器、命令请求处理器、命令回复处理器)多个 socket。原创 2024-05-07 14:19:59 · 1110 阅读 · 0 评论 -
面试集中营—Spring篇
Spring框架的好处Spring框架的好处1、轻量:spring是轻量的,基本的版本大约2MB;2、IOC:控制反转,Spring的IOC机制使得对象之间的依赖不再需要我们自己来控制了,而是由容易来控制,一个字:爽;3、AOP:切面编程,Spring提供的AOP技术可以把应用逻辑和系统服务分来,编码更灵活,更方便;4、MVC框架:如果使用过Struts2的同学,使用springmvc就会觉得非常的舒适,spring提供的mvc框架是一个非常优秀的Web框架;原创 2024-05-06 16:34:12 · 825 阅读 · 0 评论 -
面试集中营—Redis架构篇
1、redis6.0版本之前的单线程,是指网络请求I/O与数据的读写是由一个线程完成的;2、redis6.0版本升级成了多线程,指的是在网络请求I/O阶段应用的多线程技术;而键值对的读写还是由单线程完成的。所以redis多线程的模型依然是线程安全的。原创 2024-05-06 14:11:01 · 1102 阅读 · 2 评论 -
面试集中营—ElasticSearch架构篇
1、支持多种数据类型。它可以处理非结构化、数值和地理信息等多种类型的数据;2、简单的RESTful API。ES提供了一个简单易用的RESTful API,使得它可以从任何编程语言中调用,降低了学习的曲线。3、近实时搜索。ES每隔1秒将数据存储至系统缓存中,使用倒排索引提高检索效率,使得搜索数据变得快速且高效。4、支持相关性搜索。它可以根据条件对搜索结果进行打分,提供了基于文档的全文检索能力。5、天然分布式存储。ES是分布式的,使用分片支持处理PB级的数据量,易于扩展,可部署在数百台服务器的集群中。原创 2024-04-26 11:21:23 · 1181 阅读 · 5 评论 -
面试集中营—场景面试题A
第一步我们要首先确定是什么导致的消息积压,基本上三个原因线上消息积压第一步先看日志,是否在消费端出现了系统异常,系统异常有可能是磁盘满了,挂载盘故障了,网络不稳定或者有黑客入侵植入了其他程序侵占了系统资源等等。系统异常排除,就通过日志查看是否存在业务异常,是否有大量的报错信息,如果存在那么应该是代码的问题,此时就要快速修复问题,然后上线。如果不是代码的问题,那么就要考虑当前消费线程的执行时间是否过长,每次消费的时间太长也会造成消息的积压,通过各种工具可以检测到消费的时长,如果很长那么也需要优化代码。原创 2024-04-23 10:33:47 · 935 阅读 · 0 评论 -
面试集中营—mysql架构相关
了解一个中间件一定要从架构开始,上来就背八股文那就没意思了。从下图可以看到Mysql的包括网络连接、服务、数据存储和系统文件(日志)四大部分。数据连接:客户端连接器(Client Connectors):提供与MySQL服务器建立的支持;服务:又包括了sql接口,sql解析器,查询优化器,缓存等模块,主要是把sql进行解析和处理;数据存储:主要是存储引擎,常用的就是MyISAM和InnoDB;原创 2024-04-23 10:34:14 · 1017 阅读 · 0 评论 -
面试集中营—AQS哪些事儿之ReentrantLock
AQS—AbstractQueuedSynchronizer是JDK工具包中的一个抽象类。在这个抽象类中,有几个属性和一个双向队列(FIFO)。是JUC并发包下的一个基类,那么我们熟知的ReentrantLock、CountDownLatch、信号量等等都是基于这个基类来实现的。原创 2024-04-22 15:08:23 · 1050 阅读 · 0 评论 -
面试集中营—AQS哪些事儿之CountDownLatch
AQS既可以用来实现互斥锁也可以用来实现共享锁,互斥锁确实可以用boolean来定义state的类型,但是共享锁需要多个线程持有一个锁资源,那么boolean就不适合了,state定义成int类型可以表示线程占用的数量。原创 2024-04-22 15:07:17 · 548 阅读 · 0 评论 -
面试题集中营—分布式共识算法
简单来说共识算法就是投票,主节点或者说处理客户端请求的节点由集群中所有的服务器投票得出(更准确的说有投票权的服务器投票得出)。这样就有一个保证,如果集群中有半数以上的服务器是可用的,那么我的服务就可用。我们又会将节点分成数据节点和管理节点,由管理节点来统一管理数据节点。现在服务节点高可用了,但是管理节点呢,又出现单点问题了,怎么办,好办,管理节点也做高可用,可是难道要给管理节点再增加管理管理节点吗?为了服务的高可用性,我们一般都会多引入几个副节点当备份,当服务节点挂了,就把其中一个副节点升级为主节点。原创 2024-04-18 09:35:15 · 614 阅读 · 0 评论 -
面试题集中营—GC日志简析及频繁GC的调优
有两种方式查看GC日志,一种是动态命令行查看第二种就是在JVM参数中增加打印的参数,如下:-XX:+PrintGCDetails -XX:+PrintGCTimeStamps 表示打印每次GC的日志以及GC发生的时间-Xloggc:gc.log 可以把gc日志写入文件中。原创 2024-04-18 11:25:49 · 1073 阅读 · 0 评论