自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 activemq面试题

1. activemq 的几种通信方式publish(发布)-subscribe(订阅)(发布-订阅方式)发布/订阅方式用于多接收客户端的方式.作为发布订阅的方式,可能存在多个接收客户端,并且接收端客户端与发送客户端存在时间上的依赖。一个接收端只能接收他创建以后发送客户端发送的信息。作为 subscriber ,在接收消息时有两种方法,destination 的 receive 方法,和实现 message listener 接口的onMessage 方法。p2p(point-to-point

2020-06-08 09:05:37 1469 1

原创 设计模式面试题

1. 请列举出在 JDK 中几个常用的设计模式?单例模式(Singleton pattern)用于 Runtime,Calendar 和其他的一些类中。工厂模式(Factory pattern)被用于各种不可变的类如 Boolean,像 Boolean.valueOf,观察者模式(Observer pattern)被用于 Swing 和很多的事件监听中。装饰器设计模式(Decorator design pattern)被用于多个 Java IO 类中。2. 什么是设计模式?你是否在你的代码里面

2020-06-08 08:47:33 294

原创 悲观锁与乐观锁

乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁( 共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。Java 中

2020-06-08 08:42:34 199

原创 Java 线程池相关问题

问 题 一 : Java 中 的 线 程 池 是 如 何 实 现 的 ? 在 Java 中 , 所 谓 的 线 程 池 中 的 “ 线 程 ” , 其 实 是 被 抽 象 为 了 一 个 静 态内 部 类 Worker, 它 基 于 AQS 实 现 , 存 放 在 线 程 池 的HashSet workers 成 员 变 量 中 ; 而 需 要 执 行 的 任 务 则 存 放 在 成 员 变 量 workQueue( BlockingQueue workQueue) 中 。这 样 ,

2020-06-05 09:34:07 177

原创 并发编程面试题二

**可重入锁 ReentrantLock 及其他显式锁相关问题问 题 一 : 跟 Synchronized 相 比 , 可 重 入 锁 ReentrantLock 其 实 现原 理 有 什 么 不 同 ?**其 实 , 锁 的 实 现 原 理 基 本 是 为 了 达 到 一 个 目 的 :让 所 有 的 线 程 都 能 看 到 某 种 标 记 。Synchronized 通 过 在 对 象 头 中 设 置 标 记 实 现 了 这 一 目 的 , 是 一 种 JVM原 生 的 锁 实 现 方 式

2020-06-05 09:28:51 144

原创 并发编程面试题一

Synchronized 相关问题问 题 一 : Synchronized 用 过 吗 , 其 原 理 是 什 么 ?这 是 一 道 Java 面 试 中 几 乎 百 分 百 会 问 到 的 问 题 , 因 为 没 有 任 何 写 过 并发 程 序 的 开 发 者 会 没 听 说 或 者 没 接 触 过 Synchronized。Synchronized 是 由 JVM 实 现 的 一 种 实 现 互 斥 同 步 的 一 种 方 式 , 如 果你 查 看 被 Synchronized 修 饰 过

2020-06-05 09:17:19 104

原创 spring常见面试题

BeanFactory 和 ApplicationContext 有什么区别BeanFactory 可以理解为含有 bean 集合的工厂类。BeanFactory 包含了种 bean 的定义,以便在接收到客户端请求时将对应的 bean 实例化。BeanFactory 还能在实例化对象的时生成协作类之间的关系。此举将 bean 自身与 bean 客户端的配置中解放出来。BeanFactory 还包含了 bean 生命周期的控制,调用客户端的初始化方法(initialization methods)和销毁

2020-06-04 09:40:26 92

原创 ZooKeeper面试题二

1.Zookeeper 队列管理(文件系统、通知机制)两种类型的队列:1、同步队列,当一个队列的成员都聚齐时,这个队列才可用,否则一直等待所有成员到达。2、队列按照 FIFO 方式进行入队和出队操作。第一类,在约定目录下创建临时目录节点,监听节点数目是否是我们要求的数目。第二类,和分布式锁服务中的控制时序场景基本原理一致,入列有编号,出列按编号。在特定的目录下创建PERSISTENT_SEQUENTIAL 节点,创建成功时 Watcher 通知等待的队列,队列删除 序列号最小的节点 用以消费。此场

2020-06-04 09:29:51 145

原创 ZooKeeper面试题一

1.ZooKeeper 是什么?ZooKeeper 是一个 分布式 的,开放源码的分布式 应用程序协调服务 ,是 Google 的 Chubby 一个开源的实现,它是 集群的管理者 , 监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作 。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。客户端的 读请求 可以被集群中的 任意一台机器处理 ,如果读请求在节点上注册了监听器,这个监听器也是由所连接的 zookeeper 机器来处理。对于 写请求 ,这些请求会同 时发给其他 zooke

2020-06-04 09:16:46 276

原创 线程面试题

1)现在有 T1、T2、T3 三个线程,你怎样保证 T2 在 T1 执行完后执行,T3 在 T2 执行完后执行?这个线程问题通常会在第一轮或电话面试阶段被问到,目的是检测你对”join”方法是否熟悉。这个多线程问题比较简单,可以用 join 方法实现。2)在 Java 中 Lock 接口比 synchronized 块的优势是什么?你需要实现一个高效的缓存,它允许多个用户读,但只允许一个用户写,以此来保持它的完整性,你会怎样去实现它?lock 接口在多线程和并发编程中最大的优势是它们为读和写分别提供了

