
Java面试总结
文章平均质量分 94
面试不仅是进击大厂的必经之路,同时也是进阶学习的过程,在双方良好的沟通中可以了解行业动态,防止与市场脱节。笔者将总结和整理面试经历和实践项目,包括不限于Java基础、集合,并发,JVM,MySQL,Redis,计算机网络以及操作系统等。希望对大家有所帮助,也祝愿早日斩获心仪Offer。
程序猿周周
互联网BUG攻城狮
展开
-
【系统设计】本地生活之附近商家 LBS 服务实现
在本章中我们会设计一个系统,用于发现用户附近的一些地方,比如餐厅、酒店、话剧院、博物馆等。原创 2022-11-13 16:31:57 · 2086 阅读 · 0 评论 -
【Redis】中的一些坑(三)——「数据持久化」篇
Redis 提供了 RDB 和 AOF 两种数据持久化方式,其中 RDB 是数据快照,而 AOF 会记录每一条写命令到日志文件中。原创 2022-10-23 17:07:51 · 1616 阅读 · 0 评论 -
【Redis】中的一些坑(二)——「主从复制」篇
上文中讲解了我们日常使用的一些命令,稍有不慎就会产生严重的影响,本文将继续讲解主从复制中的一些类似问题。原创 2022-10-16 11:53:08 · 1324 阅读 · 0 评论 -
【Redis】中的一些坑(一)——「常用命令」篇
一个设置了过期时间的 key 最后没有过期;使用O(1)复杂度的SETBIT命令,竟然 OOM 了;使用RANDOMKEY随机读取一个 key,主线程发生阻塞;相同命令主库查不到数据,从库却可以查到;从库使用内存为什么比主库使用的多;…常见命令有哪些坑?数据持久化有哪些坑?主从库同步有哪些坑?原创 2022-10-15 23:36:52 · 1530 阅读 · 0 评论 -
一文整理常见Java后端面试题系列——RocketMQ篇(2022最新版)
🐶⌨️ 短视频小厂BUG攻城狮🤺 如果文章对你有帮助,,你的支持将成为我最大的动力本文是《后端面试小册子》系列的第 1️⃣6️⃣ 篇文章,该系列将整理和梳理笔者作为 Java 后端程序猿在日常工作以及面试中遇到的实际问题,通过这些问题的系统学习,也帮助笔者顺利拿到阿里、字节、华为、快手等多个大厂 Offer,也祝愿大家能够早日斩获自己心仪的 Offer。原创 2022-04-05 21:26:34 · 4438 阅读 · 1 评论 -
一文整理常见Java后端面试题系列——Kafka篇(2022最新版)
Kafka 是分布式发布-订阅消息系统,它最初是由 LinkedIn 公司开发的,之后成为 Apache 项目的一部分,Kafka是一个分布式,可划分的,冗余备份的持久性的日志服务,它主要用于处理流式数据。原创 2022-03-22 23:18:41 · 4384 阅读 · 0 评论 -
一文整理常见Java后端面试题系列——Netty篇(2022最新版)
Netty 是由 JBOSS 提供的一个 Java 开源框架。Netty 提供异步的、基于事件驱动的网络应用程序框架,用以快速开发高性能、高可靠性的网络 IO 程序,是目前最流行的 NIO 框架,Netty 在互联网领域、大数据分布式计算领域、游戏行业、通信行业等获得了广泛的应用,知名的 Elasticsearch 、Dubbo 框架内部都采用了 Netty。Channel。原创 2022-03-18 00:30:08 · 9604 阅读 · 1 评论 -
一文整理常见Java后端面试题系列——Dubbo篇(2022最新版)
🐶⌨️ 短视频小厂BUG攻城狮🤺 如果文章对你有帮助,,你的支持将成为我最大的动力本文是《后端面试小册子》系列的第 1️⃣3️⃣ 篇文章,该系列将整理和梳理笔者作为 Java 后端程序猿在日常工作以及面试中遇到的实际问题,通过这些问题的系统学习,也帮助笔者顺利拿到阿里、字节、华为、快手等多个大厂 Offer,也祝愿大家能够早日斩获自己心仪的 Offer。原创 2022-03-16 22:23:55 · 5797 阅读 · 0 评论 -
一文整理总结常见Java后端面试题系列——设计模式篇(2022最新版)
设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。原创 2022-03-14 22:32:23 · 10874 阅读 · 1 评论 -
Java 异常面试题总结(2022最新版)
Java 的所有异常可以分为受检异常(Checked Exception)和非受检异常(Unchecked Exception)。受检查异常编译器要求必须处理的异常。正确的程序在运行过程中,经常容易出现的、符合预期的异常情况。一旦发生此类异常,就必须采用某种方式进行处理。除 RuntimeException 及其子类外,其他的 Exception 异常都属于受检异常。原创 2022-03-13 17:31:35 · 6397 阅读 · 1 评论 -
一文整理总结常见Java后端面试题系列——Java虚拟机篇(2022最新版)
JDK 1.8 以前的 HotSpot 有个叫方法区的内存区域,也叫永久代(permanent generation)。而从 JDK 1.7 开始,方法区的部分数据就被移除:符号引用(Symbols)移至 Native heap,字面量(interned strings)和静态变量(class statics)移至 Java heap。原创 2022-03-10 22:04:23 · 12171 阅读 · 1 评论 -
一文整理总结常见Java后端面试题系列——Java并发篇(2022最新版)
初始(NEW):新创建了一个线程对象,但还没有调用start()方法;运行(RUNNABLE):Java 线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”;线程对象创建后,其它线程(如 main 线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取 CPU的 使用权,此时处于就绪状态(ready)。就绪状态的线程在获得 CPU 时间片后变为运行中状态(running)。阻塞(BLOCKED):表示线程阻塞于锁;原创 2022-03-03 23:35:22 · 17208 阅读 · 1 评论 -
一文整理总结常见Java面试题系列——Java集合篇(2022最新版)
集合是用于存放对象的容器,而集合类是 Java 的一种数据结构,常用的集合类定义在 java.util 包中。需要注意的是,集合类只能存放对象,不能存放基本数据类型,且是对象的引用,而非对象本身。好处提供高效的的数据结构和算法,挺高程序运行效率;提供通用 API 能力,降低开发和维护成本;RandomAccess 接口是 Java 集合框架中为了标记 List 集合是否支持随机访问而设计。原创 2022-02-28 00:10:39 · 20803 阅读 · 3 评论 -
一文整理总结常见Java后端面试题系列——Java基础篇(2022最新版)
为什么会出现自动拆装箱Java 语言是一个面向对象的语言,但是 Java 中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class)。使得基本数据类型也具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。原创 2022-02-23 00:10:27 · 25075 阅读 · 1 评论 -
一文整理总结常见Java后端面试题系列——Spring篇(2022最新版)
一、基本概念1、Spring 是什么?Spring 是一个轻量级 Java 开发框架,最早有 Rod Johnson 创建,目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。它是一个分层的 JavaSE/JavaEE full-stack(一站式)轻量级开源框架,为开发 Java 应用程序提供全面的基础架构支持。Spring 负责基础架构,因此 Java 开发者可以专注于应用程序的开发。Spring最根本的使命是解决企业级应用开发的复杂性,即简化Java开发。2、Spring 带来哪些好处原创 2022-02-21 00:14:26 · 23483 阅读 · 2 评论 -
Linux面试题总结(2022最新版)
🐶⌨️ 短视频小厂BUG攻城狮🤺 如果文章对你有帮助,,你的支持将成为我最大的动力本文是《后端面试小册子》系列的第 5️⃣ 篇文章,该系列将整理和梳理笔者作为 Java 后端程序猿在日常工作以及面试中遇到的实际问题,通过这些问题的系统学习,也帮助笔者顺利拿到阿里、字节、华为、快手等多个大厂 Offer,也祝愿大家能够早日斩获自己心仪的 Offer。原创 2022-02-19 12:22:33 · 22216 阅读 · 2 评论 -
操作系统面试题总结(2022最新版)
内核态:运行操作系统程序,几乎可以访问计算机的任何(硬件)资源用户态:运行用户应用程序系统调用异常硬件中断僵尸进程是子进程先于父进程退出后,子进程的 PCB 需要其父进程释放,但是父进程并没有释放子进程的 PCB,这样的子进程就称为僵尸进程。僵尸进程实际上是一个已经死掉但并未释放 PBC 的进程。清楚了僵尸进程的定义,我们再来了解一下它的产生。僵尸进程的产生一个进程在调用 exit 命令结束自己的生命周期时,它并没有真正的被销毁,而是留下一个称为僵尸进程(Zombie)原创 2022-02-18 09:58:48 · 11505 阅读 · 2 评论 -
计算机网络面试题总结(2022最新版)
计算机网络面试题总结(2022版)本文是 Java 面试总结系列的第三篇文章,该专栏将整理和梳理笔者作为 Java 后端程序猿在日常工作以及面试中遇到的实际问题,通过这些问题的系统学习,也帮助笔者顺利拿到阿里、字节、华为、快手等Offer。由于笔者能力有限,其中大多答案来自巨人的肩膀并引以出处,若有错误或疏忽还望各位大佬们不吝指出…标题地址MySQL数据库面试题总结(2022版)https://blog.youkuaiyun.com/adminpd/article/details/1229.原创 2022-02-17 10:02:22 · 22117 阅读 · 9 评论 -
Redis面试题总结(2022最新版)
也就是说扩容和收缩操作不是一次性、集中式完成的,而是分多次、渐进式完成的。如果保存在 Redis 中的键值对只有几个几十个,那么 rehash 操作可以瞬间完成,但是如果键值对有几百万,几千万甚至几亿,那么要一次性的进行 rehash,势必会造成 Redis 一段时间内不能进行别的操作。所以 Redis 采用渐进式 rehash。这样在进行渐进式 rehash 期间,字典的删除查找更新等操作可能会在两个哈希表上进行,第一个哈希表没有找到,就会去第二个哈希表上进行查找。原创 2022-02-15 09:32:44 · 110008 阅读 · 30 评论 -
MySQL数据库面试题总结(2022最新版)
MySQL 数据库面试题(2022版)文章目录一、基础基本概念MySQL有哪些数据库类型?CHAR 和 VARCHAR 区别?数据库设计什么是三大范式?什么是范式和反范式,以及各自优缺点?二、索引索引的几种类型或分类?索引的优缺点?索引设计原则?索引的数据结构?Hash 和 B+ 树索引的区别?为何使用 B+ 树而非 B 树做索引?什么是最左匹配原则?什么是覆盖索引?什么是索引下推?三、存储存储引擎有哪些常见的存储引擎?MyISAM 和 InnoDB 的区别?InnoDB 的四大特性?InnoDB 为.原创 2022-02-13 17:15:42 · 291894 阅读 · 59 评论 -
用户社交粉丝关系链实现
揭秘社交粉丝关系链实现本文基于工作中真实项目的个人总结,虽然上线后经历上亿用户和千万DAU验证,但局限于个人能力,如文中有错误和不足,欢迎大家在留言中指出和补充!1 概述在我们日常使用的网络社交应用中,必然离不开关注功能,大致为关注某人成为其粉丝,若又被其关注,则互为好友,同时还可以支持特别关注、拉黑等附加功能。这样一个关系链系统中,如何高效存储和查询海量用户关系是首要解决的问题。1.1 关系分类在设计该系统之前,我们需要先要理清楚对应的分类和角色。其中有两个重要角色:follower(关原创 2021-12-18 18:01:47 · 2611 阅读 · 7 评论 -
短链接服务的原理和实现
1 概述在社区类产品甚至短信中,我们常常可以看到加入了诸如https://dwz.win/auQx几位编码的短链接。虽然很大一部分因为可能是社交类媒体的文本长度限制,但将长链接转成短链,还有其它几大优势:短链接一般六到八位路径地址,方便对外使用短链接支持定向,也可随时修改重定向源地址简化二维码,提高二维码的识别率(二维码复杂度和原始信息大小正相关)常用的短链接服务商:新浪短链接SUO短链接百度短链接2 实现原理再浏览器中访问https://dwz.win/auQx,查看其请求过程原创 2021-12-12 17:42:40 · 5362 阅读 · 0 评论 -
扫码登录的原理和实现
1 概述在日常 Web 端产品的使用中,一般都会支持扫码登录,这种方式操作简单,相对传统的手机号登录等方式速度更快、安全性更高,还可以增加自家产品的粘合度。2 登录原理扫码登录本质是解决将 APP 端的用户登录信息(通常是 Token)通过扫码的形式安全稳定地同步给 Web 端。1)用户打开 Web 端网页,进入扫码登录的界面;2)从 Web 端服务器获取二维码的图并获取其状态;3)Web 端服务器在生成二维码时,会生成一个 uuid 和二维码进行关联,并将 uuid 存入 db 记录中;4)原创 2021-11-15 22:19:49 · 15398 阅读 · 9 评论 -
单点登录SSO的原理和实现
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-11-14 21:55:41 · 4998 阅读 · 0 评论