场景题:如何实现亿级用户在线状态统计?

1 月 14 日
阅读 3 分钟
324
近两年不知道大家有没有发现,现在的面试中《场景题》问的越来越多了,一方面是就业市场竞争者较多所带来的必然结果;另一方面是随着时间的推移,公司对于应聘者的技术要求也越来越高了,这时候只会八股文就不够了,你还得会更难的场景题才行。
封面图

场景题:假设有40亿QQ号,但只有1G内存,如何实现去重?

1 月 7 日
阅读 4 分钟
339
当数据量比较大时,使用常规的方式来判重就不行了。例如,使用 MySQL 数据库判重,或使用 List.contains() 或 Set.contains() 判重就不行了,因为数据量太大会导致内存放不下,或查询速度太慢等问题。
封面图

干掉EasyExcel!FastExcel初体验

2024-12-23
阅读 5 分钟
433
我们知道 EasyExcel 在作者从阿里离职之后就停止维护了,但在前两周 EasyExcel 原作者推出了他的升级版框架 FastExcel。以下是 FastExcel 的上手实战过程,带大家一起提供新框架的魅力。

如何理解符号引用和直接引用?

2024-12-16
阅读 2 分钟
306
加载(Loading)阶段是整个“类加载”(Class Loading)过程中的一个阶段,它和类加载 Class Loading 是不同的,一个是加载 Loading 另一个是类加载 Class Loading,所以不要把二者搞混了。
封面图

手撕单例的 5 种写法!

2024-12-03
阅读 3 分钟
317
单例模式是一种常见的设计模式,它确保一个类只有一个实例,并提供一个全局访问点来获取该实例。当然,它也是面试中的常客,尤其是某手面试中经常要求应聘者手撕,所以今天咱们就来盘盘它。
封面图

Redis大Key问题如何排查?如何解决?

2024-11-21
阅读 3 分钟
210
Redis 大 Key 是指存储在 Redis 中的键值对,其中键对应的 value 占用了较大的内存空间,或者包含了大量的元素。例如,一个存储了数百万个元素的集合(Set)类型的键,或者一个存储了一个很大的字符串(长度可能达到几十 MB 甚至更大)的键都被认为是大 Key。
封面图

SpringBoot必须掌握的常用注解!

2024-11-07
阅读 6 分钟
417
@Component:将一个类标识为 Spring 组件(Bean),可以被 Spring 容器自动检测和注册。通用注解,适用于任何层次的组件。
封面图

团子东子开奖了,这泼天的富贵!

2024-11-06
阅读 3 分钟
239
秋招已经接近尾声了,最近各家公司的薪资也陆续公布了,今天在逛某客时,被一个 25 届 C9 硕的薪资羡慕到了,一起来感受下这泼天的富贵吧。这个同学今年秋招总共拿到了 3 个 Offer,分别是:小米:28K*15,总包 45W,sp,北京。美团:30K*15.5,总包 47W,sp,上海。京东:33.7K*19,总包 63W,京东零售,小 sp,北京。...

有Redis为什么还要本地缓存?谈谈你对本地缓存的理解?

2024-11-01
阅读 8 分钟
359
本地缓存是将数据存储在应用程序所在的本地内存中的缓存方式。既然,已经有了 Redis 可以实现分布式缓存了,为什么还需要本地缓存呢?接下来,我们一起来看。

试用期被裁是有补偿的!一定要记得领取~

2024-10-30
阅读 3 分钟
205
每年都会收到同学试用期被裁的消息,除了震惊之外,更多的是遗憾。因为试用期被裁的大部分同学都是知名公司的 Offer,例如下面这两个,一个某程旅行,一个某知名外企:某知名外企:所以,本文要聊两个问题:试用期被裁有没有补偿?如何避免试用期被裁?1.试用期被裁有没有补偿?大部分同学和 HR 都认为试用期被裁员是没...
封面图

现在才投简历还来得及吗?

2024-10-28
阅读 3 分钟
190
某客热帖“现在才投互联网还有没有 HC?”,一时间引发了广泛的讨论。事情是这样的:有个小哥,其自身条件也不错,本硕 985 院校,求职意向是 Java 后端研发工程师,拿过国奖、有实习经历,各方面条件都不错。
封面图

场景题:百万数据插入Redis有哪些实现方案?

2024-10-25
阅读 2 分钟
188
在面试的过程当中,偶尔会遇到一些场景题,虽然这些场景题归根到底还是技术问题,但他通常比常规的八股题要稍微难一些,因为他考验的是你对于技术的整体理解、应用,以及变通的能力。

这个Offer开不开门?

2024-10-15
阅读 4 分钟
353
如果问研发人最想去的公司是哪个?我想答案应该有两类:国企/银行/事业单位:活少、稳定。大厂:薪资高、有面儿。第一类公司就不说了,那大厂最想去哪家公司呢?我想可能是他吧:为啥呢?薪资高呗,能有多高呢?看看这位同学的爆料:所以,字节的薪资开不开门呢?那问题来了,怎么才能让自己也找一个好工作呢?条件1:教...

为什么线下面试越来越流行了?

2024-10-14
阅读 2 分钟
379
不知道大家有没有发现,最近在找工作时,越来越多的公司开始要求必须线下面试了,例如,深信服:例如,华为:还有公司在发布招聘信息时也明确写明了“只能线下面试”:那背后的原因究竟是啥呢?原因一:作弊成本越来越低AI 的诞生确实提供了很多便利,但也有人和团队利用 AI 来搞一些非正当的产品,例如 AI 面试辅助工具,...

面试官最反感这样的简历!

2024-10-10
阅读 2 分钟
307
一份好的简历往往是打开你通往理想工作大门的钥匙,而一份糟糕的简历则会白白断送你的面试机会。那么,面试官最反感什么样的简历呢?让我们一起来看看。
封面图