2020-06-03 10:14:47 210

原创 Tomcat面试题二

1. 添加 JMS 远程监控对于部署在局域网内其它机器上的 Tomcat,可以打开 JMX 监控端口,局域网其它机器就可以通过这个端口查看一些常用的参数(但一些比较复杂的功能不支持),同样是在 JVM 启动参数中配置即可,配置如下:-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false-Djava.rmi.server.hostname=192.168.71.38 设置

2020-06-03 09:20:32 226

原创 Tomcat面试题一

1 、Tomcat 的缺省端口是多少,怎么修改?1)找到 Tomcat 目录下的 conf 文件夹2)进入 conf 文件夹里面找到 server.xml 文件3)打开 server.xml 文件4)在 server.xml 文件里面找到下列信息port="8080"改成你想要的端口2 、tomcat 有哪几种 Connector 运行模式( 优化) ?bio:传统的 Java I/O 操作,同步且阻塞 IO。maxThreads=”150”//Tomcat 使用线程来处理接收的每个

2020-06-03 09:17:11 317

原创 sql优化面试题二

1、Mysql 查询是否区分大小写?不区分SELECT VERSION(), CURRENT_DATE;SeLect version(), current_date;seleCt vErSiOn(), current_DATE;所有这些例子都是一样的,Mysql 不区分大小写。2.、LIKE 和 REGEXP 操作有什么区别?LIKE 和 REGEXP 运算符用于表示^和%。SELECT * FROM employee WHERE emp_name REGEXP “^b”;SELECT *

2020-06-02 09:48:14 171

原创 sql优化面试题一

1、一张表,里面有 ID 自增主键,当 insert 了 17 条记录之后,删除了第 15,16,17 条记录,再把 Mysql 重启,再 insert 一条记录,这条记录的 ID 是 18 还是 15 ?(1)如果表的类型是 MyISAM,那么是 18因为 MyISAM 表会把自增主键的最大 ID 记录到数据文件里,重启 MySQL 自增主键的最大ID 也不会丢失(2)如果表的类型是 InnoDB,那么是 15InnoDB 表只是把自增主键的最大 ID 记录到内存中,所以重启数据库或者是对表进行O

2020-06-02 09:40:17 1275 1

原创 redis面试题三

1、Redis 集群如何选择数据库?Redis 集群目前无法做数据库选择,默认在 0 数据库。2、Redis 中的管道有什么用?一次请求/响应服务器能实现处理新的请求即使旧的请求还未被响应,这样就可以将多个命令发送到服务器,而不用等待回复,最后在一个步骤中读取该答复。这就是管道(pipelining),是一种几十年来广泛使用的技术。例如许多 POP3 协议已经实现支持这个功能,大大加快了从服务器下载新邮件的过程。3、怎么理解 Redis 事务?事务是一个单独的隔离操作:事务中的所有命令都会序列化

2020-06-02 09:24:37 151

原创 redis面试题二

1、什么是 Redis?简述它的优缺点?Redis 的全称是:Remote Dictionary.Server,本质上是一个 Key-Value 类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据 flush 到硬盘上进行保存。因为是纯内存操作,Redis 的性能非常出色,每秒可以处理超过 10 万次读写操作,是已知性能最快的Key-Value DB。Redis 的出色之处不仅仅是性能,Redis 最大的魅力是支持保存多种数据结构,此外单个 v

2020-06-01 23:12:12 175 1

原创 redis面试题一

redis 和 和 memcached 什么区别?为什么高并发下有时单线程的 redis 比多线程的memcached 效率要高?区别:1.mc 可缓存图片和视频。rd 支持除 k/v 更多的数据结构;2.rd 可以使用虚拟内存,rd 可持久化和 aof 灾难恢复,rd 通过主从支持数据备份;3.rd 可以做消息队列。原因:mc 多线程模型引入了缓存一致性和锁,加锁带来了性能损耗。redis 主从复制如何实现的?redis 的集群模式如何实现?redis 的 的 key 是如何寻址的

