科大讯飞:说说零拷贝技术和多路复用技术?

2024-07-01
阅读 3 分钟
619
零拷贝技术和多路复用技术是现代计算机系统和网络编程中两项重要的优化手段,旨在提高数据处理和传输的效率。如高性能框架 Netty 中,即使用了零拷贝技术又使用了多路复用技术,同时来保证 Netty 框架的高性能运行。
封面图

挑战全网最快:6月份拿到25届提前批Offer?

2024-06-27
阅读 2 分钟
608
要了命了,25 届的大部分同学还在忙学校的期末考试呢,有位重庆邮电大学的帅哥已经拿到了 25 届提前批的 Offer 了,这真是光速啊,如果不是看到 Offer 截图,打死我也不信啊。而且人家拿的还是深信服的 SP 档的 Offer,啧啧,太强了。

面试哈啰,差点要了狗命~

2024-06-26
阅读 7 分钟
630
分配线程栈:线程对象被创建后,Java 虚拟机会为该线程分配一个独立的线程栈(Thread Stack),用于存储该线程的方法调用、局部变量等信息。
封面图

闲鱼面试:说说JWT工作原理?

2024-06-21
阅读 2 分钟
680
简单来说,你可以把 JWT 想象成一张小巧的、自包含的电子通行证。这张通行证里面包含了用户的身份信息,就像你在某个俱乐部的会员卡,上面有你的名字、会员等级等信息,拿着这张卡,你就能证明你是谁,享受相应的服务。
封面图

哈啰面试:说说Dubbo运行原理?

2024-06-20
阅读 3 分钟
748
Dubbo 是一款高性能、轻量级的开源 RPC(远程过程调用)框架,主要用于构建分布式服务和微服务架构。那 Dubbo 又是如何运行的呢?让我们一起来看。
封面图

百度二面,有点小激动!附面试题

