Fork me on GitHub
1 2 3 4 5 ··· 30 下一页
摘要: 世界之大无奇不有,不靠谱的人见多了,但是不靠谱的公司还是第一次见。 今天故事的主角是某上市公司,其号称为中国电声行业的龙头企业,名字这里就不说了。 故事发生的背景是某大学生秋招找工作,投递和面试的是这家公司的嵌入式开发,但最终却被分到了 IT 部门(猜测应该是 IT 支持岗)。 于是这位哥们儿不服, 阅读全文
posted @ 2024-10-17 16:16 磊哥|www.javacn.site 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 如果问研发人最想去的公司是哪个?我想答案应该有两类: 国企/银行/事业单位:活少、稳定。 大厂:薪资高、有面儿。 第一类公司就不说了,那大厂最想去哪家公司呢? 我想可能是他吧: 为啥呢?薪资高呗,能有多高呢?看看这位同学的爆料: 所以,字节的薪资开不开门呢? 那问题来了,怎么才能让自己也找一个好工作 阅读全文
posted @ 2024-10-15 19:06 磊哥|www.javacn.site 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 不知道大家有没有发现,最近在找工作时,越来越多的公司开始要求必须线下面试了,例如,深信服: 例如,华为: 还有公司在发布招聘信息时也明确写明了“只能线下面试”: 那背后的原因究竟是啥呢? 原因一:作弊成本越来越低 AI 的诞生确实提供了很多便利,但也有人和团队利用 AI 来搞一些非正当的产品,例如 阅读全文
posted @ 2024-10-14 17:50 磊哥|www.javacn.site 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 简历是找工作的第一道“工序”,所以它的重要程度不言而喻。 一份好的简历往往是打开你通往理想工作大门的钥匙,而一份糟糕的简历则会白白断送你的面试机会。那么,面试官最反感什么样的简历呢?让我们一起来看看。 1.简历布局和格式混乱 面试官最难忍受的就是应聘者简历布局和格式的混乱,这就好比要你去一个垃圾场相 阅读全文
posted @ 2024-10-10 17:24 磊哥|www.javacn.site 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 大部分同学可能都有这样一种感受:“9 月份还没有拿到笔试和面试呢,这就到 10 月了?”。的确如此,并且大部分同学可能都是这个情况。那今天咱们就来分析一下为什么会出现这个问题?接下来要怎么做才能拿到 Offer? 为什么还没有面试? 9 月份之所以没有面试机会的主要原因有这么几个: 9~10 月份假 阅读全文
posted @ 2024-10-08 11:16 磊哥|www.javacn.site 阅读(36) 评论(0) 推荐(0) 编辑
摘要: “IO 多路复用”是编程中常见的技术词汇,使用这种技术的框架有很多,如,Redis、Kafka、Netty、Nginx 中都用到了此技术。那问题来了,什么是 IO 多路复用?它的具体实现技术有哪些?这些技术之间有什么区别?今天我们就来简单的探讨一下。 1.什么是IO多路复用? IO 多路复用技术是一 阅读全文
posted @ 2024-09-26 16:08 磊哥|www.javacn.site 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 谈起“布隆过滤器”相信大家都不陌生,它也算日常面试中的常见面试题了。例如,当面试官在问到 Redis 模块的相关问题时,可能会问到缓存穿透(Redis 四大经典问题之一),而缓存穿透的经典解决方案之一,则是“布隆过滤器”。 但是,对于布隆过滤器是什么?以及布隆过滤器的实现原理?相信大部分同学都能回答 阅读全文
posted @ 2024-09-25 17:18 磊哥|www.javacn.site 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 分布式锁(Distributed Lock)是一种用于分布式系统中的同步机制,主要是为了防止分布式系统中,多个服务实例同时操作一个共享资源所带来的并发安全问题。 分布式锁确保在同一时间只有一个实例操作共享资源,从而保证了数据的安全性。 1.分布式锁实现方案 分布式锁的实现方案有多种,例如以下这几种: 阅读全文
posted @ 2024-09-24 16:34 磊哥|www.javacn.site 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 在 MySQL 中,GROUP BY 和 DISTINCT 都是用来处理查询结果中的重复数据,并且在官方的描述文档中也可以看出:在大多数情况下 DISTINCT 是特殊的 GROUP BY,如下图所示: 官方文档地址:https://dev.mysql.com/doc/refman/8.0/en/d 阅读全文
posted @ 2024-09-19 16:10 磊哥|www.javacn.site 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 今天有位同学问了磊哥一个问题,大概的意思是“单核服务器可以不加锁吗?”,我觉得很有意思,所以在这里就和各位探讨一下: 1. 问题答案 先说我的理解,单核服务器仍然需要加锁。 因为在单核服务器上也会有线程切换,如果不加锁,那么线程切换后,另一个线程就可以访问其他线程未操作完的共享变量,这就会导致操作的 阅读全文
posted @ 2024-09-18 09:05 磊哥|www.javacn.site 阅读(178) 评论(0) 推荐(1) 编辑
摘要: 首先,这个问题考察的是你对线程池 execute 方法和 submit 方法的理解,在 Java 线程池的使用中,我们可以通过 execute 方法或 submit 方法给线程池添加任务,但如果线程池中的程序在执行时,遇到了未处理的异常会怎么呢?接下来我们一起来看。 1.execute方法 exec 阅读全文
posted @ 2024-09-13 15:20 磊哥|www.javacn.site 阅读(433) 评论(0) 推荐(0) 编辑
摘要: 对于我们使用的线程池 ThreadPoolExecutor 来说,停止线程池的方法有以下两个: shutdown():优雅的关闭线程池,即不再接受新任务,但会等待已提交任务(包括正在执行的任务和在队列中等待的任务)执行完毕。等待所有任务都执行完毕后,线程池才会进入终止状态。 shutdownNow( 阅读全文
posted @ 2024-09-12 16:57 磊哥|www.javacn.site 阅读(334) 评论(0) 推荐(1) 编辑
摘要: 任务编排(Task Orchestration)是指管理和控制多个任务的执行流程,确保它们按照预定的顺序正确执行。 1.为什么需要任务编排? 在复杂的业务场景中,任务间通常存在依赖关系,也就是某个任务会依赖另一个任务的执行结果,在这种情况下,我们需要通过任务编排,来确保任务按照正确的顺序进行执行。 阅读全文
posted @ 2024-09-09 15:13 磊哥|www.javacn.site 阅读(440) 评论(0) 推荐(1) 编辑
摘要: 在 MySQL 中,limit X,Y 的查询中,X 值越大,那么查询速度也就越慢,例如以下示例: limit 0,10:查询时间大概在 20 毫秒左右。 limit 1000000,10:查询时间可能是 15 秒左右(1秒等于 1000 毫秒),甚至更长时间。 所以,可以看出,limit 中 X 阅读全文
posted @ 2024-09-05 19:54 磊哥|www.javacn.site 阅读(1046) 评论(3) 推荐(9) 编辑
摘要: Lambda 表达式是 Java 8 引入的一种简洁的表示匿名方法的方式,使用它可以用于替代某些匿名内部类对象,从而让程序更简洁,可读性更好。但 Lambda 表达式的底层是如何实现的呢?接下来我们一起来看。 1.未Lambda表达式 未使用 Lambda 表达式之前,我们创建一个线程,可以这样写: 阅读全文
posted @ 2024-09-04 17:25 磊哥|www.javacn.site 阅读(89) 评论(0) 推荐(0) 编辑
摘要: Java 是值传递还是引用传递?这是 Java 中比较基础的一道常见面试题,但对于这道问题的大部分答案都是错的,大部人会这样回答这个问题: 在 Java 中,如果传递的是基本数据类型,那么就是值传递;而如果传递的是对象或数组的话,那么就是引用传递。 然而,这个答案是错的! 定义描述 值传递和引用传递 阅读全文
posted @ 2024-09-04 15:18 磊哥|www.javacn.site 阅读(16) 评论(0) 推荐(0) 编辑
摘要: Kafka 以其高吞吐量、低延迟和可扩展性而备受青睐。无论是在实时数据分析、日志收集还是事件驱动架构中,Kafka 都扮演着关键角色。 但是,如果 Kafka 使用不当,也可能会面临性能瓶颈,影响系统的整体效率。所以,了解如何提升 Kafka 的运行效率?对于生产环境的使用和面试都是至关重要的。 那 阅读全文
posted @ 2024-08-30 17:20 磊哥|www.javacn.site 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 我们在使用 Kafka 时,最简单、最常用的方式是只设置 topic(主题)和 value(消息体),如下所示: 这样的话获取消息的代码也很简单,如下所示: @KafkaListener(topics = "mytopic", groupId = "my-group") public void li 阅读全文
posted @ 2024-08-28 11:34 磊哥|www.javacn.site 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 这是一道非常经典的 Kafka 问题,是关于 Leader 在“异常”情况下的选举问题。 背景 我们知道 Kafka 中的 Partition(分区)是存储消息的最终介质,但 Partition 又有两种分类: Leader Partition:主分区,负责数据写入和读取。 Follower Par 阅读全文
posted @ 2024-08-27 12:11 磊哥|www.javacn.site 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 了解了 Kafka 架构就掌握了 Kafka 最核心的知识,Kafka 作为业界最知名、最流行的消息系统和流式处理组件,在面试中和日常工作中经常会见到。那么今天,我们就来聊聊 Kafka 的架构演化与升级,并通过图解的方式让你一目了然。 1.Kafka 初印象 Kafka 最初由 LinkedIn 阅读全文
posted @ 2024-08-23 16:09 磊哥|www.javacn.site 阅读(25) 评论(0) 推荐(0) 编辑
摘要: MySQL 主从同步是 MySQL 集群方案中的一种,也是实现难度最低的一种。 然而,现在的面试都不问 MySQL 主从同步原理了,而是开始问主从同步怎么保证数据一致性问题了。 所以,今天就给大家安排上了。 1.什么是数据一致性? 数据一致性是指在一个系统中,数据在不同的部分、不同的时间点,以及不同 阅读全文
posted @ 2024-08-20 16:12 磊哥|www.javacn.site 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 设计模式是前辈们经过实践验证总结的解决方案,帮助我们构建出更具可维护性、可扩展性和可读性的代码。当然,在面试的过程中,也会或多或少的被问到。那么今天,我们就来看一道设计模式中的常见面试问题:JDK 中都用了哪些设计模式? 我按照大家比较熟悉且好理解的方式,把 JDK 中使用的设计模式总结了一下,如下 阅读全文
posted @ 2024-08-15 15:53 磊哥|www.javacn.site 阅读(150) 评论(1) 推荐(0) 编辑
摘要: volatile 是并发编程中的重要关键字,它的名气甚至是可以与 synchronized、ReentrantLock 等齐名,也是属于并发编程五杰之一。 需要注意的是 volatile 并不能保证原子性,因此使用 volatile 并没有办法保证线程安全。 并发编程五杰: PS:“并发编程五杰”是 阅读全文
posted @ 2024-08-14 11:59 磊哥|www.javacn.site 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 在实际项目开发中,并发编程一定会用(提升程序的执行效率),而用到并发编程那么锁机制就一定会用,因为锁是保证并发编程的主要手段。 在 Java 中常用的锁有以下几个: synchronized(内置锁):Java 语言内置的关键字,JVM 层级锁实现,使用起来较为简单直观。 ReentrantLock 阅读全文
posted @ 2024-08-12 17:23 磊哥|www.javacn.site 阅读(135) 评论(0) 推荐(2) 编辑
摘要: CMS(Concurrent Mark Sweep)垃圾收集器是以“最短的停顿”著称的垃圾回收器,因此也是 JDK 9 之前使用最广泛的垃圾回收器之一。那么,问题来了,为什么 CMS 能实现最短停顿时间?CMS 垃圾回收器的工作原理又是啥呢?接下来,我们一起来看。 CMS 工作原理 CMS 之所以能 阅读全文
posted @ 2024-08-09 16:47 磊哥|www.javacn.site 阅读(42) 评论(0) 推荐(0) 编辑
1 2 3 4 5 ··· 30 下一页