2020-06-01 23:06:14 108

原创 Nginx面试专题

1、请解释一下什么是 Nginx?Nginx 是一个 web 服务器和反向代理服务器,用于 HTTP、HTTPS、SMTP、POP3和 IMAP 协议。2 、请列举 x Nginx 的一些特性。Nginx 服务器的特性包括:反向代理/L7 负载均衡器嵌入式 Perl 解释器动态二进制升级可用于重新编写 URL,具有非常好的 PCRE 支持3 、请解释 Nginx 如何处理 HTTP 请求。Nginx 使用反应器模式。主事件循环等待操作系统发出准备事件的信号,这样数据就可以从套接字

2020-05-23 15:37:09 124

原创 Mysql面试题

1. 数据库三范式是什么?第一范式(1NF):字段具有原子性,不可再分。(所有关系型数据库系统都满足第一范式数据库表中的字段都是单一属性的,不可再分)第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。要求数据库表中的每个实例或行必须可以被惟一地区分。通常需要为表加上一个列,以存储各个实例的惟一标识。这个惟一属性列被称为主关键字或主键。满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库

2020-05-22 11:35:18 157

原创 Mybatis面试题

1、什么是 MyBatis?答:MyBatis 是一个可以自定义 SQL、存储过程和高级映射的持久层框架。2、讲下 MyBatis 的缓存答:MyBatis 的缓存分为一级缓存和二级缓存,一级缓存放在 session 里面,默认就有,二级缓存放在它的命名空间里,默认是不打开的,使用二级缓存属性类需要实现 Serializable 序列化接口(可用来保存对象的状态),可在它的映射文件中配置3、Mybatis 是如何进行分页的?分页插件的原理是什么?答:1)Mybatis 使用 RowBounds

2020-05-21 10:18:22 123

原创 MongoDB面试专题

1. 你说的 NoSQL 数据库是什么意思?NoSQL 与 RDBMS 直接有什么区别?为什么要使用和不使用NoSQL 数据库?说一说 NoSQL 数据库的几个优点?NoSQL 是非关系型数据库,NoSQL = Not Only SQL。关系型数据库采用的结构化的数据,NoSQL 采用的是键值对的方式存储数据。在处理非结构化/半结构化的大数据时;在水平方向上进行扩展时;随时应对动态增加的数据项时可以优先考虑使用 NoSQL 数据库。在考虑数据库的成熟度;支持;分析和商业智能;管理及专业性等问题时,

2020-05-20 10:28:34 157

原创 memcached面试专题

memcached 是怎么工作的?Memcached 的神奇来自两阶段哈希(two-stage hash)。Memcached 就像一个巨大的、存储了很多<key,value>对的哈希表。通过 key,可以存储或查询任意的数据。客户端可以把数据存储在多台 memcached 上。当查询数据时,客户端首先参考节点列表计算出 key 的哈希值(阶段一哈希),进而选中一个节点;客户端将请求发送给选中的节点,然后 memcached 节点通过一个内部的哈希算法(阶段二哈希),查找真正的数据(ite

2020-05-19 09:50:12 99

原创 Linux面试专题

1) Linux 中主要有哪几种内核锁?Linux 的同步机制从 2.0 到 2.6 以来不断发展完善。从最初的原子操作,到后来的信号量,从大内核锁到今天的自旋锁。这些同步机制的发展伴随 Linux 从单处理器到对称多处理器的过渡;伴随着从非抢占内核到抢占内核的过度。Linux 的锁机制越来越有效,也越来越复杂。Linux 的内核锁主要是自旋锁和信号量。自旋锁最多只能被一个可执行线程持有,如果一个执行线程试图请求一个已被争用(已经被持有)的自旋锁,那么这个线程就会一直进行忙循环——旋转——等待锁重新

2020-05-18 16:24:44 82

原创 Kafka面试专题

1.Kafka 的设计时什么样的呢?Kafka 将消息以 topic 为单位进行归纳 将向 Kafka topic 发布消息的程序成为 producers. 将预订 topics 并消费消息的程序成为 consumer. Kafka 以集群的方式运行,可以由一个或多个服务组成,每个服务叫做一个 broker. producers 通过网络将消息发送到 Kafka 集群,集群向消费者提供消息2.数据传输的事物定义有哪三种?数据传输的事务定义通常有以下三种级别: (1)最多一次: 消息不会被重复发送,最多

