![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试技巧
文章平均质量分 76
IT枫斗者
大家好,我是程序员枫哥,csdn全栈领域优质创作者,华为云专家博主,阿里云专家博主,51CTO专家博主,目前组建的团队,专注Java技术分享,一对一学习辅助,春招/秋招/社招/跳槽,Java带徒等求职辅助,欢迎来技术交流,有问必答。
展开
-
Spring 框架Bean的初始化和销毁 ---方式: @Bean(initMethod = “init“,destroyMethod = “destroy“)
我们已经知道了由Spring管理bean的生命周期时,我们可以指定bean的初始化和销毁方法,那具体该如何定义这些初始化和销毁方法呢?通过@Bean注解指定初始化和销毁方法。如果是使用XML文件的方式配置bean的话,可以在标签中指定bean的初始化和销毁方法,如下所示。这里,需要注意的是,在我们写的Person类中,需要存在init()方法和destroy()方法。而且Spring中规定,这里的init()方法和destroy()方法必须是无参方法,但可以抛异常。原创 2023-08-04 05:00:00 · 600 阅读 · 0 评论 -
一份热乎乎的字节面试真题
主要用于对服务器之间的磁盘、分区、逻辑卷等进行数据镜像,当用户将数据写入本地磁盘时,还会将数据发送到网络中另一台主机的磁盘上,这样的本地主机(主节点)与远程主机(备节点)的数据就可以保证实时同步。线程的工作内存保存了被该线程使用的变量的主内存副本,线程对变量的所有操作都必须在工作内存中进行,而不能直接操作操作主内存。,它是官方集群的部署方案,通过使用NDB存储引擎实时备份冗余数据,实现数据库的高可用性和数据一致性。当本地主机出现问题,远程主机上还保留着一份相同的数据,即可以继续使用,保证了数据的安全。原创 2023-07-31 08:24:55 · 270 阅读 · 0 评论 -
2023年最新kafka常见面试题
数据传输的事务定义通常有以下三种级别:最多一次: 消息不会被重复发送,最多被传输一次,但也有可能一次不传输最少一次: 消息不会被漏发送,最少被传输一次,但也有可能被重复传输.精确的一次(Exactly once): 不会漏传输也不会重复传输,每个消息都传输被一次而且仅仅被传输一次,这是大家所期望的。原创 2023-03-03 05:30:00 · 1655 阅读 · 0 评论 -
2023年Dubbo常见面试题
服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调 用。因为服务的现状大都是服务提供者少,通常只有几台机器, 而服务的消费者多,可能整个网站都在访问该服务,比如 Morgan 的提供者只有 6 台提供者,却有上百台消费者,每天有 1.5 亿次调用,如果采用常规的hessian 服务,服务提供者很容易就被压跨,通过单一连接,保证单一消费者不会压死提供者, 长连接,减少连接握手验证等,并使用异步 IO,复用线程池,防止 C10K 问题。原创 2023-03-02 06:00:00 · 861 阅读 · 0 评论 -
2023年中国平安最新java面试题
Eureka:各个服务启动时,Eureka Client都会将服务注册到Eureka Server,并且Eureka Client还可以反过来从 Eureka Server拉取注册表,从⽽知道其他服务在哪⾥Ribbon:服务间发起请求的时候,基于Ribbon做负载均衡,从⼀个服务的多台机器中选择⼀台Feign:基于Feign的动态代理机制,根据注解和选择的机器,拼接请求URL地址,发起请求。原创 2023-03-01 05:30:00 · 761 阅读 · 0 评论 -
2023年蜂巢科技最新面试题
⽣产者/消费者模式不是⾼性能的实现:涉及到同步锁。涉及到线程阻塞状态和可运⾏状态之间的切换。涉及到线程上下⽂的切换协成定义:协程,英⽂Coroutines,是⼀种⽐线程更加轻量级的存在。正如⼀个进程可以拥有多个线程⼀样,⼀个线 程也可以拥有多个协程。最重要的是,协程不是被操作系统内核所管理,⽽完全是由程序所控制(也就是在⽤户态执⾏),这样带来的好处就是性能得到了很⼤的提升,不会像线程切换那样消耗资源协成优点:协程的暂停完全由程序控制,线程的阻塞状态是由操作系统内核来进⾏切换。原创 2023-02-28 06:00:00 · 770 阅读 · 0 评论 -
事务与柔性事务
如何保证事务一致性的问题,目前并没有完美的解决方案:CAP理论BASE理论传统分布式事务机制:柔性事务如何解决分布式事务问题:原创 2023-02-27 06:00:00 · 157 阅读 · 0 评论 -
2023年最新大厂开发面试题(滴滴,华为,京东,腾讯,头条)
B+树、B-树的区别?数据库隔离级别,幻读和不可重复读的区别?有 hell, well, hello, world 等字符串组,现在问能否拼接成 helloworld,代码实现。快排算法实现线程安全的单例模式匹马赛跑,有一个赛场,只有五个赛道,没有计时器,只能通过目测来记录快慢,求出第三 3 快的马要多少场比赛?kmp 算法 next 数组的求解思路数组中有三个数字出现超过 3/4,求这三个数字?1 到 n+2 个数组中缺了两个数,如何用 O(n)时间,O(1)空间找到这两个数字。一条线段长为 1,随机选两原创 2023-02-26 06:00:00 · 1246 阅读 · 0 评论 -
2023年Java最新京东面试题及答案整理
利用可达性分析算法,虚拟机会将一些对象定义为 GC Roots,从 GC Roots 出发沿着引用链向下寻找,如果某个对象不能通过 GC Roots 寻找到,虚拟机就认为该对象可以被回收掉。原创 2023-02-25 09:27:50 · 783 阅读 · 0 评论 -
@Aspect注解
*** 注解和@Aspect注解之间的联合使用*/@Target({ElementType.METHOD}) // 在方法上加@Retention(RetentionPolicy.RUNTIME) // 运行时System.out.println("执行注解注释的方法后执行此方法");这样就可以实现切面了。原创 2023-02-23 08:19:34 · 1002 阅读 · 0 评论 -
抽象类和接口
接口的设计目的,是对类的行为进行约束(更准确的说是一种“有”约束,因为接口不能规定类不可以有什么行为),也就是提供一种机制,可以强制要求不同的类具有相同的行为。接口可以看成抽象类的变体,所有方法都是抽象的,因此接口只能做方法的声明,不能有方法的实现;接口实现类必须实现接口中的所有声明的方法,但抽象类的子类可以部分实现父类的抽象方法,但如果子类不能全部实现抽象方法,那么该子类只能是抽象类;接口是抽象方法的集合,声明了一系列的方法操作,如果一个类实现了某个接口,那么它必须实现这个接口的所有抽象方法。原创 2023-02-21 07:41:55 · 442 阅读 · 0 评论 -
EasyExcel基本操作看这一篇文章就够了
123EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excelgithub地址:https://github.com/alibaba/easyexcel当前案例采用easyexcel版本 2.2.3。原创 2023-02-13 06:00:00 · 1783 阅读 · 0 评论 -
JDK8新特性看这一篇文章就够了
1234567891011我们在说方法引用前,先说一下Lambda表达式的组成或者左侧的括号: 函数式接口里面定义的抽象方法的形参列表箭头: Lambda表达式的操作符,看见这个箭头,就可以认为他是一个Lambda表达式右侧Lambda体: 函数式接口中,我们实现了函数式接口抽象方法的方法体对于右侧的Lambda体,可以是一个自定义的表达式(比如上面的a+b)原创 2023-02-12 06:00:00 · 309 阅读 · 0 评论 -
JDBC操作数据库看这一篇文章就够了
1231、JDBC (Java DataBase Connectivity) 是一组用于操作数据库的Java API2、JDBC 由一组Java类和接口组成3、可以为多种关系型数据库提供统一访问什么是事务?1事务是逻辑上的一组操作,这组操作要么全部成功,有一个失败就全部失败事务的特性?12341. 原子性2. 一致性3. 隔离性4. 永久性事务的隔离级别?1234。原创 2023-02-11 06:00:00 · 223 阅读 · 0 评论 -
JavaWeb入门看这一篇文章就够了
1web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构1使用Java技术实现上面的功能,即使用Java技术实现网络的互联互通1。原创 2023-02-09 06:00:00 · 7456 阅读 · 0 评论 -
MySQL服务器安装(Linux)
1MySQL集群的管理客户端,用户对MySQL集群的配置和管理下载地址1。原创 2023-02-08 06:00:00 · 792 阅读 · 1 评论 -
MySQL数据库入门看这一篇文章就够了
注意:Orders_ibfk_1 是我们添加外键的时候由于我们没有指定外键名称,数据库就会默认生成一个外键名称,可以通过SHOW CREATE TABLE [表名称]\G 命令查看生成的外键的名称,然后在使用上面的命令进行删除Orders表的外键操作。用户通过数据库管理系统访问数据库中的数据。数据库(DataBase,DB):是以一定方式储存在一起、能与多个用户共享、与应用程序彼此独立的数据集合,可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。原创 2023-02-02 06:00:00 · 475 阅读 · 0 评论 -
Kaptcha验证码技术看这一篇文章就够了
- 文字渲染器,默认值priv.kerlomz.kaptcha.text.impl.DefaultWordRenderer -->-- 文本实现类,默认值priv.kerlomz.kaptcha.impl.DefaultTextCreator -->-- 背景实现类,默认值priv.kerlomz.kaptcha.impl.DefaultBackground -->-- 图片实现类,默认值priv.kerlomz.kaptcha.impl.DefaultKaptcha -->原创 2023-02-06 06:00:00 · 955 阅读 · 0 评论 -
Atlas中间件快速入门(实现数据库读写分离)
12341. Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目2. 它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性3. 目前该项目在360公司内部得到了广泛应用,很多MySQL业务已经接入了Atlas平台,每天承载的读写请求数达几十亿条4. 有超过50家公司在生产环境中部署了Atlas,超过800人已加入了我们的开发者交流群,并且这些数字还在不断增加主要功能。原创 2023-02-03 05:00:00 · 1076 阅读 · 1 评论 -
MyBatis-Plus看这一篇文章就够了
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。原创 2023-02-01 06:00:00 · 212 阅读 · 0 评论 -
maven看这一篇文章就够了
1maven是一个采用纯Java编写的开源项目管理工具。采用了一种被称之为POM(project object model)概念来管理项目,所有的项目配置信息都被定义在一个叫做pom.xml的文件中,通过该文件,maven可以管理项目的整个生命周期,包括编译,测试,打包,发布,运行等等。目前Apache下绝大多数项目都已经采用maven进行管理。而maven本身还支持多种插件,可以方便,灵活的控制项目。一句话:maven是一个项目管理和构建工具,主要对项目做编译,测试,打包,发布,运行等操作。原创 2023-01-30 08:30:31 · 327 阅读 · 0 评论 -
RabbitMQ看这一篇文章就够了
12341. 消息队列(Message Queue),又叫做消息中间件2. 用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成3. 通过提供消息传递和消息队列模型,可以在分布式环境下扩展进程的通信4. MQ 是用来解决通信的问题,主要用来帮我们存储和转发消息官网地址11234官网介绍: RabbitMQ is the most widely deployed open source message broker。原创 2023-01-31 06:00:00 · 2351 阅读 · 0 评论 -
Shiro学习看这一篇文章就够了
1 官网地址: http://shiro.apache.org/ 第2节 整体功能图 1234 身份验证就是我们通常说的登录,一般使用用户名/密码这样的常见组合,我们shiro中使用:1. principals [ˈprɪnsəpəlz](用户名):身份,可以是任何东西,如用户名,邮箱等唯一即可。2. credentials [krəˈdenʃlz]:证明 / 凭证,即只有主体知道的安全值,如密码 / 数字原创 2023-01-19 06:00:00 · 1387 阅读 · 0 评论 -
redis学习看这一篇文章就够了
1.1 NoSQL简介NoSQL,泛指非关系型的数据库,NoSQL即Not-Only SQL,它可以作为关系型数据库的良好补充。随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速。1.2 NoSQL类别键值(Key-Value)存储数据库12345相关产品: Tokyo Cabinet/Tyrant、Redis、Voldemort、Berkeley DB典型应用: 内容缓存,主要用于处理大量数据的高访问负载。原创 2023-01-24 06:00:00 · 1310 阅读 · 0 评论 -
ES学习看这一篇文章就够了
12341、Elasticsearch是一个基于Lucene的搜索服务器2、提供了一个分布式的全文搜索引擎,基于restful web接口3、Elasticsearch是用Java语言开发的,基于Apache协议的开源项目,是目前最受欢迎的企业搜索引擎4、Elasticsearch广泛运用于云计算中,能够达到实时搜索,具有稳定,可靠,快速的特点1.1 分词器的作用1将原始内容进行拆分,将一段话拆分成单词或者一个一个的字,或者语义单元1.2 常见分词器standars。原创 2023-01-23 06:00:00 · 15249 阅读 · 1 评论 -
SpringBoot看这一篇文章就够了
121.SpringBoot是一个可以快速创建可运行的、独立的、生产级的基于Spring的应用程序2.SpringBoot采用一种约定优于配置的设计理念,可以快速让用户创建出一个可运行的基于Spring的应用@Value(“${名称}”) 获取单个属性12345678910111213141516171819202122231. 在application.properties自定义配置文件# 自定义配置name=Tomage=18。原创 2023-01-21 06:00:00 · 1573 阅读 · 0 评论 -
Spring看这一篇文章就够了
Spring官网地址1Spring的介绍1Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。1Spring框架由约20个模块组成,这些模块分为核心容器,数据库操作,web,AOP,设置,消息处理,测试等。原创 2023-01-20 06:00:00 · 1530 阅读 · 0 评论 -
SpringMVC看这一篇文章就够了
Spring框架版本 4.3.29.RELEASESpringMVC是什么1234561. Spring家族的一个部分2. 是JavaWeb三层架构中控制器层的解决方案3. 是基于MVC思想的框架-- Model-- ViewSpringMVC知识点大纲SpringMVC功能简述123456789101. 作为spring框架的一部分天生与spring框架集成2. 支持restful风格3. 灵活的请求URL/控制器/页面的映射。原创 2023-01-18 06:00:00 · 357 阅读 · 0 评论 -
Dubbo快速入门看这一篇文章就够了
12RPC是远程过程调用(Remote Procedure Call)的缩写形式,他不是具体的通信协议,可以把它看成是一种通信模型或者通信设计思想.RPC: 远程过程调用.他可以让我们调用远程方法和调用本地方法一样简单.将远程方法调用转换成本地方法调用的形式.Dubbo框架就是一个很好RPC的具体实现.内部的调用逻辑由框架来完成,程序员只需要关注使用方式即可.原创 2023-01-16 06:00:00 · 1029 阅读 · 0 评论 -
java 数组看这一篇文章就够了
数组介绍12341. 数组是多个相同类型数据的组合2. 数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型3. 数组属引用类型,数组中的每个元素相当于该对象的成员变量4. 数组中的数据是有序的,可以通过序号(索引或者下标)获取,索引从0开始数组分类1234一维数组二维数组...多维数组。原创 2023-01-13 06:00:00 · 283 阅读 · 0 评论 -
java 数组看这一篇文章就够了
数组介绍12341. 数组是多个相同类型数据的组合2. 数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型3. 数组属引用类型,数组中的每个元素相当于该对象的成员变量4. 数组中的数据是有序的,可以通过序号(索引或者下标)获取,索引从0开始数组分类1234一维数组二维数组...多维数组。原创 2023-01-12 06:00:00 · 405 阅读 · 0 评论 -
java 方法看这一篇文章就够了
语法格式1234[权限修饰符][其它修饰符] 返回值类型 方法名称([参数列表]){//方法体return;中括号处的设置可以省略,返回值类型可以是基本数据类型也可以是引用数据类型,如果方法不存在返回值那么为void,方法名称自定义,但是需要遵循标识符的命名规范,不能省略.参数列表可以有多个,也可以为0个,无限制.return关键字给方法提供返回值,如果方法没有返回值return可以省略也可以不省略,如果方法有返回值,那么return一定不能省略,并且要返回方法返回值类型相同的值.原创 2023-01-11 06:00:00 · 389 阅读 · 0 评论 -
面向对象编程看这一篇文章就够了
当前多态是有前提条件的.4. 抽象类不能被实例化.抽象类是用来被继承的,抽象类的子类必须重写父类的抽象方法,并提供方法体.若没有重写全部的抽象方法,仍为抽象类.在子类中可以根据需要对从父类中继承来的方法进行改造,也称方法的重写或者叫覆盖.在程序执行时,子类的方法将覆盖父类的方法.* 如果一定要调用子类中新增的属性或者方法,那么可以使用向上转型的方式进行造型.因为父类引用指向的是子类对象,也。匿名内部类,顾名思义就是没有名字的内部类,咱们上面的内部类不管在类中的什么位置都有名字,匿名内部类却没有名字.原创 2023-01-07 07:00:00 · 669 阅读 · 0 评论 -
反射看这一篇文章就够了
Java的反射机制是指在运行状态中,对于任意一个类都能够知道这个类所有的属性和方法,并且对于任意一个对象,都能够调用它的任意一个方法,这种动态获取信息以及动态调用对象方法的功能称为Java的反射机制.原创 2023-01-06 07:00:00 · 281 阅读 · 0 评论 -
网络编程看这一篇文章就够了
网络编程概述123Java语言提供了网络的支持,程序员能够很容易的开发常见的网络应用.Java提供的类库,可以实现无痛的网络连接,联网的底层细节被隐藏在安装Java本机系统里.由JVM进行控制.并且Java实现了一个跨平台的网络库.网络编程的目的1直接或间接地通过网络协议与其它计算机进行通讯,实现资源的共享网络编程中面临的主要问题121. 如何准确地定位网络上一台或多台主机2. 找到主机后如何可靠高效地进行数据传输12345。原创 2023-01-04 08:22:29 · 288 阅读 · 0 评论 -
多线程看这一篇文章就够了
1231. 什么是程序?2. 什么是进程?3. 什么是线程?程序1是为完成特定任务、用某种语言编写的一组指令的集合(一段静态的代码)进程1是程序的一次执行过程,或是正在运行的一个程序线程123进程可进一步细化为线程,是一个程序内部的一条执行路径若一个程序可同一时间执行多个线程,我们称之为多线程.多线程的使用12345我们在什么情况下使用多线程呢?1. 程序需要同时执行多个任务的时候(2个或2个以上)原创 2023-01-05 07:30:00 · 287 阅读 · 0 评论 -
zookeeper看这一篇就够了
12341. zookeeper最早起源于雅虎研究院的一个研究小组2. 在雅虎内部很多大型系统基本都需要依赖一个类似的系统来进行分布式协调,并且这个系统还有单点问题3. 雅虎的开发人员就试图开发一个通用的无单点问题的分布式协调框架,以便让开发人员将精力集中在处理业务逻辑上,这是最早zookeeper的原型4. 后来捐献给了apache成为了apache的顶级项目2.1 zk节点概念1。原创 2023-01-04 07:59:18 · 2410 阅读 · 0 评论 -
nginx看这一篇文章就够了
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的。其特点是占有内存少,并发能力强。中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等官网地址nginx news版本介绍Mainline version : 主线版本Stable version : 稳定版本Legacy versions : 历史版本。原创 2022-12-30 08:31:56 · 4010 阅读 · 0 评论 -
nacos看这一篇文章就够了
12345678Nacos主要帮助我们发现、注册、配置和管理微服务1. 注册中心功能(Dubbo或者SpringCloud介绍)2. 配置中心功能3. 服务管理功能(Dubbo或者SpringCloud介绍)官网地址: https://nacos.io/zh-cn/index.html123。原创 2022-12-29 08:15:47 · 4968 阅读 · 0 评论 -
数据库设计以及分布式事务的产生
随着互联网的发展,数据库访问量持续增加,从最开始的单点,到读写分离,也已经不能满足当前的系统要求,这时候可以将整合的系统进行差分,将数据库里面的表拆分到不同的数据库里,进一步降低单点的访问压力.虽然数据库的压力降低了但是又有新的问题产生了,那就是数据库事务问题,可能在一个业务需求里面要操作多个数据库,这时候多个数据库就不能保证事务的正确性,这时分布式事务产生.由图可以看出,服务造成的分布式事务和多数据源造成的分布式事务产生的原因是不一样的,可以有不同的解决方案.原创 2022-12-28 08:06:06 · 370 阅读 · 0 评论