2024-06-19
阅读 5 分钟
716
前几天刚面完百度,这不,没两天就收到二面邀请了,还有点小激动呢!来看看这次都问了哪些面试题吧,附答案仅供参考。ConsurrentHashMap如何计算下标?ConsurrentHashMap 计算下标和 HashMap 类似,它的主要执行流程有以下两步:计算 key 哈希值:JDK 1.7:key.hashCode()。JDK 1.8+:((h=key.hashCode()) ^ (h>>&...
封面图

上周面了百度,问的很细~

2024-06-17
阅读 5 分钟
698
上周刚刚面了百度,问的问题不算很难,但却很细,我把这些面试题和答案都整理出来了,一起来看吧。重点介绍一个你觉得有意义的项目?回答技巧和思路:介绍的项目业务难度和技术难点要高一些,最好是微服务项目。简明扼要的讲清楚项目核心板块的业务场景即可,切忌不要讲的太细和太久,这只是面试官要考察你技术问题的一...
封面图

字节面试:MySQL自增ID用完会怎样?

2024-06-14
阅读 2 分钟
765
在一些中小型项目开发中,我们通常会使用自增 ID 来作为主键的生成策略,但随着时间的推移,数据库的信息也会越来越多,尤其是使用自增 ID 作为日志表的主键生成策略时,可能很快就会遇到 ID 被用完的情况,那么如果发生了这种情况,MySQL 又会怎样执行呢?
封面图

面试官:谈谈对SpringAI的理解?

2024-06-13
阅读 3 分钟
1.3k
Spring AI 已经发布了好长时间了,目前已经更新到 1.0 版本了,所以身为 Java 程序员的你,如果还对 Spring AI 一点都不了解的话,那就有点太落伍了。
封面图

网易面试:SpringBoot如何开启虚拟线程?

2024-06-12
阅读 3 分钟
1.3k
虚拟线程(Virtual Thread)也称协程或纤程,是一种轻量级的线程实现,与传统的线程以及操作系统级别的线程(也称为平台线程)相比,它的创建开销更小、资源利用率更高,是 Java 并发编程领域的一项重要创新。
封面图

百度面试:如何用Redis实现限流?

2024-06-11
阅读 5 分钟
681
高并发系统有三大特征:限流、缓存和熔断,所以限流已经成为当下系统开发中必备的功能了。那么,什么是限流?如何实现限流?使用 Redis 能不能实现限流?接下来我们一起来看。
封面图

美团面试:说说Netty的零拷贝技术?

2024-06-07
阅读 4 分钟
769
在传统的 IO 操作中,当我们需要读取并传输数据时,我们需要在用户态(用户空间)和内核态(内核空间)中进行数据拷贝,它的执行流程如下:从上述流程我们可以看出,在传统的 IO 操作中,我们是需要 4 次拷贝和 4 次上下文切换(用户态和内核态的切换)的。

高德面试:为什么Map不能插入null?

2024-06-06
阅读 4 分钟
752
在 Java 中,Map 是属于 java.util 包下的一个接口(interface),所以说“为什么 Map 不能插入 null?”这个问题本身问的不严谨。Map 部分类关系图如下:所以,这里面试官其实想问的是:为什么 ConcurrentHashMap 不能插入 null?

抖音面试:说说延迟任务的调度算法?

2024-06-05
阅读 3 分钟
694
Netty 框架是以性能著称的框架,因此在它的框架中使用了大量提升性能的机制,例如 Netty 用于实现延迟队列的时间轮调度算法就是一个典型的例子。使用时间轮调度算法可以实现海量任务新增和取消任务的时间度为 O(1),那么什么是时间轮调度算法呢?接下来我们一起来看。

面试官:说说Netty对象池的实现原理?

2024-06-04
阅读 4 分钟
769
Netty 作为一个高性能的网络通讯框架,它内置了很多恰夺天工的设计,目的都是为了将网络通讯的性能做到极致,其中「对象池技术」也是实现这一目标的重要技术。
封面图

拼多多面试:Netty如何解决粘包问题?

2024-06-03
阅读 3 分钟
722
粘包和拆包问题也叫做粘包和半包问题,它是指在数据传输时,接收方未能正常读取到一条完整数据的情况(只读取了部分数据,或多读取到了另一条数据的情况)就叫做粘包或拆包问题。
封面图

滴滴面试:谈谈你对Netty线程模型的理解?

2024-05-31
阅读 5 分钟
595
Netty 线程模型被称为 Reactor(响应式)模型/模式,它是基于 NIO 多路复用模型的一种升级,它的核心思想是将 IO 事件和业务处理进行分离,使用一个或多个线程来执行任务的一种机制。
封面图

面试官:说说Netty的核心组件?

2024-05-30
阅读 6 分钟
673
Netty 核心组件是指 Netty 在执行过程中所涉及到的重要概念,这些核心组件共同组成了 Netty 框架,使 Netty 框架能够正常的运行。

京东二面:为什么Netty要造FastThreadLocal?

2024-05-28
阅读 4 分钟
948
FastThreadLocal 从字面意义上来看,它是“Fast”+“ThreadLocal”的结合体,寓意为快速的 ThreadLocal。那么,问题来了,Netty 为什么要再造一个 FastThreadLocal?FastThreadLocal 运行快的原因是啥?除了快之外,它还有其他优势吗?
封面图

阿里面试:NIO为什么会导致CPU100%?

2024-05-27
阅读 2 分钟
887
在 Java 中总共有三种 IO 类型:BIO(Blocking I/O,阻塞I/O)、NIO(Non-blocking I/O,非阻塞I/O)和 AIO(Asynchronous I/O,异步I/O),它们的区别如下:
封面图

京东面试:SpringBoot同时可以处理多少请求?

2024-05-24
阅读 4 分钟
746
Spring Boot 作为 Java 开发中必备的框架,它为开发者提供了高效且易用的开发工具,所以和它相关的面试题自然也很重要,咱们今天就来看这道经典的面试题:SpringBoot同时可以处理多少个请求 ?

腾讯面试:如何提升Kafka吞吐量?

2024-05-23
阅读 2 分钟
709
Kafka 是一个分布式流处理平台和消息系统,用于构建实时数据管道和流应用。它最初由 LinkedIn 开发,后来成为 Apache 软件基金会的顶级项目。

阿里面试:说说自适应限流?

2024-05-22
阅读 8 分钟
728
限流想必大家都不陌生,它是一种控制资源访问速率的策略,用于保护系统免受过载和崩溃的风险。限流可以控制某个服务、接口或系统在一段时间内能够处理的请求或数据量,以防止系统资源耗尽、性能下降或服务不可用。
封面图

京东面试:如何进行JVM调优?

2024-05-21
阅读 2 分钟
604
JVM 调优是一个很大的话题,在回答“如何进行 JVM 调优?”之前,首先我们要回答一个更为关键的问题,那就是,我们为什么要进行 JVM 调优?

小米面试:如何实现优先级线程池?

2024-05-20
阅读 5 分钟
703
我们知道,线程池中的所有线程都是由统一的线程工厂来创建的,当我们指定线程工厂时,线程池中的所有线程会使用我们指定的线程工厂来创建线程;但如果没有指定线程工厂,则会使用默认的线程工厂 DefaultThreadFactory 来创建线程,核心源码如下:
封面图

美团面试:如何实现线程任务编排?

2024-05-16
阅读 5 分钟
789
线程任务编排指的是对多个线程任务按照一定的逻辑顺序或条件进行组织和安排,以实现协同工作、顺序执行或并行执行的一种机制。1.线程任务编排 VS 线程通讯有同学可能会想:那线程的任务编排是不是问的就是线程间通讯啊?线程间通讯我知道了,它的实现方式总共有以下几种方式:Object 类下的 wait()、notify() 和 notifyA...
封面图

腾讯面试:什么锁比读写锁性能更高?

2024-05-15
阅读 2 分钟
626
在并发编程中,读写锁 ReentrantReadWriteLock 的性能已经算是比较高的了,因为它将悲观锁的粒度分的更细,在它里面有读锁和写锁,当所有操作为读操作时,并发线程是可以共享读锁同时运行的,这样就无需排队执行了,所以执行效率也就更高。
封面图

经验分享:春招零Offer,5月份还有机会吗?

2024-05-14
阅读 3 分钟
674
对于社招的同学来说,5 月份之后岗位招聘的需求,相比于前两个月会有一个明显的减少,但依然会有招聘的需求,这就好比去景区旅游的人一样,节假日一定是最多的,但非节假日也会有一些人去逛。为什么会有补录?因为有一些人可能拿到了很多家公司的 Offer,但最终只能选择一家公司。我之前有同学在春招时,就拿到了 6 个 O...
封面图

字节面试:说说Java中的锁机制?

2024-05-13
阅读 4 分钟
573
内存可见性:通过锁的获取和释放,可以确保在锁保护的代码块中对共享变量的修改对其他线程可见。这是因为 Java 内存模型(JMM)规定,对锁的释放会把修改过的共享变量从线程的工作内存刷新到主内存中,而获取锁时会从主内存中读取最新的共享变量值。
封面图

面试官:核心线程数为0时,线程池如何执行?

2024-05-07
阅读 2 分钟
1.8k
线程池是 Java 中用于提升程序执行效率的主要手段,也是并发编程中的核心实现技术,并且它也被广泛的应用在日常项目的开发之中。那问题来了,如果把线程池中的核心线程数设置为 0 时,线程池是如何执行的?
封面图