2020-05-16 15:40:37 117

原创 JVM面试专题

1. 内存模型以及分区,需要详细到每个区放什么。JVM 分为堆区和栈区,还有方法区,初始化的对象放在堆里面,引用放在栈里面, class 类信息常量池(static 常量和 static 变量)等放在方法区 new:  方法区:主要是存储类信息,常量池(static 常量和 static 变量),编译后的代码(字 节码)等数据  堆:初始化的对象,成员变量 (那种非 static 的变量),所有的对象实例和数组都要 在堆上分配  栈:栈的结构是栈帧组成的,调用一个方法就压入一帧,帧上面存储局部变量表

2020-05-15 10:49:31 72

原创 Dubbo面试专题

Dubbo 中 zookeeper 做注册中心,如果注册中心集群都挂掉,发布者和订阅者之间还能通信么? 可以通信的,启动 dubbo 时,消费者会从 zk 拉取注册的生产者的地址接口等数据,缓存在本地。每次调用时,按照本 地存储的地址进行调用;注册中心对等集群,任意一台宕机后,将会切换到另一台;注册中心全部宕机后,服务的提供者和消费者仍能通过本 地缓存通讯。服务提供者无状态,任一台 宕机后,不影响使用;服务提供者全部宕机,服务消费者会无法使用,并无 限次重连等待服务者恢复; 挂掉是不要紧的,但前提是你没.

2020-05-14 10:33:04 138

原创 ActiveMQ面试专题

1.什么是ActiveMQ?activeMQ是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件,为应用程序提供高效的、 可扩展的、稳定的和安全的企业级消息通信2. ActiveMQ服务器宕机怎么办?这得从ActiveMQ的储存机制说起。在通常的情况下,非持久化消息是存储在内存中的,持久化消息是存 储在文件中的,它们的最大限制在配置文件的节点中配置。但是,在非持久化消息堆积 到一定程度,内存告急的时候,ActiveMQ会将内存中的非持久化消息写入临时文件中,以腾出内存。虽 然都保存到了文

2020-05-13 16:20:37 66

原创 2020 年热门编程语言的发展方向

时间行至 2020 年,对于编程语言的未来发展,很多人会更多的期待。因此,我们向多位编程专家征询了他们对热门编程语言的看法。Python今年 Python 最大的新闻是,其创造者和“终身仁慈独裁者(BDFL)” Guido van Rossum 退休了,将 Python 交给了 Python 指导委员会(Python Steering Council )。到目前为止,权力转移还算顺利,正如《Python 编程从入门到实践》( Python Crash Course )的作者 Eric Matthes 所

2020-05-12 15:34:23 156

原创 Java中Comparable和Comparator的区别

之前面试中被问到这个问题,当时不屑(会)回答,下来特意查了查,整理如下。Java 中为我们提供了两种比较机制:Comparable 和 Comparator,二者都是用来实现对象的比较、排序。下面分别对Comparable 和 Comparator做具体介绍并总结。ComparableComparable可以认为是一个内比较器,实现了Comparable接口的类有一个特点,就是这些类是可以和自己比较的,至于具体和另一个实现了Comparable接口的类如何比较,则依赖compareTo方法的实现。

2020-05-09 15:57:51 224

原创 数据库的分库分表

1. 为什么要拆分数据库?单体项目在构建之初,数据库的负载和数据量都不大,所以不需要对数据库做拆分,小型财务系统、文书系统、ERP系统、OA系统,用一个MySQL数据库实例基本就够用了。就像《淘宝技术这十年》里面说到的,电商业务的数据量增长飞快,所以最开始的PHP+MySQL的架构已经不能满足实际要求了,于是淘宝想到的第一个办法就是把MySQL替换成Oracle。但是没过了多久,在08年前后,...

2020-05-08 16:16:59 137

原创 多线程通信方式

多线程通信方式①同步②while轮询的方式③wait/notify机制④管道通信一,介绍本文总结我对于JAVA多线程中线程之间的通信方式的理解,主要以代码结合文字的方式来讨论线程间的通信,故摘抄了书中的一些示例代码。二,线程间的通信方式①同步这里讲的同步是指多个线程通过synchronized关键字这种方式来实现线程间的通信。参考示例:public class MyObjec...

2020-05-07 17:25:15 312

原创 什么是 redis 的雪崩、穿透和击穿?redis 崩溃之后会怎么样?应该如何解决?

