
面试
文章平均质量分 89
JavaHxg
Java从业者
展开
-
ES面试总结
Elasticsearch 是什么说一下你对 Elasticsearch 的理解答题要点不要从网上拷贝那些答案,一句话就完事儿了。如果能提一提 ES 的历史,发展等,也能从侧面你的经验很丰富。在基本概念基础之上,可以从自己什么时候接触 ES、用了多少年,主要用来解决什么业务、遇到什么问题,你对 ES 应用场景、作用、相关常识等角度来聊,面试官感觉你对 ES 是有深刻认识的,就不会在同一个问题上继续问下去了。如果你说到了自己不熟悉的地方,及时打住即可。转载 2023-08-28 14:23:23 · 221 阅读 · 0 评论 -
Spring Cloud 面试突击2
高并发:是一种系统运行过程中遇到的短时间大量的请求操作响应时间:吞吐量:QPS:数据库为维度TPS并发用户数并发的维度:很多的并发是不是达到的当前系统的瓶颈缓存 (第一手段) 降级 限流 限制流量。原创 2023-08-13 08:27:20 · 474 阅读 · 0 评论 -
Spring Cloud面试突击班1
Spring Cloud 是一套基于Spring Boot的微服务解决方案。Spring Cloud生态在国内主流的分为两套,一套是以奈飞开源的Spring Cloud Netfilx 20%,一套是阿里巴巴开源的Spring Cloud Alibaba 40%,在国外其实Azure以及Amzong同时也有一些单独的组件特别火,比如Spring Cloud Getaway以及Spring Cloud Consul等等。原创 2023-08-12 15:07:46 · 484 阅读 · 0 评论 -
并发编程面试题2
AQS就是一个抽象队列同步器,abstract queued sychronizer,本质就是一个抽象类。AQS中有一个核心属性state,其次还有一个双向链表以及一个单项链表。首先state是基于volatile修饰,再基于CAS修改,同时可以保证三大特性。(原子,可见,有序)其次还提供了一个双向链表。有Node对象组成的双向链表。最后在Condition内部类中,还提供了一个由Node对象组成的单向链表。原创 2023-08-10 09:52:21 · 767 阅读 · 0 评论 -
并发编程面试题1
单例模式中的懒汉机制中,就存在一个这样的问题。懒汉为了保证线程安全,一般会采用DCL的方式。但是单单用DCL,依然会有几率出现问题。线程可能会拿到初始化一半的对象去操作,极有可能出现NullPointException。(初始化对象三部,开辟空间,初始化内部属性,指针指向引用)在Java编译.java为.class时,会基于JIT做优化,将指令的顺序做调整,从而提升执行效率。在CPU层面,也会对一些执行进行重新排序,从而提升执行效率。这种指令的调整,在一些特殊的操作上,会导致出现问题。原创 2023-08-10 09:45:18 · 614 阅读 · 0 评论 -
计算机组成和IO
【我讲了一个精讲IO课程,比较细节的io剖析】国内访问chatai就可以。原创 2023-08-07 09:54:50 · 343 阅读 · 0 评论 -
Netty面试题3
相比之下,HTTP/2.0采用的是多路复用机制,可以在一个连接上同时传输多个请求和响应,请求之间可以并发处理,从而提高了效率。如果一个应用场景中大多是简短的信息,适合用udp实现,因为udp是基于报文段的,它直接对上层应用的数据封装成报文段,然后丢在网络中,如果信息量太大,会在链路层中被分片,影响传输效率。如果一个应用场景重性能甚于重完整性和安全性,那么适合于udp,比如多媒体应用,缺一两帧不影响用户体验,但是需要流媒体到达的速度快,因此比较适合用udp。登陆之后,会有一个TCP连接来保持在线状态。原创 2023-08-07 09:33:04 · 210 阅读 · 0 评论 -
netty面试题2
RPC(Remote Procedure Call ——远程过程调用),它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络的技术。一次完整的RPC同步调用流程:1)服务消费方(client)以本地调用方式调用客户端存根;2)什么叫客户端存根?就是远程方法在本地的模拟对象,一样的也有方法名,也有方法参数,client stub接收到调用后负责将方法名、方法的参数等包装,并将包装后的信息通过网络发送到服务端;3)服务端收到消息后,交给代理存根在服务器的部分后进行解码为实际的方法名和参数。原创 2023-08-07 09:12:06 · 652 阅读 · 1 评论 -
Netty面试题1
四次挥手即终止TCP连接,就是指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。在socket编程中,这一过程由客户端或服务端任一方执行close来触发。由于TCP连接是全双工的,因此,每个方向都必须要单独进行关闭,这一原则是当甲方完成数据发送任务后,发送一个FIN给乙方来终止这一方向的连接,乙方收到一个FIN只是意味着不会再收到甲方数据了,但是乙方依然可以给甲方发送数据,直到这乙方也发送了FIN给甲方。首先进行关闭的一方将执行主动关闭,而另一方则执行被动关闭。见流程图。原创 2023-08-07 09:10:03 · 640 阅读 · 0 评论 -
MySQL面试1
内存缓冲区 CPU高速缓冲区缓存表数据与索引数据,把磁盘上的数据加载到缓冲池,避免每次访问都进行磁盘IO,起到加速访问的作用。原创 2023-08-07 08:58:50 · 375 阅读 · 0 评论 -
JVM面试突击班2
Stop-The-World 简称 STW该回收的对象没有被回收不该回收的对象被回收了在STW状态下,所有的线程都是停止运行的 - >垃圾回收线程除外当STW发生时,出了GC所需要的线程,其他的线程都将停止工作,中断了的线程知道GC线程结束才会继续任务STW是不可避免的,垃圾回收算法的执行一定会出现STW,而我们最好的解决办法就是减少停顿的时间GC各种算法的优化重点就是为了减少STW,这也是JVM调优的重点。当我们进行young gc时,我们的。原创 2023-08-03 14:11:14 · 880 阅读 · 0 评论 -
JVM面试突击1
*那一个线程执行的状态如何维护?[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wC4iBzmK-1691042931152)(file://E:\桌面\yzt\笔记课件\JVM\3天JVM训练营\资料+笔记\images\25.png?[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HUZgY6eZ-1691042931174)(file://E:\桌面\yzt\笔记课件\JVM\3天JVM训练营\资料+笔记\images\25.png?原创 2023-08-03 14:09:35 · 719 阅读 · 0 评论 -
Java基础面试题3
start方法是我们开启一个新的线程的方法,但是并不是直接开启,而是告诉CPU我已经准备好了,快点运行我,这是启动一个线程的唯一入口。void start() // 导致此线程开始执行;Java虚拟机调用此线程的run方法。生命周期:对象从创建到销毁的全过程线程的生命周期:线程对象(Thread)从开始到销毁的全过程创建 Thread对象就绪状态 执行start方法后线程进入可运行的状态运行状态 CPU运行阻塞状态 运行过程中被中断(等待阻塞,对象锁阻塞,其他阻塞)原创 2023-08-03 13:47:53 · 454 阅读 · 0 评论 -
Java基础面试题2
start方法是我们开启一个新的线程的方法,但是并不是直接开启,而是告诉CPU我已经准备好了,快点运行我,这是启动一个线程的唯一入口。void start() // 导致此线程开始执行;Java虚拟机调用此线程的run方法。生命周期:对象从创建到销毁的全过程线程的生命周期:线程对象(Thread)从开始到销毁的全过程创建 Thread对象就绪状态 执行start方法后线程进入可运行的状态运行状态 CPU运行阻塞状态 运行过程中被中断(等待阻塞,对象锁阻塞,其他阻塞)原创 2023-08-03 13:42:17 · 431 阅读 · 0 评论 -
Mysql面试突击班索引,事务与锁
索引使用原则(索引怎么使用才合理)我们容易有一个误区,就是在经常使用的查询条件上都建立索引,索引越多越好,那到底是不是这样呢?列的离散(sàn)度第一个叫做列的离散度,我们先来看一下列的离散度的公式:不同值得数量:总行数 越接近1 那么离散度越高,越接近0,离散度越低count(distinct(column_name)) : count(*),列的全部不同值和所有数据行的比例。数据行数相同的情况下,分子越大,列的离散度就越高。联合索引最左匹配。原创 2023-08-03 13:34:11 · 462 阅读 · 0 评论 -
Java基础面试题1
基本类型大小(字节)默认值封装类byte1(byte)0Byteshort2(short)0Shortint40Integerlong80lLongfloat40.0fFloatdouble80.0dDoublebooleanfalseBooleanchar2Characterboolean: int 4个字节int是基本数据类型,Integer是int的封装类,是引用类型。原创 2023-08-03 11:46:09 · 342 阅读 · 0 评论 -
Redis面试题-3
Spring 是一个开源的应用程序框架,它起源于 Rod Johnson 在其著名的 Spring Framework 专著中提出的一个轻量级框架的观念。自从 2003 年发布以来,Spring Framework 在 Java 开发社区中变得越来越流行,并成为了多个企业级应用开发的首选框架之一。原创 2023-08-03 11:33:25 · 107 阅读 · 0 评论 -
Spring源码面试题
Spring 是一个开源的应用程序框架,它起源于 Rod Johnson 在其著名的 Spring Framework 专著中提出的一个轻量级框架的观念。自从 2003 年发布以来,Spring Framework 在 Java 开发社区中变得越来越流行,并成为了多个企业级应用开发的首选框架之一。原创 2023-08-03 11:30:33 · 144 阅读 · 0 评论 -
Springboot源码面试题
HyperLogLog基于概率论中伯努利试验并结合了极大似然估算方法,并做了分桶优化。实际上目前还没有发现更好的在大数据场景中准确计算基数的高效算法,因此在不追求绝对准确的情况下,使用概率算法算是一个不错的解决方案。概率算法不直接存储数据集合本身,通过一定的概率统计方法预估值,这种方法可以大大节省内存,同时保证误差控制在一定范围内。目前用于基数计数的概率算法包括:举个例子来理解HyperLogLog算法,有一天李瑾老师和马老师玩打赌的游戏。原创 2023-08-03 11:17:47 · 142 阅读 · 0 评论 -
Redis面试题2
HyperLogLog基于概率论中伯努利试验并结合了极大似然估算方法,并做了分桶优化。实际上目前还没有发现更好的在大数据场景中准确计算基数的高效算法,因此在不追求绝对准确的情况下,使用概率算法算是一个不错的解决方案。概率算法不直接存储数据集合本身,通过一定的概率统计方法预估值,这种方法可以大大节省内存,同时保证误差控制在一定范围内。目前用于基数计数的概率算法包括:举个例子来理解HyperLogLog算法,有一天李瑾老师和马老师玩打赌的游戏。原创 2023-08-03 11:04:23 · 337 阅读 · 0 评论 -
MQ面试题3
零拷贝(英语: Zero-copy) 技术是指计算机执行操作时,CPU不需要先将数据从某处内存复制到另一个特定区域。这种技术通常用于通过网络传输文件时节省CPU周期和内存带宽。➢零拷贝技术可以减少数据拷贝和共享总线操作的次数,消除传输数据在存储器之间不必要的中间拷贝次数,从而有效地提高数据传输效率➢零拷贝技术减少了用户进程地址空间和内核地址空间之间因为上:下文切换而带来的开销可以看出没有说不需要拷贝,只是说减少冗余[不必要]的拷贝。原创 2023-08-01 15:34:59 · 521 阅读 · 0 评论 -
MySQL性能优化
索引下推是索引下推是 MySQL 5.6 及以上版本上推出的,用于对查询进行优化。索引下推是把本应该在 server 层进行筛选的条件,下推到存储引擎层来进行筛选判断,这样能有效减少回表。举例说明:这条语句从最左匹配原则上来说是不符合的,原因在于只有name用的索引,但是age并没有用到。比较二者的第二步我们发现,索引下推的方式极大的减少了回表次数。原创 2023-08-01 14:34:56 · 237 阅读 · 0 评论 -
redis面试1
Redis 中的事务是一组命令的集合,是 Redis 的最小执行单位。它可以保证一次执行多个命令,每个事务是一个单独的隔离操作,事务中的所有命令都会序列化、按顺序地执行。服务端在执行事务的过程中,不会被其他客户端发送来的命令请求打断。它的原理是先将属于一个事务的命令发送给 Redis,然后依次执行这些命令。Redis 事务的注意点有哪些?需要注意的点有:Redis 事务是不支持回滚的,不像 MySQL 的事务一样,要么都执行要么都不执行;原创 2023-07-25 16:51:07 · 861 阅读 · 0 评论 -
Java并发编程面试题
单例模式中的懒汉机制中,就存在一个这样的问题。懒汉为了保证线程安全,一般会采用DCL的方式。但是单单用DCL,依然会有几率出现问题。线程可能会拿到初始化一半的对象去操作,极有可能出现NullPointException。(初始化对象三部,开辟空间,初始化内部属性,指针指向引用)在Java编译.java为.class时,会基于JIT做优化,将指令的顺序做调整,从而提升执行效率。在CPU层面,也会对一些执行进行重新排序,从而提升执行效率。这种指令的调整,在一些特殊的操作上,会导致出现问题。原创 2023-07-25 16:42:32 · 790 阅读 · 0 评论