自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 收藏
  • 关注

原创 【金三银四】面试题汇总(持续编写中)

Java八股文面试题汇总(持续编写中~)Java基础集合JUCJVM框架篇入门算法Java基础集合JUCJVM框架篇入门算法

2024-03-04 16:19:29 612

原创 【面试自测】Spring

通过这种三级缓存机制,Spring巧妙地打破了原本看似无法解决的循环依赖问题,使得即使在setter注入的循环引用情况下,也能确保两个Bean都能正常初始化和完成依赖注入。

2024-03-17 10:51:13 581

原创 【面试自测】Mybatis

什么是 MyBatis?讲下MyBatis 的缓存Mybatis 是如何进行分页的?分页插件的原理是什么?简述Mybatis 的插件运行原理,以及如何编写一个插件?Mybatis 动态 sql 是做什么的?都有哪些动态sql?能简述一下动态 sql 的执行原理不?#{}和${}的区别是什么?为什么说 Mybatis 是半自动 ORM 映射工具?它与全自动的区别在哪里?MyBatis 的好处是什么?简述 Mybatis 的 Xml 映射文件和 Mybatis 内部数据结构之间的映射关系?什

2024-03-17 10:38:38 381

原创 【面试自测】Mysql

数据库三范式是什么?有哪些数据库优化方面的经验?请简述常用的索引有哪些种类?以及在 mysql 数据库中索引的工作机制是什么?请简述MySQL的存储引擎区别,以及MyISAM和InnoDB的主要差异。MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区 别?MySQL事务是什么,以及事务的ACID特性分别是什么?什么是死锁,如何预防和处理MySQL中的死锁?

2024-03-17 10:33:04 411

原创 【面试自测】JVM

Java 类加载过程?描述一下 JVM 加载 Class 文件的原理机制?Java 内存分配GC 是什么? 为什么要有 GC?简述 Java 垃圾回收机制。如何判断一个对象是否存活?(或者 GC 对象的判定方法)Java 中会存在内存泄漏吗,请简单描述。深拷贝和浅拷贝。Java 中垃圾收集的方法有哪些?什么是类加载器,类加载器有哪些?类加载器双亲委派模型机制?

2024-03-17 10:25:16 360

原创 【面试自测】Java并发

Synchronized 用 过 吗 , 其 原 理 是 什 么 ?获 取 对 象 的 锁 , 这 个 “ 锁 ” 到 底 是 什 么 ? 如 何 确 定 对 象 的 锁 ?什 么 是 可 重 入 性 , 为 什 么 说 Synchronized 是 可 重 入 锁 ?JVM 对 Java 的 原 生 锁 做 了 哪 些 优 化 ?为 什 么 说 Synchronized 是 非 公 平 锁 ?什 么 是 锁 消 除 和 锁 粗 化 ?为 什 么 说 Synchronized 是 一

2024-03-17 10:12:56 434

原创 【面试自测】Java集合

ArrayList 和 Vector 的区别。说说 ArrayList,Vector, LinkedList 的存储性能和特性。快速失败 (fail-fast) 和安全失败 (fail-safe) 的区别是什么hashmap 的数据结构。HashMap 的工作原理是什么?Hashmap 什么时候进行扩容呢?List、Map、Set 三个接口,存取元素时,各有什么特点?Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用 == 还是equals()? 它们有何区别?heap

2024-03-17 09:57:35 369

原创 【知识简略】说说分布式常见问题及解决方案:分布式锁、分布式事务、分布式session、分布式任务调度;

分布式系统(Distributed System)是指由多个独立计算机通过网络通信协议连接起来协同工作,共同完成一个共同目标的系统。在分布式系统中,这些计算机节点是物理上分离的,每个节点都有自己的内存、处理器和存储设备,并通过消息传递或远程过程调用(RPC)等方式相互通信和协调。分布式系统的主要目标是提高系统的可靠性和可用性、增强计算能力、实现资源共享和负载均衡,同时也带来了复杂性,如数据一致性、并发控制、容错和网络延迟等问题。

2024-03-16 01:42:37 1161

原创 【知识简略】 简单理解SpringCloud微服务架构:服务注册发现、配置中心、限流、熔断、降级、网关路由等

主要介绍Nacos那一套。

2024-03-16 01:31:50 1193

原创 【知识简略】面试官最爱问的Linux操作系统及常用命令、Docker常用命令

上述命令会在后台运行一个新的容器(命名为my_container),使用ubuntu镜像,并将主机的/host/path目录挂载到容器内部的/container/path,然后运行一个持续1000秒(即大约28分钟)的睡眠命令。请注意,上述命令在实际环境中可能需要加上额外的选项或参数,以满足具体需求。

