面试
文章平均质量分 82
青春季风暴
aiIT
展开
-
Java面试题2.0--redis
欢迎关注《Java面试题2.0》合集发布页,持续更新中!Redis支持的数据类型?String字符串:string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。string类型是Redis最基本的数据类型,一个键最大能存储512MB。Hash(哈希)Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。List(列表)Redis 列表...原创 2020-06-30 17:22:41 · 1231 阅读 · 0 评论 -
Java面试题2.0--elasticsearch
欢迎关注《Java面试题2.0》合集发布页,持续更新中!Elasticsearch是什么?Elasticsearch (ES)是一个基于Lucene构建的开源、分布式、RESTful 接口全文搜索引擎。Elasticsearch 还是一个分布式文档数据库,其中每个字段均是被索引的数据且可被搜索,它能够扩展至数以百计的服务器存储以及处理PB级的数据。它可以在很短的时间内在储、搜索和分析大量的数据。它通常作为具有复杂搜索场景情况下的核心发动机。Elasticsearch...原创 2020-06-30 17:13:24 · 846 阅读 · 0 评论 -
Java面试题2.0--solr
欢迎关注《Java面试题2.0》合集发布页,持续更新中!概念:Solr是目前非常受欢迎的基于Apache开源组织下Lucene开发的一个开源高性能的企业级搜索平台。Solr具有高度可靠性、可扩展性、可容错性的特点,提供了分布式索引、索引备份、查询负载均衡、自动故障转移和恢复,以及集中配置等功能。core想要在Solr中添加索引,你需要指定一个Core,即你需要把索引数据添加Solr中的Core术语指的是一个单一的索引数据,而索引又是由多个Docum...原创 2020-06-30 17:11:49 · 1173 阅读 · 0 评论 -
Java面试题2.0--zookeeper
欢迎关注《Java面试题2.0》合集发布页,持续更新中!Zookeeper是什么框架分布式开源框架,提供分布式协调服务,解决了分布式一致性问题。原本是Hadoop、HBase的一个重要组件。应用场景数据发布与订阅(配置中心)发布与订阅模型,即所谓的配置中心,顾名思义就是发布者将数据发布到ZK节点上,供订阅者动态获取数据,实现配置信息的集中式管理和动态更新。例如全局的配置信息,服务式服务框架的服务地址列表等就非常适合使用。负载均衡...原创 2020-06-30 17:10:11 · 684 阅读 · 0 评论 -
Java面试题2.0--dubbo
欢迎关注《Java面试题2.0》合集发布页,持续更新中!dubbo是什么dubbo是一个分布式框架,远程服务调用的分布式框架,其核心部分包含:集群容错:提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。自动发现:基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平...原创 2020-06-30 17:08:58 · 838 阅读 · 1 评论 -
Java面试题2.0--mybatis
欢迎关注《Java面试题2.0》合集发布页,持续更新中!#{}和${}的区别是什么?答:${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静态替换为com.mysql.jdbc.Driver。#{}是sql的参数占位符,Mybatis会将sql中的#{}替换为?号,在sql执行前会使用PreparedStatement的参数设置方法,按序给sql的?号占位符设置参数值,比如ps.setInt(0,...原创 2020-06-30 17:07:09 · 1386 阅读 · 0 评论 -
Java面试题2.0--数据库
欢迎关注《Java面试题2.0》合集发布页,持续更新中!varchar和char的使用场景用来存储字符varchar适用字符长度经常变的char适用字符长度固定的Varchar2和varchar有什么区别?Char的长度是固定的,而varchar2的长度是可以变化的,比如,存储字符串“abc”对于char(20),表示你存储的字符将占20个字节,包含17个空,而同样的varchar2(20)只占了3个字节,20只是最大值,当你存储的字符小于20时,按实际长度存储...原创 2020-06-17 14:57:56 · 1679 阅读 · 0 评论 -
Java面试题2.0--设计模式
欢迎关注《Java面试题2.0》合集发布页,持续更新中!设计模式有哪些类型?常用设计模式分别属于什么类型?总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。...原创 2020-06-17 14:56:34 · 717 阅读 · 0 评论 -
Java面试题2.0--spring事务
欢迎关注《Java面试题2.0》合集发布页,持续更新中!spring事务定义1.事务的定义:事务是指多个操作单元组成的合集,多个单元操作是整体不可分割的,要么都操作不成功,要么都成功。其必须遵循四个原则(ACID)。原子性(Atomicity):即事务是不可分割的最小工作单元,事务内的操作要么全做,要么全不做;一致性(Consistency):在事务执行前数据库的数据处于正确的状态,而事务执行完成后数据库的数据还是应该处于正确的状态,即数据完整性约束...原创 2020-06-17 14:54:09 · 1889 阅读 · 0 评论 -
Java面试题2.0--spring aop
欢迎关注《Java面试题2.0》合集发布页,持续更新中!Spring中AOP的应用场景、Aop原理、好处?答:面向切面编程;用来封装横切关注点,具体可以在下面的场景中使用:Authentication 权限、Caching 缓存、Context passing 内容传递、Error handling 错误处理Lazy loading懒加载、Debugging调试、logging, tracing, profiling and monitoring 记录跟踪优化...原创 2020-06-17 14:51:32 · 844 阅读 · 0 评论 -
Java面试题2.0--spring ioc
欢迎关注《Java面试题2.0》合集发布页,持续更新中!什么是IOC,什么又是DI,他们有什么区别?一、IOC介绍IOC是控制反转。创建对象实例的控制权从代码控制剥离到IOC容器控制(之前的写法,由程序代码直接操控使用new关键字),实际就是你在xml文件控制,控制权的转移是所谓反转,侧重于原理。二、DI介绍DI是依赖注入创建对象实例时,为这个对象注入属性值或其它对象实例,侧重于实现。三、区别1.它们是spring核心思想的...原创 2020-06-17 14:49:44 · 1634 阅读 · 0 评论 -
Java面试题2.0--jvm
欢迎关注《Java面试题2.0》合集发布页,持续更新中!程序计数器(Program Counter Register)程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。由于Java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,一个处理器都只会执行一条线程中的指令。因此,为了线程切换后能恢复到正确的执行位置,每条线程都有一个独立的程序计数器,各个线程之间计数器互不影响,独立存储。称之为“线程私有”的内存。程序计数器内存区域是虚拟...原创 2020-06-03 11:43:04 · 1186 阅读 · 0 评论 -
Java面试题2.0--多线程
什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。线程和进程有什么区别?线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任务。不同的进程使用不同的内存空间,而所有的线程共享一片相同的内存空间。创建线程有几种方式方式一,继承 Thread 类创建线程类。方式二,通过 Runnable 接口创建线程类。方式三,通过 C...原创 2020-05-18 15:55:24 · 2010 阅读 · 0 评论 -
Java面试题2.0--面向对象
面向对象的三个特征封装,继承,多态,抽象。什么是面向对象?面向对象程序设计是以建立模型体现出来的抽象思维过程和面向对象的方法。我们可以将某个事物抽象出来,赋予它自己的特征,并且可以针对这个事物进行相应的操作,以及规定与其他对象之间的关系。可以降低代码的耦合度,使程序更加灵活。多态的好处允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用)。即父类型的引用指向子类型的对象。主要有以下优点:可替换性:多态对已存...原创 2020-05-15 11:03:37 · 3214 阅读 · 1 评论 -
Java面试题2.0--集合
Java集合框架是什么?说出一些集合框架的优点?集合框架的部分优点如下:(1)使用核心集合类降低开发成本,而非实现我们自己的集合类。(2)随着使用经过严格测试的集合框架类,代码质量会得到提高。(3)通过使用JDK附带的集合类,可以降低代码维护成本。(4)复用性和可操作性。集合框架中的泛型有什么优点?泛型允许我们为集合提供一个可以容纳的对象类型,因此,如果你添加其它类型的任何元素,它会在编译时报错。这避免了在运行时出现ClassCastExceptio...原创 2020-05-12 17:22:28 · 1526 阅读 · 0 评论 -
Java面试题2.0--RocketMQ
RocketMQ概述RocketMQ 是一款分布式、队列模型的消息中间件,具有以下特点: 能够保证严格的消息顺序 提供丰富的消息拉取模式 高效的订阅者水平扩展能力 实时的消息订阅机制 亿级消息堆积能力RocketMQ包含的组件NameServer:单点,供Producer和Consumer获取Broker地址Producer:产生并发送消息Consumer:接受并消费消息Broker:消息暂存,消息转发Name ServerName Ser...原创 2020-05-12 10:27:25 · 2058 阅读 · 0 评论 -
2020最全最新java技术栈面试题系列全家桶(带答案)—2.0版
去年,我在博客更新了有关java技术栈的相关面试题,收到了很多朋友的支持与喜爱,所以近期利用空闲时间,在已有基础上,自己对相关知识进行了梳理与调整,补充了很多内容,尤其是在消息队列、搜索引擎、大数据等方面增加了很多实用的问题,近期会陆续把相关的文章发布出来。作为技术人员,每次在换工作的时候,最头疼的就是准备面试题。尤其是java相关的技术人员,因为java技术栈实在是太复杂,所以要准备的内容就会很多。从java基础到常用框架,从消息队列到搜索引擎,不管你工作中有没有使用过,面试都有可能涉及,而且很...原创 2020-05-11 16:40:32 · 7954 阅读 · 0 评论 -
Java面试题2.0--RabbitMQ
什么是RabbitMQ?它的特性是什么RabbitMQ 最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。具体特点包括:1、可靠性(Reliability)2、灵活的路由(Flexible Routing)在消息进入队列之前,通过 Exchange 来路由消息的。对于典型的路由功能,RabbitMQ 已经提供了一些内置的 Exchange 来实现。针对更复杂的路由功能,可以将多个 Exchange 绑定在一起,也通过插件机制实现自己的 ..原创 2020-05-11 16:24:15 · 1183 阅读 · 0 评论 -
2018 java面试题(三)
tomcat性能调优1、JVM参数调优:-Xms<size> 表示JVM初始化堆的大小,-Xmx<size>表示JVM堆的最大值。一般建议堆的最大值设置为可用内存的最大值的80%。2. 禁用DNS查询 :DNS查询需要占用网络,并且包括可能从很多很远的服务器或者不起作用的服务器上去获取对应的IP的过程,这样会消耗一定的时间。为了消除DNS查询对性能的影响我们可以关闭DNS查...原创 2018-05-31 01:36:50 · 1640 阅读 · 0 评论 -
Java面试题--spring mvc
什么是Spring MVC ?简单介绍下你对springMVC的理解?Spring MVC是一个基于MVC架构的用来简化web应用程序开发的应用开发框架,它是Spring的一个模块,无需中间整合层来整合 ,它和Struts2一样都属于表现层的框架。在web模型中,MVC是一种很流行的框架,通过把Model,View,Controller分离,把较为复杂的web应用分成逻辑清晰的几部分,简化开发...原创 2019-04-02 14:02:23 · 9841 阅读 · 1 评论 -
Java面试题--spring cloud
微服务的优缺点分别是什么?说下你在项目开发中碰到的坑优点每一个服务足够内聚,代码容易理解开发效率提高,一个服务只做一件事微服务能够被小团队单独开发微服务是松耦合的,是有功能意义的服务可以用不同的语言开发,面向接口编程易于与第三方集成微服务只是业务逻辑的代码,不会和HTML,CSS或者其他界面组合开发中,两种开发模式前后端分离全栈工程师可以灵活搭配,连...原创 2019-04-02 14:05:12 · 10261 阅读 · 2 评论 -
Java面试题--spring boot
什么是springboot用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件)创建独立的spring引用程序 main方法运行嵌入的Tomcat 无需部署war文件简化maven配置自动配置spring添加对应功能starter自动化配置答:spring boot来简化spring应用开发,约定大于配置,去繁从简,ju...原创 2019-04-02 14:11:25 · 12186 阅读 · 1 评论 -
Java面试题--spring
介绍spring框架 它是一个一站式(full-stack全栈式)框架,提供了从表现层-springMVC到业务层-spring再到持久层-springdata的一套完整的解决方案。我们在项目中可以只使用spring一个框架,它就可以提供表现层的mvc框架,持久层的Dao框架。它的两大核心IoC和AOP更是为我们程序解耦和代码简洁易维护提供了支持。Spring Framework...原创 2019-04-02 14:15:51 · 14402 阅读 · 0 评论 -
Java面试题--shiro
Shiro可以做哪些工作?Shiro可以帮助我们完成:认证、授权、加密、会话管理、与Web集成、缓存等shiro有哪些组件?Authentication:身份认证/登录,验证用户是不是拥有相应的身份;Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用户是否能做事情,常见的如:验证某个用户是否拥有某个角色。或者细粒度的验证某个用户对某个...原创 2019-04-02 14:23:28 · 16187 阅读 · 0 评论 -
Java面试题--RocketMQ
Rabbit mqhttps://blog.csdn.net/u012562943/article/details/50349603Rocket mqhttps://www.jianshu.com/p/824066d70da8Active mqhttps://blog.csdn.net/liuyuanq123/article/details/79109218采...原创 2019-04-02 14:25:40 · 35625 阅读 · 4 评论 -
Java面试题--redis
Redis支持的数据类型?String字符串:格式: set key valuestring类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。string类型是Redis最基本的数据类型,一个键最大能存储512MB。Hash(哈希)格式: hmset namekey1 value1 key2 value2Redis...原创 2019-04-02 14:35:42 · 6362 阅读 · 1 评论 -
Java面试题--编程题
如果一串字符如"aaaabbc中国1512"要分别统计英文字符的数量,中文字符的数量,和数字字符的数量,假设字符中没有中文字符、英文字符、数字字符之外的其他特殊字符。int engishCount;int chineseCount;int digitCount;for(int i=0;i<str.length;i++){char ch = str.charAt...原创 2019-04-07 13:12:27 · 2950 阅读 · 0 评论 -
Java面试题--持续集成
Tomcattomcat 有哪几种Connector 运行模式(优化)?Bio/nio/apr概念bio(blocking I/O)nio(non-blocking I/O)apr(Apache Portable Runtime/Apache可移植运行库)相关解释:bio: 传统的Java I/O操作,同步且阻塞IO。nio: JDK1.4开始支持,同步阻塞或...原创 2019-04-07 12:46:19 · 2515 阅读 · 0 评论 -
Java面试题--大数据
Hadoop 组成1)Hadoop HDFS:一个高可靠、高吞吐量的分布式文件系统。2)Hadoop MapReduce:一个分布式的离线并行计算框架。3)Hadoop YARN:作业调度与集群资源管理的框架。4)Hadoop Common:支持其他模块的工具模块(Configuration、RPC、序列化机制、日志 操作)。MapReduce 定义Mapreduce...原创 2019-04-07 12:43:55 · 4205 阅读 · 0 评论 -
Java面试题--mybatis
#{}和${}的区别是什么?答:${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静态替换为com.mysql.jdbc.Driver。#{}是sql的参数占位符,Mybatis会将sql中的#{}替换为?号,在sql执行前会使用PreparedStatement的参数设置方法,按序给sql的?号占位符设置参数值...原创 2019-04-04 09:51:48 · 7386 阅读 · 0 评论 -
Java面试题--nginx
nginx负载均衡的算法怎么实现的nginx 的 upstream目前支持 4 种方式的分配1)、轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。2)、weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。2)、ip_hash 每个请求按访问ip...原创 2019-04-04 09:49:31 · 4051 阅读 · 0 评论 -
Java面试题--RabbitMQ
什么是RabbitMQ?它的特性是什么RabbitMQ 最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。具体特点包括:1、可靠性(Reliability)2、灵活的路由(Flexible Routing)在消息进入队列之前,通过 Exchange 来路由消息的。对于典型的路由功能,RabbitMQ 已经提供了一些内置的 Exchange...原创 2019-04-04 09:48:01 · 6915 阅读 · 0 评论 -
java面试题 多线程
3、Thread源代码分析特点(1)Thread类实现了Runnale接口,因为实现了其run方法(2)当生成一个线程对象的时候,如果没有为其设定名字,线程对象将使用如下形式:Thread-number(该number是自动增加的并共享于该类其它对象)(3)两种方法均需要执行start方法分配必须的系统资源,调度线程运行并执行run(4)在具体应用中,采用那种方式看情况而定,但当一个线程继承了另外...原创 2018-06-02 22:49:38 · 343 阅读 · 0 评论 -
2018面试题(一)
1、servlet执行流程客户端发出http请求,web服务器将请求转发到servlet容器,servlet容器解析url并根据web.xml找到相对应的servlet,并将request、response对象传递给找到的servlet,servlet根据request就可以知道是谁发出的请求,请求信息及其他信息,当servlet处理完业务逻辑后会将信息放入到response并响应到客户端。2、s...原创 2018-05-28 22:53:03 · 501 阅读 · 0 评论 -
2018 java面试题(二)
String能被继承吗?为什么?不可以,因为String类有final修饰符,而final修饰的类是不能被继承的,实现细节不允许改变。String, Stringbuffer, StringBuilder 的区别。 String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 S...原创 2018-05-30 00:38:41 · 1715 阅读 · 0 评论 -
2018 java面试题(四) spring、springMVC
14.springMVC的流程?答:1.用户发送请求至前端控制器DispatcherServlet2.DispatcherServlet收到请求调用HandlerMapping处理器映射器。3.处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。4.DispatcherServlet通过HandlerAdapter处...原创 2018-06-02 15:52:04 · 4039 阅读 · 0 评论 -
2108 java面试题 springmvc+mbatis
1、#{}和${}的区别是什么?注:这道题是面试官面试我同事的。答:${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静态替换为com.mysql.jdbc.Driver。#{}是sql的参数占位符,Mybatis会将sql中的#{}替换为?号,在sql执行前会使用PreparedStatement的参数设置方法,按序给s...原创 2018-06-02 16:21:57 · 385 阅读 · 0 评论 -
2019 java面试题基础
如有需要获取最新资料,以及更全面的PDF版面试题,请关注微信公众号“西柚向西”,回复“面试题”获取面试资料。回复“视频”获取最新最全的java技术栈开发视频。公众号会持续同步最新技术视频、面试题精选,以及职场经验、技能分享等,欢迎关注。 最新最全的面试集合,请参考《最全最新java面试题系列全家桶(带答案)》 更多精彩,持续更新中。。。。4、&a...原创 2018-06-03 00:14:00 · 63269 阅读 · 10 评论 -
java常见面试题 sql数据库
(一)什么是存储过程?有哪些优缺点?存储过程是一些预编译的SQL语句。更加直白的理解:存储过程可以说是一个记录集,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用他就行了。存储过程是一个预编译的代码块,执行效率比较高一个存储过程替代大量T_SQL语句 ,可以降低网络通信量,提高通...原创 2018-06-05 23:47:46 · 12169 阅读 · 2 评论 -
Java面试题--jvm
什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。JDK和JRE的区别是什么...原创 2019-04-04 09:54:07 · 5809 阅读 · 2 评论