- 博客(73)
- 收藏
- 关注
原创 面经分享--招银云创汇总
1.注解interface声明:用@interface替代classinterface,定义注解名称。2.添加元注解:修饰注解本身,指定注解的作用范围、保留策略等。3.注解中定义的 “成员变量”,用于携带信息(类似方法声明,无方法体)。
2025-10-26 16:59:00
841
原创 面经分享--小红书一面
1.相较于Mysql这样的关系型数据库,它的速度快,它是将数据存入到内存中,数据访问比硬盘快得多2.Redis的操作都是基于C++实现的一些简单操作,所以相较于其他关系型数据库操作比较简单,学习成本较低3.单线程的模型,这样减少了线程之间的竞争开销。4.Redis同时又采用了多路复用(epoll)的方式,使用一个线程可以管理多个socket5.丰富的数据结构,value可以支持string,list,hash,set,zset,bitmap,geo等6.完善的持久化机制:有RDB,AOF。
2025-10-09 19:20:15
747
原创 面经分享--京东一面
必须重写equals方法和hashCode方法,因为我们往一个哈希表中插入元素的时候,我们先得去拿这个元素进行一系列的哈希函数,再去&这个哈希表数组大小来判断存放的位置,由于是大集合映射到小集合,这时候我们就得判断这两个元素是否是相等的,就必须通过equals方法判断,如果不同就发生了哈希冲突,这时候要么使用开放寻址法,要么使用链地址法。如果只重写hashCode:1.相同的键被误认为不同:两个逻辑上相等的对象(如属性完全相同),由于默认的equals()(比较内存地址)返回falseHashMap。
2025-10-08 15:47:02
1035
原创 面经分享--金山软件开发一面
分布式系统中,C:一致性,A:可用性,P:分区容错性,三者不可兼得在分布式系统中的所有数据备份, 在同一时刻是否同样的值(等同于所有节点访问同一份最新的数据副本)在集群中一部分节点故障后, 集群整体是否还能响应客户端的读写请求(对数据更新具备高可用性)以实际效果而言, 分区相当于对通信的时限要求. 系统如果不能在时限内达成数据一致性, 就意味着发生了分区的情况, 必须就当前操作在 C 和 A 之间做出选择。
2025-09-30 11:32:23
720
原创 面经分享--招联开发一面
Java反射本身就是指程序在运行的时候可以动态地创建对象,调用对象的方法,拿到对象的属性。原理主要是每个类加载到JVM中的时候,方法区都会生成一个对应的Class对象,这个对象中包含了类的所有元数据,例如:字段,方法,构造器,注解等。自己虽然知道反射一般不使用的,但是为了了解这个东西的使用,自己还是在项目中试了一下,优点:能够在运行的时候动态创建类和操作类,还可以通过反射来访问到被private修饰的方法。
2025-09-30 11:26:30
252
原创 面经分享--广州某中厂一面
脏读:读到了其他事务没有提交的数据不可重复读:多次读取发现读取到的数据不一样幻读:多次读取发现读取到的结果集不一样MVCC:多版本并发控制,主要通过undo log 来实现,当我们执行一个操作的时候,这个就会生成一个反向操作。在MVCC中,每条数据除了记录数据本身,还有他的事务id,和一个指向回滚日志的指针,回滚日志上也有一个指针指向上一个日志,一个指向一个就形成了一条链表,构成了版本链,当发送修改操作的时候,有另外一个事务来读取数据就会产生一个Read View。
2025-09-25 15:43:31
912
原创 面经分享--百度开发一面
当客户端向服务器发送一个syn请求报文之后,客户端的状态从closed状态变为syn_sent状态,服务器收到这个请求之后,校验这个请求是否合法,是否有效,之后会返回一个ack+syn的报文,状态变为syn_rcvd状态,之后客户端收到了也返回一个ack给服务器表示已收到建立连接请求,之后双方的状态都变为established状态。具体过程:,代表这个是syn的报文,发送给服务器之后,进入syn_sent状态2.返回ack+syn:服务器也会随机初始化自己的序号,
2025-09-22 17:27:53
949
原创 面经分享--京东一面
IO多路复用就是在IO的时候一个线程不再仅仅只处理一个IO请求了,可以同时处理多个IO的请求,同时会有一个监听器(操作系统内核提供的)像select,poll,epoll这样的监听器,去监听这样的IO操作,如果发生了就绪情况,就会发生具体的IO操作具体流程可以分为3步:1.应用程序将需要监听的多个FD,以及要监听的事件类型注册到内核的监听器中,2.当某个FD出现了我们预期的情况,监听器就会收集这些。3.针对这些就绪的FD执行具体的IO操作。
2025-09-20 16:18:42
756
原创 面经分享--小红书一面
核心就是CAS+volatile,CAS即compare and swap 比较并交换,并不是真正地上锁,而是当我们要修改一个值的时候,先去判断目前这个值的内容是否与当前线程的预期内容一致,如果不一致就不进行修改,因为说明了这个资源已经被其他的线程修改过了,如果一致就对值进行修改,这时候就会产生ABA问题(底层是CPU的原子指令,保证比较再更新的原子性)。volatile关键字主要是为了保证内存可见性的,保证每个线程读取这个资源都能看到最新的值。
2025-09-11 13:40:40
310
原创 面经分享--招商银行一面
双亲委派模型其实就是类加载的过程中,类加载的过程是:加载:将程序转换成.class这样的二进制文件。验证:判断程序是否合法,有没有产生什么问题,是否安全。分配:为静态变量初始化,初始化一定的值,转换:将类的符号引用转换成直接引用。最后:初始化类中的对象,使用,并销毁。
2025-09-02 12:10:20
755
原创 面经分享--华为Java一面
Redis本身是一种以键值对来存储数据的一种非关系型数据库,key只能是string类型,value可以是string,set,zset,list,hash,以及bitmap,GEO等。string的底层实现有3种,第一种是整数int,embstr(短字符串),raw(长字符串)。list底层有3种实现,第一种是ziplist(压缩列表),第二种是linkedList,第三种是quicklist。hash底层有2种实现,第一种是hashtable,第二种是ziplist(压缩列表)。
2025-09-01 13:53:31
691
原创 面经分享--小米Java一面
2.实现的引言和支持的语言不同:RocketMQ目前主要支持Java语言,C++都有所限制,其他的语言是不支持的,而Kafka支持的语言较多,但kafka有一个非常致命的缺点,就是可能会发生一小部分消息的丢失。其次,进程之间的通信比较复杂,而线程很容易。1.适用的对象不同:RokcetMQ是阿里自己开发的,产品质量确实经过了阿里淘宝天猫的双11的检验,并发量也能达到十万级,Kafka适用于更大型的项目,支持的并发量更高,能达到几十万级,支持集群部署。线程的生命状态:新建,就绪,运行,阻塞,停止。
2025-08-30 14:28:50
668
原创 八股训练--MySQL
要查询的内容是一个复合索引,例如我要查询学生表的姓名,年龄,班级,这些字段构成了一个复合索引,就可以直接得到数据。MySQL面试题 | 小林coding。
2025-07-21 17:33:11
1110
原创 Redis进阶--集群
广义的集群:只要你是多个机器构成了一个分布式系统,都可以称为一个集群(主从结构)狭义的集群:redis提供的集群模式,主要是为了解决存储空间不足的问题(拓展存储空间)数据分片算法:1.哈希求余:将key映射到整数,再针对数组长度进行求余,得到数据下标。一般是使用md5的计算方式MD5的特性:1.结果是定长的,结果都是固定长度2.MD5计算结果是分散的,两个字符串即使大部分相同,只要有一小点不同,结果的差别都是很大的3.MD5计算结果是不可逆的。
2025-07-19 15:51:26
475
原创 牛客OJ在线编程常见输入输出练习--Java版
9.给定 tt 组询问,每次询问给出一个 nn 行 mm 列的二维正整数数组 aa ,第 ii 行第 jj 列元素的值为 ai,jai,j。13.给定 tt 组询问,每次给出一个长度为 nn 的带空格的字符串 ss ,请你去掉空格之后,将其倒置,然后输出。7.给定 tt 组询问,每次询问给出一个长度为 nn 的正整数数组 aa ,第 ii 个元素的值为 aiai。11.给定 tt 组询问,每次给出一个长度为 nn 的字符串 ss ,请你将其倒置,然后输出。请你分别求出每个数组的元素之和。
2025-05-17 14:59:33
675
原创 Jmeter性能测试工具使用介绍
目录一、引言二、如何下载启动JmeterJmeter的基础设置三、Jmeter使用流程1.此处先添加线程组2.同时在线程组的这里添加HTTP请求3.在“线程组”下添加“查看结果树”监听器4.启动Jmeter进行性能测试四、总结 本篇文章就Jmeter这样的性能测试工具如何使用进行一定的说明。通过Jmeter官网去下载Jmeter即可,这里我们比较推荐命令行的方式进行启动,但这里需要在用户的环境变量中添加一个东西:通过命令行:jmeter启动这里进行相应的操作 Jmeter工具还提供了许多相应的配置工
2025-05-05 15:32:01
431
原创 智能滚动抽奖--测试报告
目录一、项目背景二、项目功能三、测试计划一)单元集成测试:二)功能测试:三)自动化测试:四)存在问题五)测试结果评估四、总结 1.随着数字营销的兴起,企业越来越重视通过在线活动来吸引和留住客户。抽奖活动作为⼀种有效的营销⼿段,能够显著提升⽤⼾参与度和品牌曝光率。于是我就开发了以抽奖活动作为背景的Spring Boot项⽬,通过这个项⽬提供⼀个全⾯、可靠、易于维护的抽奖平台。 2.智能滚动抽奖采用前后端分离的方法来实现,同时使用了数据库来存储相关的数据,同时将其部署到云服务器上。前端有注册页面,登陆页面,
2025-04-23 11:10:37
1098
原创 Redis进阶--哨兵
从节点和主节点断开连接的情况1.从节点主动和主节点断开连接:slaveof no one:从节点自己晋升为主节点2.主节点挂了:从节点不会自动晋升为主节点,需要人工进行干预,这就是哨兵模式的作用。哨兵机制是通过独立的进程来体现的,redis-sentinel不负责存储数据,只是对其他的redis-server进程起到监控的效果。通常哨兵节点也会搞成一个集合,防止单个哨兵节点挂了。通过tcp长连接,定期发送心跳包。
2025-04-10 15:11:57
1024
原创 Redis进阶--主从复制
主从复制是在分布式系统中实现的,希望有多个服务器来部署redis1.主从模式:在若干个redis节点中,有的是主节点,有的是从节点。从节点的数据要跟随主节点进行变化。从节点相当于主节点的副本。从节点上的数据只能读取,不能进行修改。2.主从+哨兵模式3.集群模式。
2025-04-07 16:23:06
773
原创 Redis进阶--事务
Redis的事务比MySQL的事务要简单许多。原子性:Redis的事务有没有原子性存在争议,Redis是存在这种机制的,能够实现要么全都执行,要么全都不执行,但是Redis无法保证事务全都执行成功。一致性:Redis不具备一致性,没有回滚机制,事务执行过程中如果某个修改操作出现失败,就可能引起不一致的情况。持久性:不具备持久性,Redis本身是一个内存数据库,数据是存储在内存中的,虽然Redis也有持久化机制(与事务没有什么关系),但是还是以内存为主。
2025-04-02 12:44:49
410
原创 Redis进阶--持久化
目录一、引言二、策略1.RDB2.AOF三、总结 本篇文章将介绍Redis中其中一个特性--持久化。 定期备份:定期将Redis的内存的所有数据都写入硬盘中,给内存中当前存储的文件进行一个“拍照”然后生成一个文件,存储在硬盘中。1.手动触发:通过redis客户端命令进行快照生成(save,bgsave)。执行save操作的时候,就会阻塞其他的相关命令,(save一般不建议使用)bgsave:在redis服务器背后去执行,使用了多进程的方式来执行并发的效果创建一个与原有进程一模一样的新进程,然后让其去进行
2025-04-01 14:12:38
422
原创 redis--JavaSpring客户端
在spring项目中的使用和在基础项目上的使用有差异,但是差异并不大,无非就是要使用其他接口的问题,多加练习即可!
2025-03-25 14:12:26
298
原创 Redis--补充类型
在简单学习了redis中的5个数据类型(string,list,hash,set,zset)之后,本篇文章我们简要学习其他的数据类型。这些数据类型主要是在特定场景中使用。
2025-03-17 15:43:38
401
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