2024-03-15 17:40:53 772

原创 【知识简知】DDD方法论的基本思想,以及常用的基本概念和分层架构

了解DDD方法论的基本思想,以及常用的基本概念和分层架构。

2024-03-15 17:26:10 894

原创 【金三银四】掌趣科技24.3.7 H项目 服务端开发笔试题

考试题型: 不定项选择题 10 道 , 填空题 10 道 , 问答题 2 道 , 编程题 4 道。

2024-03-14 22:56:35 1209 2

原创 【金三银四】Spring面试题

Spring 是一个开源的Java应用程序框架,由Rod Johnson创建并在2003年发布,旨在简化企业级Java应用的开发。Spring以其轻量级、模块化和基于依赖注入(Dependency Injection, DI)的设计原则而闻名,它通过提供一套全面的解决方案,可以帮助开发者更容易地构建、测试、部署和管理Java应用程序。核心容器(Core Container)

2024-03-10 20:44:55 760

原创 【金三银四】哈啰Java实习一面

面经来源:https://www.nowcoder.com/share/jump/7602220581710053984592。

2024-03-10 15:19:39 838

原创 【金三银四】刷刷八股吧,准备新的一周的到来

八股整理题目来源:https://learn.skyofit.com/archives/66。

2024-03-10 14:51:35 848

原创 【今日面经】24/3/9 广州Java某小厂电话面经

Spring框架的两大核心特性是IoC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)。控制反转(IoC)是一种设计原则,它提倡将对象的创建、组装和依赖关系管理的责任从应用代码中移出,转交给一个专门的容器(在Spring中被称为IoC容器)。通过这种方式,对象不再自行创建或查找依赖的对象,而是由容器在运行时自动提供所需的依赖。

2024-03-10 03:51:08 822

原创 【八股面经】面试官经常提问的一些Java集合面试题

题目来源参考:https://javabetter.cn/sidebar/sanfene/collection.html1. 常见集合类型?2. ArrayList 和 LinkedList 差异。3. ArrayList 扩容机制说明。4. ArrayList 序列化原理及为何用 transient 修饰数组。5. 快速失败(fail-fast)与安全失败(fail-safe)概念理解。6. ArrayList 线程安全实现方式列举。7. CopyOnWriteArrayList 简介。

2024-03-09 23:41:28 362

原创 【八股面经】面试官经常提问的一些Java基础面试题

题目来源参考:https://javabetter.cn/sidebar/sanfene/javase.html1.什么是 Java,Java 语言有哪些特点?2.JVM、JDK 和 JRE 有什么区别?3.说说什么是跨平台性?原理是什么4.为什么说 Java 语言“编译与解释并存”?5.Java 有哪些数据类型?6.什么是自动拆箱/封箱?7.&和&&有什么区别?8.break ,continue ,return 的区别及作用?9.⾯向对象和⾯向过程的区别?1

2024-03-09 22:18:44 381

原创 【今日面经】24/3/8 又是Java后端面经啊啊啊啊啊啊啊

面经来源:https://www.nowcoder.com/feed/main/detail/1eff4d47b07e41cb980b5226ce776233。

2024-03-08 19:18:56 911

原创 【算法之路--1.初级算法】

这是由 LeetCode 官方推出的经典面试题目清单。

2024-03-08 17:15:10 483

原创 【今日面经】Java后端面经(主要问Mysql跟Redis)

内存是计算机硬件系统中的一个组成部分,它是CPU可以直接访问的数据存储区域,用于暂时存放运行中的程序和数据。内存是计算资源的重要一环,任何进程或程序都需要通过内存来执行和处理数据。:Redis是一个独立的、基于内存的数据存储系统,它可以被部署为一个服务或进程,为应用提供缓存功能。Redis缓存是位于应用层面上的一种软件解决方案,它利用内存作为数据的存储介质,目的是为了加速数据访问速度,减轻数据库负担。:内存的数据在计算机断电或重启后会丢失,除非有额外的机制如虚拟内存交换文件、数据库缓存等将数据写入磁盘。

2024-03-07 17:49:20 1904

原创 【知识积累】数据结构与算法--汇总篇

2024-03-06 00:22:38 341

原创 【金三银四】每日一点面试题(面经汇总)百分点java一面1.12

八股拷打的巅峰,纯纯八股。

2024-03-05 20:23:14 944

原创 【场景题】让你设计一个订单号生成服务,该怎么做?

