
面试知识
文章平均质量分 94
csdn_life18
这个作者很懒,什么都没留下…
展开
-
MySQL数据库面试题(2020最新版)
结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询语言。作用:用于存取数据、查询、更新和管理关系数据库系统。MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。转载 2024-07-07 10:37:31 · 129 阅读 · 0 评论 -
MyBatis 中的缓存机制
MyBatis是常见的Java数据库访问层框架。在日常工作中,开发人员多数情况下是使用MyBatis的默认缓存配置,但是MyBatis缓存机制有一些不足之处,在使用中容易引起脏数据,形成一些潜在的隐患。个人在业务开发中也处理过一些由于MyBatis缓存引发的开发问题,带着个人的兴趣,希望从应用及源码的角度为读者梳理MyBatis缓存机制。本次分析中涉及到的代码和数据库表均放在GitHub上,地址:。转载 2024-06-22 01:24:16 · 124 阅读 · 0 评论 -
Java 浅拷贝和深拷贝
开发过程中,有时会遇到把现有的一个对象的所有成员属性拷贝给另一个对象的需求。比如说对象 A 和对象 B,二者都是 ClassC 的对象,具有成员变量 a 和 b,现在对对象 A 进行拷贝赋值给 B,也就是 B.a = A.a;B.b = A.b;这时再去改变 B 的属性 a 或者 b 时,可能会遇到问题:假设 a 是基础数据类型,b 是引用类型。当改变 B.a 的值时,没有问题;转载 2024-06-11 09:05:02 · 91 阅读 · 0 评论 -
Java虚拟机(JVM)面试题
CMS 是英文 Concurrent Mark-Sweep 的简称,是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器。对于要求服务器响应速度的应用上,这种垃圾回收器非常适合。在启动 JVM 的参数加上“-XX:+UseConcMarkSweepGC”来指定使用 CMS 垃圾回收器。转载 2024-06-10 10:44:47 · 91 阅读 · 0 评论 -
Java线程中wait、await、sleep、yield、join用法总结
一、wait()、notify()、notifyAll()用法obj.wait()/obj.wait(long timeout)是Object中的方法,当线程调用wait()方法,当前线程释放对象锁,进入等待队列。obj.notify()/obj.nogifyAll()是Object中的方法,唤醒在此对象上wait()的单个或者所有线程。测试代码:public class ThreadWaitNotify { public static void main(String[] args)转载 2024-06-07 10:45:17 · 585 阅读 · 0 评论 -
Java 中的 Thread.join() 方法详解
在多线程编程中,线程的管理和协调是一个重要课题。Java 提供了多种机制来实现线程之间的协调,其中之一就是方法。join()方法允许一个线程等待另一个线程完成,这在很多场景中是非常有用的。例如,当我们需要确保某个任务在继续之前必须先完成另一个任务时,join()方法就是一个很好的选择。原创 2024-06-07 10:41:24 · 2566 阅读 · 0 评论 -
面试官:你是如何调用 wait()方法的?使用 if 块还是循环?为什么?
wait();那么问题是为啥这里是 while 而不是 if 呢?这个问题我最开始也想了很久,按理来说已经在 synchronized 块里面了嘛,就不需要了。这个也是我前面一直是这么认为的,直到最近看了一个 Stackoverflow 上的问题才对这个问题有了比较深入的理解。试想我们要试想一个有界的队列。wait();转载 2024-06-04 08:49:50 · 142 阅读 · 0 评论 -
并发编程面试题
多线程:多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务。多线程的好处:可以提高 CPU 的利用率。在多线程程序中,一个线程必须等待的时候,CPU 可以运行其它的线程而不是等待,这样就大大提高了程序的效率。也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。线程也是程序,所以线程需要占用内存,线程越多占用内存也越多;多线程需要协调和管理,所以需要 CPU 时间跟踪线程;线程之间对共享资源的访问会相互影响,必须解决竞用共享资源的问题。进程。转载 2024-06-02 18:23:29 · 215 阅读 · 0 评论 -
Java集合容器面试题
https://thinkwon.blog.csdn.net/article/details/104588551转载 2024-06-02 10:23:24 · 70 阅读 · 0 评论 -
Java异常面试题
Java异常是Java提供的一种识别及响应错误的一致性机制。Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性。在有效使用异常的情况下,异常能清晰的回答what, where, why这3个问题:异常类型回答了“什么”被抛出,异常堆栈跟踪回答了“在哪”抛出,异常信息回答了“为什么”会抛出。转载 2024-06-02 09:30:48 · 68 阅读 · 0 评论 -
解读阿里巴巴Java手册:为什么HashMap初始化需要设定大小,HashMap初始化大小设定多少合适
在开始之前,先看下在官方文档中是如何介绍HashMap的:hash翻译过来就是:HashMap的实例有两个影响其性能的参数:初始容量和装载因子。容量是哈希表中的桶数,初始容量就是创建哈希表时的容量。负载因子是一种度量方法,用来衡量在自动增加哈希表的容量之前,哈希表允许达到的满度。当哈希表中的条目数超过负载因子和当前容量的乘积时,哈希表将被重新哈希(即重新构建内部数据结构),这样哈希表的桶数大约是原来的两倍。作为一般规则,默认的负载系数(.75)在时间和空间成本之间提供了一个很好的折衷。转载 2024-05-30 11:02:31 · 164 阅读 · 0 评论 -
hashmap为什么8转成红黑树_面试:HashMap 夺命二十一问!
important;而红黑树在插入新数据后可能需要通过左旋,右旋、变色这些操作来保持平衡,引入红黑树就是为了查找数据快,解决链表查询深度的问题,我们知道红黑树属于平衡二叉树,但是为了保持“平衡”是需要付出代价的,但是该代价所损耗的资源要比遍历线性链表要少,所以当长度大于8的时候,会使用红黑树,如果链表长度很短的话,根本不需要引入红黑树,引入反而会慢。JDK 1.7 中,采用分段锁的机制,实现并发的更新操作,底层采用数组+链表的存储结构,包括两个核心静态内部类 Segment 和 HashEntry。转载 2024-05-30 10:03:28 · 432 阅读 · 0 评论 -
一文彻底理解Java中IO的BIO、NIO、AIO
第一章 BIO、NIO、AIO课程介绍1.1 课程说明 在Java的软件设计开发中,通信架构是不可避免的,我们在进行不同系统或者不同进程之间的数据交互,或者在高并发下的通信场景下都需要用到网络通信相关的技术,对于一些经验丰富的程序员来说,Java早期的网络通信架构存在一些缺陷,其中最令人恼火的是基于性能低下的同步阻塞式的I/O通信(BIO),随着互联网开发下通信性能的高要求,Java在2002年开始支持了非阻塞式的I/O通信技术(NIO)。大多数读者在学习网络通信相关技术的时候,都只是接触到零碎的转载 2024-05-23 10:08:34 · 140 阅读 · 0 评论 -
JAVA BIO与NIO、AIO的区别(容易理解)
Java BIO 就是传统的 java io 编程,其相关的类和接口在BIO(blocking I/O) : 同步阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,可以通过线程池机制改善(实现多个客户连接服务器).1 每个Socket接收到,都会创建一个线程,线程的竞争、切换上下文影响性能;2 每个线程都会占用栈空间和CPU资源;3 并不是每个socket都进行IO操作,无意义的线程处理;转载 2024-05-20 18:24:43 · 81 阅读 · 0 评论 -
Java基础知识面试题
编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编程。Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。转载 2024-05-20 18:03:45 · 64 阅读 · 0 评论 -
Spring Cloud面试题(2020最新版)
Spring Cloud面试题(2020最新版)转载 2023-03-26 12:28:29 · 111 阅读 · 0 评论 -
Spring MVC面试题(2020最新版)
Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把模型-视图-控制器分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。Spring的MVC框架是围绕DispatcherServlet来设计的,它用来处理所有的HTTP请求和响应。控制器提供一个访问应用程序的行为,此行为通常通过服务接口实现。控制器解析用户输入并将其转换为一个由视图呈现给用户的模型。转载 2023-03-19 12:30:27 · 117 阅读 · 0 评论 -
Spring面试题
Spring是一个轻量级Java开发框架,最早有创建,目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。它是一个分层的JavaSE/JavaEE full-stack(一站式)轻量级开源框架,为开发Java应用程序提供全面的基础架构支持。Spring负责基础架构,因此Java开发者可以专注于应用程序的开发。Spring最根本的使命是解决企业级应用开发的复杂性,即简化Java开发。Spring可以做很多事情,它为企业级开发提供给了丰富的功能,但是这些功能的底层都依赖于它的两个核心特性,也就是。转载 2023-03-18 10:43:49 · 169 阅读 · 0 评论 -
Mybatis--二级缓存(namespace级别)& 序列化
Mybatis--二级缓存(namespace级别)& 序列化转载 2023-03-17 16:51:26 · 479 阅读 · 0 评论 -
MyBatis面试题(2020最新版)
MyBatis 是一款优秀的持久层框架,一个半 ORM(对象关系映射)框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。转载 2023-03-16 11:04:55 · 108 阅读 · 0 评论 -
Redis 6.0 新特性:带你 100% 掌握多线程模型
优化网络 I/O 模块提高机器内存读写的速度后者依赖于硬件的发展,暂时无解。零拷贝技术或者 DPDK 技术利用多核优势模型缺陷Redis 的多线程网络模型实际上并不是一个标准的 Multi-Reactors/Master-Workers 模型,Redis 的多线程方案中,I/O 线程任务仅仅是通过 socket 读取客户端请求命令并解析,却没有真正去执行命令。转载 2023-03-15 15:37:08 · 478 阅读 · 0 评论 -
如何保证Redis缓存和数据库一致性
这里可以结合使用canal(阿里的一款开源框架),通过该框架可以对MySQL的binlog进行订阅,而canal正是模仿了mysql的slave数据库的备份请求,使得Redis的数据更新达到了相同的效果。,或者是分布式队列按顺序去操作数据库或者 Redis,带来的副作用就是:数据库本来是并发的,现在变成串行的了,加锁或者排队执行的方案降低了系统性能,所以这个方案看起来不太可行。其实这种机制,很类似MySQL的主从备份机制,因为MySQL的主备也是通过binlog来实现的数据一致性。转载 2023-03-15 14:38:14 · 923 阅读 · 0 评论 -
Redis 6.0 新特性-多线程连环13问!
Redis 6.0 新特性-多线程连环13问!转载 2023-03-11 11:54:19 · 231 阅读 · 0 评论 -
Redis面试题(2020最新版)
Redis面试题(2020最新版)转载 2023-03-11 11:23:56 · 206 阅读 · 0 评论 -
4 年 Java 经验面试总结、心得体会
由于个人发展的原因和工作上的变动,产生了想出来看看机会的想法。经过了一段时间的准备,5 月下旬开始出来面试,面到了 7 月上旬,如愿拿到了自己心仪公司的 offer。按照自己的习惯,将这次面试过程中的一些经验总结、心得体会记录下来,自己留个记录,也希望可以帮助到一些同学。转载 2023-02-23 19:49:20 · 582 阅读 · 0 评论 -
一文读懂 Spring Boot、微服务架构和大数据治理三者之间的故事
文章目录微服务架构微服务架构和数据治理MongDB 和数据分析再来聊聊 Spring BootSpring Boot 和 微服务架构三者之间的纠葛微服务架构微服务的诞生并非偶然,它是在互联网高速发展,技术日新月异的变化以及传统架构无法适应快速变化等多重因素的推动下诞生的产物。互联网时代的产品通常有两类特点:需求变化快和用户群体庞大,在这种情况下,如何从系统架构的角度出发,构建灵活、易扩展的系统,快速应对需求的变化;同时,随着用户的增加,如何保证系统的可伸缩性、高可用性,成为系转载 2021-01-13 19:57:42 · 187 阅读 · 0 评论 -
Java集合容器面试题(2020最新版)
文章目录 集合容器概述什么是集合集合的特点集合和数组的区别使用集合框架的好处常用的集合类有哪些?List,Set,Map三者的区别?List、Set、Map 是否继承自 Collection 接口?List、Map、Set 三个接口存取元素时,各有什么特点?集合框架底层数据结构哪些集合类是线程安全的?Java集合的快速失败机制 “fail-fast”?怎么确保一个集合不能被修改?Collection接口List接口迭代器 Iterator 是什么?.转载 2021-01-03 00:16:00 · 1258 阅读 · 3 评论 -
网络编程面试题(2020最新版)
文章目录计算机网络体系结构在计算机网络的基本概念中,分层次的体系结构是最基本的。计算机网络体系结构的抽象概念较多,在学习时要多思考。这些概念对后面的学习很有帮助。网络协议是什么?在计算机网络要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则,比如交换数据的格式、是否需要发送一个应答信息。这些规则被称为网络协议。为什么要对网络协议分层?简化问题难度和复杂度。由于各层之间独立,我们可以分割大问题为小问题。 灵活性好。当其中一层的技术变化时,只要层间接口关系保持不变,其他层不.转载 2021-01-02 23:25:03 · 2176 阅读 · 0 评论 -
求职面试时的10大自杀式回答,软件测试应聘者千万别用!
很多时候不是你能力不行,而是一些下意识地回答让你减了分,甚至直接踩中面试官的雷区。为此, 10 个常见问题和 10 大「自杀式」回答,你一定要知道。面试问题1:请做一下自我介绍自杀式回答:「我叫小方,来自河北,应聘软件测试岗位…其他的简历上都有。」如果你只是介绍了自己的生辰八字,并且把简历上内容照着复述了一遍,那 HR 会在心里给你翻个大大的白眼。「当我瞎吗?这些简历上有我看不到?」回答小锦囊:自我介绍的时间通常控制在1~3 分钟之内,时间有限,说清楚 2 点即可:❶ 简单介绍自己的个人信转载 2020-11-06 12:46:09 · 382 阅读 · 1 评论 -
【精品问答】Java实战200例(附源码)
Java实战200例(附源码)1.编写一个Java程序,用if-else语句判断某年份是否为闰年2.编写一个Java程序在屏幕上输出1!+2!+3!+……+10!的和3.实现会员注册,要求用户名长度不小于3,密码长度不小于6,注册时两次输入密码必须相同4.景区根据游人的年龄收取不同价格的门票。请编写游人类,根据年龄段决定能够购买的门票价格并输出5.编写一个Java应用程...转载 2020-04-10 10:08:18 · 983 阅读 · 0 评论 -
面试 Java 高级后端开发,要准备哪些知识点?
由于我做了比较长时间的技术面试官,根据我的面试体会,不少同学收到面试后,什么准备也不会做,到时候就来了。这样做的后果是:不知彼,不知己,每战必殆。哪怕侥幸面试成,工资一定会被压得很低。其实公司肯花时间让你去面试,前提条件一定是通过你的简历,一定发现了你和公司的匹配点,也就是说,一定是有录用意向的。在技术面试的时间段里(最长1个小时),你如果能展现你的优势那是最好的,但如果你...转载 2020-04-08 12:01:54 · 295 阅读 · 0 评论 -
如何写一份优秀的java程序员简历
转载:https://www.cnblogs.com/lixuwu/p/8469037.html背景:进入第一家公司已经工作将近两年了,其中闲了一年,在准备自己的简历的时候,有种江郎才尽的感觉,不知道怎么写,看来平时还是要多积累多熟悉。ps:这里面的分享看完还是很受用的。简历看得比较认真的,也不会多于30秒,实在纠结的,也不会纠结多余1分钟。目前来说,大部分都是网站式的录入简历,基本...转载 2020-04-07 11:53:07 · 1612 阅读 · 0 评论 -
Spring的IoC原理
1. IoC理论的背景我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。图1:软件系统中耦合的对象如果我们打开机械式手表的后盖,就会看到与上面类似的情形,各个齿轮分别带动时针、分针和秒针顺时针旋转,从而在表盘上产生正确的时间。图1中描述的就是这样的一个齿轮组,它拥有多个独立的齿轮,这些齿轮相互啮合在...转载 2020-03-28 11:13:20 · 8997 阅读 · 3 评论 -
面试时前的项目准备与技术要求
一个月来,面了30个人。感受如下:1) 面试者应该能够描述出自己过去的项目[list][*]项目规模,开发,测试团队情况[*]开发模型和工作流程[*]项目的用途,产品有那些功能模块[*]项目中用到了哪些技术[/list]2) 应该准确描述自己在项目中承担的职责有一些面试者,回答问题的时候总是说,我们什么什么,我就非常想知道,你自己做了哪些事情呢。3) 对于技术的问题,我比...转载 2019-05-09 13:18:17 · 237 阅读 · 0 评论 -
关于面试的总结
1. 笔试 这家比较奇怪,是给了6页的笔试题,打开一看全是性格测试题。性格测试题只拍了一张图片,在该篇文章的结果。估计大多数童鞋都想遇到阳哥这样的狗屎运吧;P~阳哥的性格绝对没问题的,这个我可以保证哈~:P2. 技术面试 竟然同时来了两个技术官面我,一大一小,一高一矮,并排坐在一起,一对二,好吧,阳哥还是首次遇到1:2的阵容,这下可有好戏看了。PS:阳哥是个没有见过世...转载 2019-04-28 20:01:59 · 349 阅读 · 0 评论