
面试题系列
文章平均质量分 89
颜淡慕潇
985硕士,资深高级研发工程师;优快云认证专家博主,优快云内容战略合伙人,新星计划导师,全栈开发领域杰出内容创作者,同时荣获阿里云专家博主及星级博主殊荣。
平时就爱捣鼓后端及前端技术,分享干货,承蒙厚爱,感谢支持! 希望和大家一起努力,成为更好的自己!
展开
-
【面试题系列】 Redis 核心面试题(二)&答案
本文主要介绍Redis 的面试题,涵盖持久化、集群、缓存策略、事务等方面原创 2025-03-11 11:27:09 · 1500 阅读 · 0 评论 -
【面试题系列】Redis 常见面试题&答案
Redis 是 Java 高级工程师必须掌握的核心技术,需深入理解其数据结构、持久化、集群、锁机制等。面试中常考察问题的实际应用和原理结合原创 2025-03-11 11:06:14 · 1034 阅读 · 0 评论 -
【面试题系列】Java 多线程面试题深度解析
本文涉及Java 多线程面试题,从基础到高级,希望对你有所帮助!原创 2025-02-14 15:44:02 · 5042 阅读 · 3 评论 -
【面试题系列】面试官:如何处理并发情况下数据库的锁竞争?
在并发情况下,数据库的锁竞争可能导致性能下降和响应延迟。有效地处理锁竞争可以提高系统的并发性能和响应速度。以下是一些常用的策略来处理并发情况下的数据库锁竞争:原创 2024-10-31 15:21:33 · 17140 阅读 · 31 评论 -
【面试题系列】MySQL 中 GROUP BY 和 DISTINCT 有什么区别?
在 MySQL 中,`GROUP BY` 和 `DISTINCT` 是两个常用的 SQL 子句,它们都用于处理数据的重复性,但在使用场景、语法、功能和性能方面存在显著差异。本文将详细探讨这两者的区别,包括其语法、功能特点、使用场景及性能考虑,并通过丰富的案例来帮助理解。最后,我们将讨论如何在面试中回答有关这两个概念的问题。原创 2024-10-25 15:11:08 · 19275 阅读 · 25 评论 -
【面试系列】Java面试题目以及详细答案(二)
在Java领域,面试通常涵盖了广泛的主题,包括语言特性、并发、性能优化、设计模式等方面。今天介绍一些常见的高级Java面试题目,并提供详细的答案。原创 2024-04-09 10:27:21 · 18010 阅读 · 5 评论 -
【面试系列】Java面试题目以及详细答案(一)
在Java领域,面试通常涵盖了广泛的主题,包括语言特性、并发、性能优化、设计模式等方面。今天介绍一些常见的高级Java面试题目,并提供详细的答案。原创 2024-04-08 14:40:04 · 13247 阅读 · 4 评论 -
【微服务】面试题(一)
最近进行了一些面试,这几个问题分享给大家一、分别介绍一下微服务、分布式以及两者的区别微服务(Microservices)和分布式系统(Distributed Systems)是两种不同的软件架构风格,虽然它们之间有些重叠,但是它们解决的问题和关注的重点有所不同。1.1 微服务(Microservices):1. 架构风格:微服务是一种架构风格,其核心理念是将单个应用程序拆分成一组小型服务,每个服务都是独立的、可独立部署的单元。原创 2024-04-07 17:16:21 · 11564 阅读 · 2 评论 -
【Java系列】MyBatis-Plus常见面试题
是的,MyBatis-Plus的代码生成器可以自定义模板。在使用代码生成器时,可以指定自定义的模板,从而生成符合项目需求的代码。自定义模板需要遵循FreeMarker语法,可以根据需要修改模板内容。原创 2023-06-05 16:16:23 · 22745 阅读 · 40 评论 -
【面试题系列】关于K8s—Job的2个问题
job执行完之后不会立刻从k8s面板里删除,你可以看到有很多留存状态的记录,如果cronjob频次很高,留下的这些job记录就会增长,有没有隐患?原创 2023-06-25 15:10:04 · 11976 阅读 · 46 评论 -
【面试题系列】K8S面试题(二)
当回答这个问题时,可以先解释什么是有状态服务和无状态服务然后根据上述几个方面说明它们之间的区别举例说明哪些应用程序属于有状态服务,哪些应用程序属于无状态服务此外,可以进一步说明如何在Kubernetes中部署、管理和操作这些服务在Kubernetes中,有状态服务通常指那些需要持久性存储(例如数据库)或在运行期间需要保持某些状态(例如缓存)的应用程序。相反,无状态服务通常指那些不需要持久性存储且可以随时替换的应用程序,它们不会在运行期间保持任何状态。原创 2023-03-28 15:39:34 · 15744 阅读 · 5 评论 -
【面试题系列|Java】spring boot 11问,你能答出几问?
本文介绍了一些 Spring Boot 面试题及详细答案,包括 Spring Boot 的优点、自动配置、Actuator、AOP、消息中间件、缓存机制和异常处理等方面。希望可以帮助您顺利通过 Spring Boot 的面试。原创 2023-03-27 13:19:39 · 16293 阅读 · 4 评论 -
【面试题系列|Java】Java基础面试题
对于Java开发工程师而言,掌握Java基础、数据库、框架、Java虚拟机、Java并发编程等知识是必不可少的。以下是一些常见的Java开发工程师面试题及答案,供大家参考。原创 2023-03-24 16:25:59 · 9563 阅读 · 8 评论 -
【面试系列】浅谈后端面试技巧
今天分享一下后端Java开发面试技巧,希望大家读完之后,有一定的收获刷题可以去平台上刷:力扣牛客网以下是一些后端Java开发面试技巧:准备好Java相关的基础知识,例如:Java核心概念、多线程、集合框架、IO/NIO等等。熟悉常用的Java框架,例如:Spring、Hibernate、MyBatis等等。了解数据库相关的知识,例如:SQL语言、MySQL、Oracle、MongoDB等等。掌握常用的算法和数据结构,例如:排序算法、树、链表、堆栈等等。熟悉常用的设计模式。原创 2023-03-19 22:59:14 · 12124 阅读 · 6 评论 -
【面试题系列】Java多线程常见面试题
Java中的线程安全是指在多线程环境下,多个线程同时访问共享数据时,不会出现数据竞争、死锁和其他并发问题。为了保证线程安全,可以采用以下几种方式来实现:使用synchronized关键字:通过对方法或代码块进行同步,可以保证在同一时刻只有一个线程能够访问共享资源。synchronized可以保证互斥同步,防止线程之间的竞争和冲突。使用Lock接口:Java提供了Lock接口来实现锁,与synchronized不同,Lock可以提供更灵活的锁机制,可以实现更复杂的并发操作。原创 2023-03-19 16:23:18 · 8136 阅读 · 3 评论 -
【面试题系列】K8S常见面试题
希望此文,能帮助读者在遇到K8S相关面试问题,能对答如流无论使用哪种自动伸缩方法,Kubernetes 都会根据应用程序的需求自动调整 Pod 的数量和资源限制,以确保应用程序始终具有足够的资源,并且可以根据需要扩展或缩减。Kubernetes 会根据当前节点的资源使用情况,将 Pod 动态地调度到具有可用资源的节点上,从而实现资源的最优分配。:一旦Pod被调度到节点上,kubelet代理将创建Pod中定义的每个容器,并使用相应的容器映像来填充它们……………………原创 2023-03-17 18:10:01 · 5851 阅读 · 37 评论 -
【面试题系列】CurrentHashMap的实现原理
CurrentHashMap的实现原理JDK8 实现原理1,实现方式:synchronized+CAS+HashEntry+红黑树2,线程安全:内部大量采用CAS机制操作+Synchronized保证线程安全3,数据结构:数组+链表+红黑树4,锁颗粒度:Node:保存key,value及key的hash值的数据结构。其中value和next都用volatile修饰,保证并发的可见性。5.查询时间复杂度:遍历红黑树O(logN)。JDK1.7实现原理1,实现方式:数组+S原创 2022-04-06 11:03:42 · 10685 阅读 · 1 评论 -
【面试题系列】混合夺命21问,你能扛到第几问?
目录1. Mysql索引在什么情况下会失效2. MySql的存储引擎InnoDB与MyISAM的区别3. mysql在项目中的优化场景,慢查询解决等4. Mysql有什么索引,索引模型是什么5. B-树与B+树的区别?为什么不用红黑树6. Mysql主从同步怎么做7. 乐观锁与悲观锁的区别?8. 聊聊binlog日志9. Redis 持久化有哪几种方式,怎么选?9.1 AOF 持久化9.2 RDB9.3 如何选择RDB和AOF10. Redis 主从同步是原创 2022-03-27 18:05:52 · 13209 阅读 · 0 评论 -
面试题系列:MQ 夺命12问,你能扛到第几问?
1.你们为什么使用 mq?具体的使用场景是什么?优点:解耦、异步、削峰缺点:1,系统可用性降低:2,系统复杂性增加:要多考虑很多方面的问题,比如一致性问题、如何保证消息不被重复消费,如何保证保证消息可靠传输。因此,需要考虑的东西更多,系统复杂性增大。mq的作用很简单,削峰填谷。以电商交易下单的场景来说,正向交易的过程可能涉及到创建订单、扣减库存、扣减活动预算、扣减积分等等。每个接口的耗时如果是100ms,那么理论上整个下单的链路就需要耗费400ms,这个时间显然是太长了。如原创 2022-03-17 17:12:16 · 7389 阅读 · 2 评论 -
面试题系列:Mysql 夺命13问,你能扛到第几问?
1. 能说下 myisam 和 innodb 的区别吗?myisam引擎是5.1版本之前的默认引擎,支持全文检索、压缩、空间函数等,但是不支持事务和行级锁,所以一般用于有大量查询少量插入的场景来使用,而且myisam不支持外键,并且索引和数据是分开存储的。innodb是基于聚簇索引建立的,和myisam相反它支持事务、外键,并且通过MVCC来支持高并发,索引和数据存储在一起。2. 说下 mysql 的索引有哪些吧,聚簇和非聚簇索引又是什么?索引按照数据结构来说主要包含B+树和原创 2022-03-17 16:14:41 · 7448 阅读 · 3 评论 -
HashMap夺命14问,你能扛到第几问?
1.HashMap的底层数据结构是什么?jdk1.7:底层结构:数组+链表数组是hashMap 的主体,链表主要是为了解决hash冲突存在的jdk1.8:底层结构:数组+链表+红黑树当链表过长,则会严重影响HashMap的性能,红黑树搜索时间复杂度是O(logn),而链表是O(n)。因此,JDK1.8对数据结构做了进一步的优化,引入了红黑树,链表和红黑树在达到一定条件会进行转换:当链表超过8且数组长度(数据总量)超过64才会转为红黑树将链表转换成红黑树前会判断,如果当前数组的长原创 2022-03-12 23:20:41 · 5300 阅读 · 1 评论 -
面试题系列:Kafka 夺命11问,你能扛到第几问?
1.说说你对 Kafka 的理解kafka是一个流式数据处理平台,他具有消息系统的能力,也有实时流式数据处理分析能力,只是我们更多的偏向于把他当做消息队列系统来使用。如果说按照容易理解来分层的话,大致可以分为3层:第一层是Zookeeper,相当于注册中心,他负责kafka集群元数据的管理,以及集群的协调工作,在每个kafka服务器启动的时候去连接到Zookeeper,把自己注册到Zookeeper当中第二层里是kafka的核心层,这里就会包含很多kafka的基本概念在内:Record:原创 2022-03-12 21:58:18 · 4022 阅读 · 1 评论 -
面试题系列:Linux 夺命5问,你能扛到第几问?
目录1.CPU 负载和 CPU 利用率的区别是什么?怎么查看CPU有多少核呢?2.那如果 CPU 负载很高,利用率却很低该怎么办?3.那如果负载很低,利用率却很高呢?4.那如果 CPU 使用率达到100%呢?怎么排查?5.说说常见的 Linux 命令吧?1.CPU 负载和 CPU 利用率的区别是什么?首先,我们可以通过uptime,w或者top命令看到CPU的平均负载。Load Average :负载的3个数字,比如上图的4原创 2022-03-10 23:34:10 · 8993 阅读 · 2 评论 -
面试题系列:Redis夺命12问,你能扛到第几问?
目录Redis是单线程还是多线程呢?为什么Redis在4.0之前会选择使用单线程?而且使用单线程还那么快?Redis是如何实现数据不丢失的呢?分别说说AOF和 RDB的实现原理AOF采用的是 “写后日志” 的方式,我们平时用的MySQL则采用的是 “写前日志”,那Redis为什么要先执行命令,再把数据写入日志呢RDB做快照时会阻塞线程吗?RDB 做快照的时候数据能修改吗?Redis是怎么解决在bgsave做快照的时候允许数据修改呢?说说Redis如何实现高可用吧?..原创 2022-03-10 22:34:44 · 3978 阅读 · 2 评论 -
面试题系列:JVM 夺命18问,你能扛到第几问
1.说说 JVM 的内存布局?Java虚拟机主要包含几个区域:1,程序计数器:「程序控制流的指示器,循环,跳转,异常处理,线程的恢复等工作都需要依赖程序计数器去完成」。程序计数器是「线程私有」的,它的「生命周期是和线程保持一致」的。用于记录当前线程下虚拟机正在执行的字节码的指令地址2,虚拟机栈:是线程内存模型,栈是每个线程私有的内存区域,「生命周期与线程保持一致」。每个方法执行的时候JVM都会在栈创建一个栈帧,一个方法的调用过程就对应着栈的入栈和出栈的过程。每个栈帧的结构又包含局原创 2022-03-11 21:05:59 · 9168 阅读 · 1 评论