10月才是秋招主战场!

2024-10-08
阅读 2 分钟
429
大部分同学可能都有这样一种感受:“9 月份还没有拿到笔试和面试呢,这就到 10 月了?”。的确如此,并且大部分同学可能都是这个情况。那今天咱们就来分析一下为什么会出现这个问题?接下来要怎么做才能拿到 Offer?
封面图

面试官:谈谈你对IO多路复用的理解?

2024-09-26
阅读 2 分钟
505
“IO 多路复用”是编程中常见的技术词汇,使用这种技术的框架有很多,如,Redis、Kafka、Netty、Nginx 中都用到了此技术。那问题来了,什么是 IO 多路复用?它的具体实现技术有哪些?这些技术之间有什么区别?今天我们就来简单的探讨一下。
封面图

面试官:项目中如何实现布隆过滤器?

2024-09-25
阅读 2 分钟
594
谈起“布隆过滤器”相信大家都不陌生,它也算日常面试中的常见面试题了。例如,当面试官在问到 Redis 模块的相关问题时,可能会问到缓存穿透(Redis 四大经典问题之一),而缓存穿透的经典解决方案之一,则是“布隆过滤器”。
封面图

面试官:项目中如何实现分布式锁?

2024-09-24
阅读 5 分钟
505
分布式锁(Distributed Lock)是一种用于分布式系统中的同步机制,主要是为了防止分布式系统中,多个服务实例同时操作一个共享资源所带来的并发安全问题。
封面图

面试官:GROUP BY和DISTINCT有什么区别?

2024-09-19
阅读 3 分钟
372
在 MySQL 中,GROUP BY 和 DISTINCT 都是用来处理查询结果中的重复数据,并且在官方的描述文档中也可以看出:在大多数情况下 DISTINCT 是特殊的 GROUP BY,如下图所示:
封面图

面试官:单核服务器可以不加锁吗?

2024-09-18
阅读 2 分钟
279
因为在单核服务器上也会有线程切换,如果不加锁,那么线程切换后,另一个线程就可以访问其他线程未操作完的共享变量,这就会导致操作的共享变量发生数据覆盖的问题,所以是需要加锁。
封面图

面试官:线程池遇到未处理的异常会崩溃吗?

2024-09-13
阅读 6 分钟
410
首先,这个问题考察的是你对线程池 execute 方法和 submit 方法的理解,在 Java 线程池的使用中,我们可以通过 execute 方法或 submit 方法给线程池添加任务,但如果线程池中的程序在执行时,遇到了未处理的异常会怎么呢?接下来我们一起来看。
封面图

面试官:说说停止线程池的执行流程?

2024-09-12
阅读 4 分钟
460
shutdown():优雅的关闭线程池,即不再接受新任务,但会等待已提交任务(包括正在执行的任务和在队列中等待的任务)执行完毕。等待所有任务都执行完毕后,线程池才会进入终止状态。
封面图

面试官:如何实现线程池任务编排?

2024-09-09
阅读 5 分钟
451
在复杂的业务场景中,任务间通常存在依赖关系,也就是某个任务会依赖另一个任务的执行结果,在这种情况下,我们需要通过任务编排,来确保任务按照正确的顺序进行执行。
封面图

面试官:limit 100w,10为什么慢?如何优化?

2024-09-05
阅读 2 分钟
501
在 MySQL 中,limit X,Y 的查询中,X 值越大,那么查询速度也就越慢,例如以下示例:limit 0,10:查询时间大概在 20 毫秒左右。limit 1000000,10:查询时间可能是 15 秒左右(1秒等于 1000 毫秒),甚至更长时间。所以,可以看出,limit 中 X 值越大,那么查询速度都越慢。这个问题呢其实就是 MySQL 中典型的深度分页问...
封面图

面试官:说说Lambda表达式底层原理?

2024-09-04
阅读 4 分钟
799
Lambda 表达式是 Java 8 引入的一种简洁的表示匿名方法的方式,使用它可以用于替代某些匿名内部类对象,从而让程序更简洁,可读性更好。但 Lambda 表达式的底层是如何实现的呢?接下来我们一起来看。
封面图

值传递OR引用传递?大部人都答错了!

2024-09-04
阅读 3 分钟
526
Java 是值传递还是引用传递?这是 Java 中比较基础的一道常见面试题,但对于这道问题的大部分答案都是错的,大部人会这样回答这个问题:在 Java 中,如果传递的是基本数据类型,那么就是值传递;而如果传递的是对象或数组的话,那么就是引用传递。然而,这个答案是错的!定义描述值传递和引用传递是编程中参数传递给方法...
封面图

场景题:如何提升Kafka效率?

2024-08-30
阅读 4 分钟
546
但是,如果 Kafka 使用不当,也可能会面临性能瓶颈,影响系统的整体效率。所以,了解如何提升 Kafka 的运行效率?对于生产环境的使用和面试都是至关重要的。
封面图

面试官:Kafka中的key有什么用?

2024-08-28
阅读 2 分钟
572
我们在使用 Kafka 时,最简单、最常用的方式是只设置 topic(主题)和 value(消息体),如下所示:这样的话获取消息的代码也很简单,如下所示:
封面图

面试官:Leader崩溃Follower不够新怎么办?

2024-08-27
阅读 2 分钟
324
这是一道非常经典的 Kafka 问题,是关于 Leader 在“异常”情况下的选举问题。背景我们知道 Kafka 中的 Partition(分区)是存储消息的最终介质,但 Partition 又有两种分类:Leader Partition:主分区,负责数据写入和读取。Follower Partition:副本分区,用于数据备份和主节点宕机之后的分区选举,保证了 Kafka 服务的...
封面图