当设计订单号生成服务时,我们需要考虑唯一性、数据量、可读性、基因法、可扩展性、高性能和高可用性等多个方面。这种综合考虑各种需求的设计方法,可以有效地确保订单号生成服务在实际应用中的稳定性和可靠性。

2024-03-05 18:38:01 411

原创 【场景题】如何设计一个购物车功能?

今天我们讲了购物车系统的存储该如何设计。购物车系统的主要功能包括:加购、购物车列表页和结算下单。核心的实体就只有一个 「购物车」实体,它至少要包括:SKUID、数量、加购时间和勾选状态这几个属性。在给购物车设计存储时,为了确保购物车内的数据在多端保持一致,以及用户登录前后购物车内商品能无缝衔接,除了每个用户的 「用户购物车」之外还要实现一个 「暂存购物车」保存用户未登录时加购的商品,并在用户登录后自动合并「暂存购物车」和「用户购物车」。

2024-03-05 16:47:11 902

原创 【金三银四】每日一点面试题(Java--场景篇):如何用SpringBoot 监控 SQL 运行情况?(待续...)

本文来源:https://mp.weixin.qq.com/s/qZTcUjRKe7_rXlH6eE7swg。

2024-03-05 13:45:52 433

原创 【金三银四】每日一点面试题(Java--JUC篇)

Thread类runCallableRunnableFutureTaskCallableThread。

2024-03-05 13:04:35 866

原创 【金三银四】27道基础算法题,学完让你对算法有豁然开朗的感觉(推荐小白)

本文参考力扣官网、以及该文章:https://zhuanlan.zhihu.com/p/632616380本套题目涵盖了数组、字符串、哈希表、链表、二叉树等常见数据结构,以及二分查找、滑动窗口、深度优先搜索(DFS)、广度优先搜索(BFS)等经典算法。通过这些题目的学习,您将不仅掌握算法的基本原理,还能在实际编程中运用自如。特别推荐小白读者尝试这些题目,因为它们将从零开始,引导您逐步深入算法的世界。相信学完这些题目后,您会对算法有豁然开朗的感觉,不仅能够在面试中应对自如,还能在未来的工作中更加得心应手。

2024-03-05 00:26:32 812

原创 【金三银四】每日一点面试题(Java--JVM篇)

CMS(Concurrent Mark Sweep)垃圾回收器是Java虚拟机(JVM)中的一种垃圾回收器,主要用于回收老年代(Tenured Generation)的内存。CMS垃圾回收器的设计目标是减少应用程序的停顿时间,特别是在多线程应用程序中。以下是对CMS垃圾回收器的详细介绍:工作原理CMS垃圾回收器使用标记-清除(Mark-Sweep)算法,该算法包括以下几个主要阶段:1、初始标记(Initial Mark):这个阶段会暂停所有的用户线程(Stop-The-World事件)。

2024-03-04 22:53:46 2070

原创 【金三银四】每日一点面试题(Java--场景篇):如何防止订单重复支付的?

1、支付订单增加一个中间状态“支付中”,当同一个订单去支付的时候,先检查有没有状态为“支付中”的支付流水,当然支付(prepay)的时候要加个锁。2、支付中心这边要自己定义一个超时时间(比如:30秒),在此时间范围内如果没有收到支付成功回调,则应调用接口主动查询支付结果,比如10s、20s、30s查一次,如果在最大查询次数内没有查到结果,应做异常处理。支付成功以后,异步通知支付中心,支付中心更新自身支付订单状态,再通知业务应用,各业务再更新各自订单状态。这个时候有可能产生投诉,或者用户重复支付。

2024-03-04 19:18:32 424

原创 【金三银四】每日一点面试题(Java--集合篇)

List是顺序存储,可以重复,可以通过索引访问。Set是无序存储,不可重复,不能通过索引访问。Map存储键值对,键唯一,值可以重复,通过键来访问对应的值。

2024-03-04 16:17:17 963

原创 【金三银四】每日一套面经(Java),看你是否能答对多少?

这五种状态描述了一个线程从创建到消亡的整个生命周期。需要注意的是,实际中线程的状态可能会更加复杂,例如在操作系统层面,线程可能还会有其他的细分状态,但在Java语言层面,通常将线程状态简化为上述五种。

2024-03-03 23:14:27 803

原创 【简说八股】面试官:你知道什么是AOP么?