对于系统 A,假设每天高峰期每秒 5000 个请求,本来缓存在高峰期可以扛住每秒 4000 个请求,但是缓存机器意外发生了全盘宕机。缓存挂了,此时 1 秒 5000 个请求全部落数据库,数据库必然扛不住,它会报一下警,然后就挂了。此时,如果没有采用什么特别的方案来处理这个故障,DBA 很着急,重启数据库,但是数据库立马又被新的流量给打死了。这就是缓存雪崩。大约在 3 年前,国内比较知名的一个...

2020-05-06 10:40:38 349

原创 线程常见面试题

java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?答:有两种实现方法,分别是继承Thread类与实现Runnable接口用synchronized关键字修饰同步方法反对使用stop(),是因为它不安全。它会解除由线程获取的所有锁定,而且如果对象处于一种不连贯状态,那么其他线程能在那种状态下检查和修改它们。结果很难检查出真正的...

2020-04-30 22:25:02 80

原创 常见的人事面试题六

51、为什么我们要在众多的面试者中选择你?回答提示:根据我对贵公司的了解,以及我在这份工作上所累积的专业、经验及人脉,相信正是贵公司所找寻的人才。而我在工作态度、EQ上,也有圆融、成熟的一面,和主管、同事都能合作愉快。分析:别过度吹嘘自己的能力,或信口开河地乱开支票,例如一定会为该公司带来多少钱的业务等,这样很容易给人一种爱说大话、不切实际的感觉。52、这个职务的期许?回答提示:希望能借此...

2020-04-29 10:52:18 333

原创 常见的人事面试题五

41、如果我录用你,你将怎样开展工作?回答提示: ①如果应聘者对于应聘的职位缺乏足够的了解,最好不要直接说出自己开展工作的具体办法。②可以尝试采用迂回战术来回答,如“首先听取领导的指示和要求,然后就有关情况进行了解和熟悉,接下来制定一份近期的工作计划并报领导批准,最后根据计划开展工作。”。分析:这个问题的主要目的也是了解应聘者的工作能力和计划性、条理性,而且重点想要知道细节。如果向思路中所讲的...

2020-04-28 13:56:03 433 2

原创 常见的人事面试题四

31、你欣赏哪种性格的人?回答提示:诚实、不死板而且容易相处的人、有“实际行动”的人。32、你通常如何处理別人的批评?回答提示:①沈默是金,不必说什么,否则情况更糟,不过我会接受建设性的批评。②我会等大家冷靜下来再讨论。33、怎样对待自己的失敗?回答提示:我们大家生来都不是十全十美的,我相信我有第二个机会改正我的错误。34、什么会让你有成就感?回答提示:为贵公司竭力效劳,尽我所能,完...

2020-04-27 23:12:53 182

原创 常见的人事面试题三

21、最能概括你自己的三个词是什么?回答提示:我经常用的三个词是:适应能力强,有责任心和做事有始终,结合具体例子向主考官解释,22、你的业余爱好是什么?回答提示:找一些富于团体合作精神的,这里有一个真实的故事:有人被否决掉,因为他的爱好是深海潜水。主考官说:因为这是一项单人活动,我不敢肯定他能否适应团体工作。23、作为被面试者给我打一下分?回答提示:试着列出四个优点和一个非常非常非常小的...

2020-04-26 12:25:39 159

原创 常见的人事面试题二

11、如果你的工作出现失误,给本公司造成经济损失,你认为该怎么办?回答提示:①我本意是为公司努力工作,如果造成经济损失,我认为首要的问题是想方设法去弥补或挽回经济损失。如果我无能力负责,希望单位帮助解决。②分清责任,各负其责,如果是我的责任,我甘愿受罚;如果是一个我负责的团队中别人的失误,也不能幸灾乐祸,作为一个团队,需要互相提携共同完成工作,安慰同事并且帮助同事查找原因总结经验。③总结经验教...

2020-04-24 14:35:00 229

原创 常见的人事面试题一

1、请你自我介绍一下你自己?回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有。其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突出积极的个性和做事的能力,说得合情合理企业才会相信。企业很重视一个人的礼貌,求职者要尊重考官,在回...

2020-04-23 14:58:10 444

原创 微服务架构之「 调用链监控 」

「 调用链监控 」是在微服务兴起后才有的一种新流行的监控模式。因为在我们传统单体应用的项目中,不存在服务链/调用链的概念,所以也就根本没有调用链监控的需求了。当我们开始微服务架构之后,我们的很多服务变成分布式的了,并且我们对服务进行了拆分,拆分之后,用户的一个请求进来,会依次经过不同的服务节点进行处理,处理完成后再返回结果给用户。那么在整个处理的链条中,如果有任何一个节点出现了延迟或者问题,都有...

2020-04-22 15:11:35 257

空空如也

空空如也

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

TA关注的人

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