面试题
文章平均质量分 76
熊猫-IT
V :it-xiongmao,源码获取,学习交流,技术支持!
展开
-
Java算法编程50题
利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润,求应发放奖金总数?在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。a的值,其中a是一个数字。原创 2023-01-12 00:01:13 · 345 阅读 · 0 评论 -
Java面试题-数据库
在应用程序中一个完整的逻辑,其中包含有多个小的单元,每个小的单元相当于数据库的crud的操作。事务要求这些小的单元要么同时执行,要么同时都不执行。并且事务的执行前后保持一致。原创 2022-12-29 23:14:38 · 769 阅读 · 0 评论 -
Java面试题-SSM框架
1)Mybatis是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时只需要关注 SQL语句本身,不需要花费精力去处理加载驱动.创建连接,创建 preparedstatement等繁杂的过程。程序员直接编写原生态 sql,可以严格控制 sql执行性能,灵活度高。2)MyBatis可以使用 XML或注解来配置和映射原生信息,将 POJO映射成数据库中的记录,避免了几乎所有的 JDBC代码和手动设置参数以及获取结果集。原创 2022-12-29 22:50:40 · 336 阅读 · 0 评论 -
Java面试题-前端ES6
ES6 全称 ECMAScript6.0,是JavaScript语言在2015发布的一个标准版本。ES6与前面的版本变化较大,且引入了较多新的语法,比如 有了块级作用域、新增变量声明语法、箭头函数、类的概念,模块等。原创 2022-12-27 11:55:36 · 665 阅读 · 0 评论 -
Java面试题-前端Vue
vue是一个mvvm框架,即数据双向绑定,即当数据发生变化的时候,视图也就发生变化,当视图发生变化的时候,数据也会跟着同步变化。这也算是vue的精髓之处了。原创 2022-12-26 23:38:10 · 414 阅读 · 0 评论 -
Java面试题-虚拟机篇
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。原创 2022-12-26 23:24:22 · 90 阅读 · 0 评论 -
Java面试题-框架篇
refresh 是 AbstractApplicationContext 中的一个方法,负责初始化 ApplicationContext 容器,容器必须调用 refresh 才能正常工作。它的内部主要会调用 12 个方法,我们把它们称为 refresh 的 12 个步骤:onRefresh。原创 2022-12-26 13:00:45 · 736 阅读 · 0 评论 -
Java面试题-基础篇
JAVA面试面试官经常问一些专业的知识,比如:面向对象的三大特性,Java集合框,Java中的IO流,Java的Socket通信(多线程),关系型数据库。原创 2022-12-26 12:49:50 · 151 阅读 · 0 评论 -
Java面试题-面试题并发篇
并发编程的掌握过程并不容易。我相信为了解决这个问题,你也听别人总结过并发编程的第一原则,那就是不要写并发程序。这个原则在我刚毕业的那几年曾经是行得通的,那个时候多核服务器还是一种奢侈品,系统的并发量也很低,借助数据库和类似Tomcat这种中间件,我们基本上不用写并发程序。或者说,并发问题基本上都被中间件和数据库解决了。原创 2022-12-26 12:42:22 · 225 阅读 · 0 评论 -
Java使用POI导入Excel文件
巩固下工作中使用的方法,进行记录下,使用 Apache POI导入Excel文件,导入的Excel的工具类以及一些业务代码。原创 2022-11-15 23:11:37 · 1661 阅读 · 0 评论 -
Java使用POI导出Excel文件
–创建方式 new HSSFWorkBook()|–相关方法HSSFSheet|–创建方式 -workbook.createSheet()|–相关方法//设置某一个下标的列宽//设置某一列的默认样式//设置所有列的列宽//设置某一列是否隐藏//设置行高60//设置行高30//合并HSSFRow创建方式相关方法在行里面创建列4.HSSFCell创建方式在行里面创建列相关方法|–cell_row01.setCellStyle(titleStyle) 设置样式。原创 2022-11-15 23:11:26 · 1042 阅读 · 0 评论 -
Java中关于String字符串五种常见的算法题目
换位字符串:指组成字符串的字符相同,但位置不同,如:“aaabbbccc”与“abcabcabc”原创 2022-11-15 23:09:57 · 878 阅读 · 0 评论 -
Java中浅拷贝和深拷贝
浅拷贝仅仅复制所考虑的对象,而不复制它所引用的对象。实现Cloneable重写clone注:此方法默认是浅克隆定义两个类Teacher和Student图解:分析: 两个student和cloneStudent指向不同的对象,但是两个引用student和copyStudent中的teacher引用指向的是同一个对象,所以说是浅拷贝。原创 2022-11-15 23:08:26 · 127 阅读 · 0 评论 -
第一章 Vue基础入门
Vue是一套用于构建用户界面的渐进式的js框架,发布于2014年2月。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库( 如: vue-router,vue-resource,vuex)或既有项目整合原创 2022-10-09 23:50:43 · 900 阅读 · 0 评论 -
Idea生成序列化id
1、首先类需要继承Serializable接口2、idea需要设置setting→inspections→serialization issues→serializable class without ‘serialVersionUID’ 选中确认。3、鼠标放在类上,art+enter就会弹出相关提示4、回车即可生成序列化Id...原创 2022-03-14 15:01:39 · 11598 阅读 · 1 评论 -
《我要进大厂系列 九》-谈谈Spring循环依赖
文章目录1.前言2.什么是循环依赖?3.两种Spring容器循环依赖3.1.构造器循环依赖(无法解决)3.2.setter循环依赖(可以解决)3.3.小结4.循环依赖检查5.循环依赖的处理5.1.单例setter循环依赖5.2.Spring解决循环依赖5.3. 循环依赖的本质5.4.what?问题的本质居然是two sum!5.5.单例构造器注入循环依赖5.6.原型模式循环依赖6.总结6.1.循环依赖的原因6.2.循环依赖的解决方案6.3.整个从创建bean到解决循环依赖的过程6.4.循环依赖建议1.前言原创 2021-07-09 15:24:22 · 258 阅读 · 0 评论 -
《我要进大厂系列 八》-谈谈你对Synchronized理解?
1.引言在并发编程中Synchronized一直都是元老级的角色,Jdk 1.6以前大家都称呼它为重量级锁,相对于J U C包提供的Lock,它会显得笨重,不过随着Jdk 1.6对Synchronized进行各种优化后,Synchronized性能已经非常快了。内容大纲2.Synchronized使用方式Synchronized是Java提供的同步关键字,在多线程场景下,对共享资源代码段进行读写操作(必须包含写操作,光读不会有线程安全问题,因为读操作天然具备线程安全特性),可能会出现线程安全问题,原创 2021-07-08 16:54:43 · 283 阅读 · 0 评论 -
Java虚引用又称幽灵引用
1.概念虚引用是使用PhantomReference创建的引用,虚引用也称为幽灵引用或者幻影引用,是所有引用类型中最弱的一个。一个对象是否有虚引用的存在,完全不会对其生命周期构成影响,也无法通过虚引用获得一个对象实例。2.说明虚引用,正如其名,对一个对象而言,这个引用形同虚设,有和没有一样。如果一个对象与GC Roots之间仅存在虚引用,则称这个对象为虚可达(phantom reachable)对象。当试图通过虚引用的get()方法取得强引用时,总是会返回null,并且,虚引用必须和引用队列一原创 2021-07-06 15:12:31 · 367 阅读 · 0 评论 -
RBAC权限系统分析、设计与实现
目前,使用最普遍的权限管理模型正是RBAC(Role-Based Access Control)模型,这篇文章也主要是介绍基于RBAC的权限管理系统,我会从RBAC是什么、如何设计RBAC两部分来介绍。1、RBAC模型概述RBAC模型(Role-Based Access Control:基于角色的访问控制)模型是20世纪90年代研究出来的一种新模型,但其实在20世纪70年代的多用户计算时期,这种思想就已经被提出来,直到20世纪90年代中后期,RBAC才在研究团体中得到一些重视,并先后提出了许多类型的RB原创 2021-07-06 14:18:27 · 598 阅读 · 0 评论 -
《我要进大厂系列 七》-谈谈你对强软弱虚四种引用理解?
文章目录1.引言2.强引用3.软引用4.弱引用5.虚引用1.引言其实强引用、软引用、弱引用、虚引用这四个概念非常简单好记。在开头先总结一下这四个引用的特点吧。强引用:gc时不会回收软引用:只有在内存不够用时,gc才会回收弱引用:只要gc就会回收虚引用:是否回收都找不到引用的对象,仅用于管理直接内存接下来详细看看这四种引用,结合代码,深刻的体会一下。2.强引用即我们平时最常见的:Object object = new Object();只要一个对象有强引用,垃圾回收器就不会进行回原创 2021-07-06 13:12:15 · 208 阅读 · 1 评论 -
ThreadLocal为什么要使用弱引用和内存泄露问题
在threadlocal的生命周期中,都存在这些引用. 看下图: 实线代表强引用,虚线代表弱引用.1.为什么要使用弱引用每个thread中都存在一个map, map的类型是ThreadLocal.ThreadLocalMap.Map中的key为一个threadlocal实例. 这个Map的确使用了弱引用,不过弱引用只是针对key.每个key都弱引用指向threadlocal.所以当把threadlocal实例置为null以后,没有任何强引用指向threadlocal实例,所以threadloca原创 2021-07-06 13:01:58 · 5593 阅读 · 8 评论 -
《我要进大厂系列 六》-谈谈你对ThreadLocal理解?
1.ThreadLocal初识ThreadLocal概念:线程局部变量。是一种多线程间并发访问某一个变量的解决方案。与Synchronized等加锁的方式有所不同,ThreadLocal完全不提供锁。而是使用以空间换时间的手段,为每个线程提供变量的独立副本,以保障线程的安全。从性能上来说,ThreadLocal不具有绝对的优势,在并发不是很高的情况下,加锁的性能会更好,但是作为一套与锁完全无关的线程安全解决方案,在高并发或者是竞争激烈的场景,使用ThreadLocal可以在一定的情况下减少锁竞争的问题。原创 2021-07-03 23:42:06 · 199 阅读 · 2 评论 -
Java 局部内部类访问局部变量为什么必须加final关键字
1.疑问在Java中,局部内部类如果调用了方法中的变量,那么该变量必须申明为final类型,如果不申明,则编译就会出错。这里的内部类指的是方法内部类或匿名内部类,不包含静态内部类和成员内部类这里通过一个例子类分析public class InnerClass { private int defaultAge = 5; 局部变量 age,必须添加final关键字,这里先不加 public void addAge( int age){ //局部内部类 class Ne原创 2021-07-02 15:14:48 · 3362 阅读 · 1 评论 -
《我要进大厂系列 五》-谈谈你常用的测试框架有哪些?
文章目录1.Junit的使用1.1.Junit 是什么1.2.Junit 能做什么1.3.Junit 的用法1.4 单元测试小结1.5 Unit4新断言-Hamcrest的常用方法1.5.1.字符相关匹配符1.5.2.一般匹配符1.5.3.数值相关匹配符1.5.4.集合相关匹配符1.6 Unit4新断言-Hamcrest的常用方法2.2. Stub(桩)的使用3.dbunit的使用4.EasyMock的使用 -测试业务逻辑层5.SpringTest使用1.Junit的使用1.1.Junit 是什么J原创 2021-07-01 12:40:58 · 319 阅读 · 1 评论 -
Elasticsearch概念
1.Elasticsearch集群搭建# 单播 -1 在每个es的配置文件中写入配置 cluster.name: my_es1 node.name: node1 network.host: 127.0.0.1 http.port: 9200 transport.tcp.port: 9300 discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300", "127.0.0.1:9302", "127.0.0.1原创 2021-06-30 14:13:31 · 222 阅读 · 0 评论 -
Elasticsearch集群“脑裂”现象
1.什么是Elasticsearch集群脑裂Elasticsearch集群由一个主节点(可以有多个备选主节点)和多个数据节点组成。其中主节点负责创建、删除索引、分配分片、追踪集群中的节点状态等工作,即调度节点,计算压力较轻;数据节点负责数据存储和具体操作,如执行搜索、聚合等任务,计算压力较大。正常情况下,当主节点无法工作时,会从备选主节点中选举一个出来变成新主节点,原主节点回归后变成备选主节点。但有时因为网络抖动等原因,主节点没能及时响应,集群误以为主节点下线了,选举了一个新主节点,此时一个Elast原创 2021-06-30 14:11:08 · 2011 阅读 · 1 评论 -
《我要进大厂系列 四》-谈谈你了解的日志框架
文章目录1.为什么需要日志框架2.常见日志框架2.1.日志框架介绍2.2.市面上的日志框架3.Slf4j使用3.1.如何在系统中使用SLF4j3.2.可能存在的问题4.SpringBoot日志的默认配置5.SpringBoot指定日志文件6.切换日志框架1.为什么需要日志框架通过日志的方式记录系统运行的过程或错误以便定位问题。2.常见日志框架2.1.日志框架介绍对于我们日常开发日志是经常使用的,当然以前的我们可能还傻傻的各种System.out.println("重要数据")在控制台输出各种重原创 2021-06-30 11:44:44 · 294 阅读 · 0 评论 -
《我要进大厂系列 三》-SpringBoot自动化配置原理
文章目录2.SpringBoot的入口3.SpringBootApplication背后的秘密4.@Configuration5.@ComponentScan扫描bean6.@EnableAutoConfiguration7.自动配置生效# 1.前言不论在工作中,亦或是求职面试,Spring Boot已经成为我们必知必会的技能项。除了某些老旧的政府项目或金融项目持有观望态度外,如今的各行各业都在飞速的拥抱这个已经不是很新的Spring启动框架。当然,作为Spring Boot的精髓,自动配置原理的原创 2021-06-30 11:36:51 · 201 阅读 · 0 评论 -
《我要进大厂系列 二》-说说你对CAS理解
文章目录1.场景引入,问题凸现2.更高效的方案:AtomicXXXX 原子类3.什么是CAS?4.CAS的缺点5.遗留的两个问题:6.ABA问题7.ABA问题解决8.小结1.场景引入,问题凸现示例程序:启动两个线程,每个线程中让静态变量count循环累加100次。最终输出的count结果是什么呢?一定会是200吗?加了同步锁之后,count自增的操作变成了原子性操作,所以最终的输出一定是count=200,代码实现了线程安全。Synchronized Lock悲观锁为什么这么说呢?关键原创 2021-06-30 11:30:12 · 298 阅读 · 0 评论 -
《我要进大厂系列 一》-说说你对volatile关键字理解
文章目录1.谈谈你对volatile关键字理解1.1.保证内存可见性2.可见性验证3.原子性验证4.原子性问题解决5.禁止指令重排序6.JMM谈谈你的理解6.1.基本概念6.2.JMM同步规定6.2.1.可见性6.2.2.原子性6.2.3.有序性1.谈谈你对volatile关键字理解volatile是Java提供的轻量级的同步机制,主要有三个特性:1.保证内存可见性2.不保证原子性3.禁止指令重排序1.1.保证内存可见性volatile是Java提供的轻量级的同步机制,保证了可见性,不保证原创 2021-06-28 17:36:46 · 374 阅读 · 0 评论 -
Spring cloud&Alibaba面试题
1.微服务个人理解微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分为一组小的服务,每个服务运行在其独立的自己的进程中,服务之间相互协调、互相配合,为用户提供最终价值。服务之间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API),每个服务都围绕着具体的业务进行构建,并且能够被独立的构建在生产环境、类生产环境等。另外,应避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建,可以有一个非常轻量级的集中式管理来协调这原创 2021-03-30 23:38:11 · 12334 阅读 · 0 评论 -
Volatile关键字
我们来看一个例子:package com.bruceliu.demo15;import java.util.concurrent.TimeUnit;/** * @BelongsProject: Thread0509 * @BelongsPackage: com.bruceliu.demo15 * @Author: bruceliu * @QQ:1241488705 * @CreateTime: 2020-05-13 23:16 * @Description: TODO */publ原创 2021-02-22 21:58:28 · 187 阅读 · 0 评论 -
JVM专题-JVM小结
1.JVM 基本机构1.1 类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中可能还会存放运行时常量池信息,包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)。1.2 java堆在虚拟机启动的时候建立,它是java程序最主要的内存工作区域。几乎所有的java对象实例都存放在java堆中。堆空间是所有线程共享的,这是一块与java应用密切相关的内存空间。1.3 每一个java虚拟机线程都有一个私有原创 2020-12-22 13:11:32 · 229 阅读 · 0 评论 -
JVM专题-图解篇
1.引言在很久很久以前,也就是1992年3月份,有一所NB轰轰的咖啡学校诞生了,它的名字叫JAVA,学校的校规极其的厉害,普通学生闻风丧胆,唯一尖子生般的人才能留下来,别猜了那人就是 “你”。2.本色出演名单姓名别名简称学校Java Virtual MachineJVM教室堆空间Heap老师垃圾回收器Minor GC / Major GC学生数据Object3.学校平面图俗名使用权限简称Eden教室新生Eden原创 2020-12-21 22:32:01 · 195 阅读 · 1 评论 -
Synchronized和ReentrantLock之多线程同步详解
文章目录1.线程同步问题的产生及解决方案2.synchronized关键字2.1.synchronized简介2.2.synchronized原理3.synchronized的使用场景4.解决线程同步的实例5.ReentrantLock锁5.1.Lock接口5.2.ReentrantLock的使用5.3.解决线程同步的实例6.重入锁7.公平锁8.synchronized和ReentrantLock的比较8.1.区别8.2.两者在锁的相关概念上区别:8.3.性能比较本篇文章总结关于多线程编程的一些知识点,这原创 2020-12-06 13:35:00 · 305 阅读 · 0 评论 -
面试专题-线程篇
1.什么是多线程,多线程的优劣?多线程:多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务。多线程的好处:可以提高 CPU 的利用率。在多线程程序中,一个线程必须等待的时候,CPU 可以运行其它的线程而不是等待,这样就大大提高了程序的效率。也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。多线程的劣势:线程也是程序,所以线程需要占用内存,线程越多占用内存也越多;多线程需要协调和管理,所以需要 CPU 时间跟踪线程;线程之间对共享资源的访问会相互影原创 2020-12-04 15:14:36 · 274 阅读 · 0 评论 -
面试专题-Spring篇
1.谈谈你对Spring框架的理解Spring是一个优秀的轻量级框架,大大的提高了项目的开发管理与维护。Spring有两个核心模块。一个是IOC,一个是AOP。IOC: 就是控制反转的意思,指的是我们将对象的控制权从应用代码本身转移到外部容器。通过IOC容器在程序运行期间基于JAVA反射机制动态的创建对象,配置对象,建立对象之间的依赖关系,管理对象的生命周期。而DI作为依赖注入,是实现IOC控制反转的一种手段。常见的依赖注入方式有:set方式注入和构造器方式注入。通过依赖注入在程序运行期间动态的注入依原创 2020-12-04 14:46:10 · 342 阅读 · 0 评论 -
面试专题-HashMap篇
1.说一下 HashMap 的实现原理?HashMap概述: HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。HashMap的数据结构: 在Java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。HashMap 基于原创 2020-12-04 14:22:43 · 280 阅读 · 0 评论 -
面试专题-Java集合
1.常用的集合类有哪些?Map接口和Collection接口是所有集合框架的父接口:Collection接口的子接口包括:Set接口和List接口Map接口的实现类主要有:HashMap、TreeMap、Hashtable、ConcurrentHashMap以及Properties等Set接口的实现类主要有:HashSet、TreeSet、LinkedHashSet等List接口的实现类主要有:ArrayList、LinkedList、Stack以及Vector等2.List,Set,Map三原创 2020-12-04 11:52:07 · 1650 阅读 · 0 评论 -
面试专题-Linux
1.说出10个linux常用的指令ls 查看目录中的文件cd /home 进入 '/ home' 目录;cd .. 返回上一级目录;cd ../.. 返回上两级目录mkdir dir1 创建一个叫做 'dir1' 的目录rmdir dir1 删除一个叫做 'dir1' 的目录 (只能删除空目录)rm -f file1 删除一个叫做 'file1' 的文件',-f 参数,忽略不存在的文件,从不给出提示。rm -rf /mulu 目录下面文件以及子目录下文件cp /test1/file1 /tes原创 2020-12-03 23:26:08 · 236 阅读 · 0 评论