AOP(Aspect-Oriented Programming),即面向切面编程,是一种编程范式,它的主要思想是将应用程序中的横切关注点(如日志记录、性能统计、安全控制等)从业务逻辑中剥离出来,然后通过特殊的方式将这些横切关注点与业务逻辑进行关联,从而实现了这些功能的模块化和重用。在传统的面向对象编程中,我们常常会在业务逻辑代码中夹杂着一些公共的功能,比如日志记录、事务管理等。而使用AOP,则可以将这些公共功能抽取成独立的“切面”,然后通过特定的方式将这些切面与业务逻辑进行关联。

2024-03-03 22:33:36 361

原创 【简说八股】面试官:你知道什么是IOC么?

Spring的IOC(Inversion of Control,控制反转)是Spring框架的核心特性之一。它通过将对象的创建和依赖关系的管理交给Spring容器来实现,降低了组件之间的耦合性,使得代码更加灵活、可维护。在传统的开发模式中,对象的创建和依赖关系通常由开发者直接管理,例如通过new关键字创建对象。而在IOC模式下,对象的创建和依赖注入是由Spring容器负责的。Spring容器是一个轻量级的容器,负责管理Java对象的生命周期和依赖关系。

2024-03-03 22:26:17 381

原创 【简说八股】Spring事务失效可能是哪些原因?

Spring事务是指在Spring框架中对数据库操作进行管理的一种机制,它确保一组数据库操作要么完全执行成功(提交),要么完全不执行(回滚),从而保持数据一致性和完整性。Spring框架提供了多种事务管理方式,包括和。其中,声明式事务管理是通过在方法上添加@Transactional注解来实现的,通过简单的注解配置,开发者可以将业务逻辑与事务管理分离,使得代码更加清晰和易于维护。

2024-03-03 22:19:33 449

原创 【简说八股】Nginx、GateWay、Ribbon有什么区别?

定位不同:Nginx 是一个通用的 Web 服务器和反向代理,而 Gateway 和 Ribbon 更专注于微服务架构中的服务路由和负载均衡。使用层次:Nginx 通常用作外部请求的第一道防线,而 Gateway 是微服务内部的请求路由层,Ribbon 则是客户端的负载均衡组件。功能差异:Nginx 强调反向代理和负载均衡,Gateway 提供更丰富的微服务治理功能,如认证、熔断、限流等,Ribbon 主要关注客户端侧的负载均衡和故障转移。

2024-03-03 22:10:29 778

原创 【简说八股】Redisson的守护线程是怎么实现的

Redisson 是一个 Java 语言实现的 Redis SDK 客户端,在使用分布式锁时,它就采用了「自动续期」的方案来避免锁过期,这个守护线程我们一般也把它叫做「看门狗」线程。Redission是一个在Java环境中使用的开源的分布式缓存和分布式锁实现,基于Redis数据库。在Redission中,守护线程并不是一个特定的概念,但是它提供了一些功能,可以通过后台线程来实现类似于守护线程的行为。后台任务:Redission使用了一些后台任务来维护锁的状态或者其他缓存数据的一致性。

2024-03-03 21:50:20 1002

原创 【间说八股】面试官:我看你这里用到了模板模式?你能不能说一下什么是模板模式

行为模式:这类模式负责对象间的高效沟通和职责委派。模板方法模式是一种行为设计模式, 它在超类中定义了一个算法的框架, 允许子类在不修改结构的情况下重写算法的特定步骤。模板方法模式是一种行为设计模式,其核心思想是定义一个算法的骨架,将算法中的特定步骤延迟到子类中实现,从而在不改变算法结构的情况下,允许子类重新定义算法的特定部分。

2024-03-03 14:53:45 337

原创 【简说八股】如何正确创建线程池?

既然避免使用Executors创建线程池,主要是避免使用其中的默认实现,那么我们可以自己直接调用的构造函数来自己创建线程池。

2024-03-03 12:21:11 858

原创 【简说八股】为什么不建议通过Executors构建线程池?

即可创建一个固定大小的线程池。但是为什么在阿里巴巴Java开发手册中也明确指出,不允许使用Executors创建线程池呢。

2024-03-03 12:14:38 346

区块链行业词典,维京研究院&甲子智库著,介绍区块链中常用的专业名词

让开源精神遍布CSDN; 开源精神,作为一种崇尚自由分享、协同创新的理念,已成为全球软件开发领域不可或缺的核心力量。在中国乃至全球的技术社区中,开源项目以其公开透明、互助合作的特性,极大地促进了技术的发展和进步。CSDN作为中国最大的开发者社区之一,承载着广大程序员的学习交流与知识分享重任,我们应当积极倡导并践行开源精神,使其深入到CSDN的每一个角落。

2024-03-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除