年度归档: 2024 年

1107 篇文章

019、Redis 的过期策略和内存淘汰机制有什么区别?
Redis 的过期策略和内存淘汰机制有什么区别? Redis 和 MySQL 是面试绕不过的两座大山,他们一个是关系型数据库的代表(MySQL),一个是键值数据库以及缓存中间件的一哥。尤其 Redis 几乎是所有互联网公司都在用的技术,比如国内的 BATJ、新浪、360、小米等公司;国外的微软、Twitter、Stack Overflow、GitHub、暴雪等公司。有的公司用 MySQL、有的用 …
018、关系型数据和文档型数据库有什么区别?
关系型数据和文档型数据库有什么区别? 关系数据库(Relational Database)是建立在关系模型基础上的数据库,借助于几何代数等数学概念和方法来处理数据库中的数据。所谓关系模型是一对一、一对多或者多对多等关系,常见的关系型数据库有 Oracle、SQL Server、DB2、MySQL 等。 而文档型数据库是一种非关系型数据库,非关系型数据库(Not Only SQL,NoSQL)正好与…
017、MySQL 的优化方案有哪些?
MySQL 的优化方案有哪些? 性能优化(Optimize)指的是在保证系统正确性的前提下,能够更快速响应请求的一种手段。而且有些性能问题,比如慢查询等,如果积累到一定的程度或者是遇到急速上升的并发请求之后,会导致严重的后果,轻则造成服务繁忙,重则导致应用不可用。它对我们来说就像一颗即将被引爆的定时炸弹一样,时刻威胁着我们。因此在上线项目之前需要严格的把关,以确保 MySQL 能够以最优的状态进行…
016、MySQL 的运行机制是什么?它有哪些引擎?
MySQL 的运行机制是什么?它有哪些引擎? 数据库是 Java 程序员面试必问的知识点之一,它和 Java 的核心面试点共同组成了一个完整的技术面试。而数据库一般泛指的就是 MySQL,因为 MySQL 几乎占据了数据库的半壁江山,即使有些公司没有使用 MySQL 数据库,如果你对 MySQL 足够精通的话,也是会被他们录取的。因为数据库的核心与原理基本是相通的,所以有了 MySQL 的基础之后…
015、MQ 有什么作用?你都用过哪些 MQ 中间件?
MQ 有什么作用?你都用过哪些 MQ 中间件? 在第10篇中讲过“手写消息队列”,当时粗略的讲了 Java API 中使用 Queue 实现自定义消息队列,以及使用 Delayed 实现延迟队列的示例;同时还讲了 RabbitMQ 中的一些基础概念。本课时我们将会更加深入的讲解 MQ(Message Queue,消息队列)中间件,以及这些热门中间件的具体使用。 我们本课时的面试题是,MQ 常见的使…
014、SpringBoot 有哪些优点?它和 Spring 有什么区别?
SpringBoot 有哪些优点?它和 Spring 有什么区别? Spring 和 Spring Boot 的区别很多新手容易搞混,从这道简单的面试题也可以很轻易试探出你的 Java 基础功底,如果连这个问题都答不上来的话,通常就没有什么下文了,因为这已经是用人单位对面试者的最低要求了,所以本课时我们就来看一下二者的区别,以及 Spring Boot 的特性。 我们本课时的面试题是,Spring…
013、MyBatis 使用了哪些设计模式?在源码中是如何体现的?
MyBatis 使用了哪些设计模式?在源码中是如何体现的? MyBatis 的前身是 IBatis,IBatis 是由 Internet 和 Abatis 组合而成,其目的是想当做互联网的篱笆墙,围绕着数据库提供持久化服务的一个框架,2010 年正式改名为 MyBatis。它是一款优秀的持久层框架,支持自定义 SQL、存储过程及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数…
012、底层源码分析 Spring 的核心功能和执行流程(下)
底层源码分析 Spring 的核心功能和执行流程(下) 上一课时我们讲了 Bean 相关的内容,它其实也是属于 IOC 的具体实现之一,本课时我们就来讲讲 Spring 中其他几个高频的面试点,希望能起到抛砖引玉的作用,能为你理解 Spring 打开一扇门。因为 Spring 涉及的内容和知识点太多了,用它来写一本书也绰绰有余,因此这里我们只讲核心的内容,希望下来你能查漏补缺,完善自己的 Spri…
011、底层源码分析 Spring 的核心功能和执行流程(上)
底层源码分析 Spring 的核心功能和执行流程(上) Spring Framework 已是公认的 Java 标配开发框架了,甚至还有人说 Java 编程就是面向 Spring 编程的,可见 Spring 在整个 Java 体系中的重要位置。 Spring 中包含了众多的功能和相关模块,比如 spring-core、spring-beans、spring-aop、spring-context、s…
010、如何手写一个消息队列和延迟消息队列?
如何手写一个消息队列和延迟消息队列? 第一次听到“消息队列”这个词时,不知你是不是和我反应一样,感觉很高阶很厉害的样子,其实当我们了解了消息队列之后,发现它与普通的技术类似,当我们熟悉之后,也能很快地上手并使用。 我们本课时的面试题是,消息队列的使用场景有哪些?如何手动实现一个消息队列和延迟消息队列? 典型回答 消息队列的使用场景有很多,最常见的使用场景有以下几个。 1.商品秒杀 比如,我们在做秒…