Redis 面试 50 问,堪称最全合集
发表于|更新于|程序人生
|浏览量:

21、Redis集群之间是如何实现复制的?
异步复制
47、Redis常见的性能问题及解决办法?
(1) Master最好不要执行任何持久化操作,比如RDB内存快照和AOF日志文件
(2) 如果数据比较重要,可以让某个Slave开启AOF来备份数据,策略设置为每秒同步一次
(3) 为了提高主从复制的速度和连接的稳定性,Master和Slave最好处于同一个局域网内
(4) 尽量避免在压力很大的主库上增加从库
(5) 主从复制不要采用图状结构,采用单向链表结构会更稳定,即:Master <- Slave1 <- Slave2 <- Slave3…
这样的结构便于解决单点故障问题,能实现Slave对Master的替换。如果Master出现故障,可以立刻将Slave1作为新的Master,其他设置保持不变。
文章作者: 2025
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 只有那年胜过年年!
相关推荐
2025-12-05
18 道 Java 基础面试笔试题汇总
1.你最常访问的两个技术网站和最常用的两个应用程序分别是什么?主要解决你的什么需求? 2.请简述http协议中get请求和post请求的区别。 3.请简述session和cookie的区别。 4.简述Servlet与JSP的关系。 5.JSP内置对象有哪些,各自的作用是什么。 6.简述你所理解的JAVA封装、继承、多态。 7.写出2个常用的设计模式(伪代码),并简述应用场景。 8.HashMap和HashTable区别。 9.HashSet和TreeSet的区别。 10.ArrayList和LinkedList的区别。 11.==与equals的区别。 12.简述泛型、反射、注解的应用场景及各自解决了哪些问题。 13.Thread类的方法有哪些,如何通过多种方式实现线程同步。 14.进程与线程的区别,JAVA中有哪些方式可以创建线程。 15.现有一学生表结构(student-id,class-id,name),请写出统计每班学生数量的SQL语句。 16.假如你正在开发一个系统的登录程序,请简述你是如何实现记住用户名和密码这个操作的,具体怎么实现? 17.在视...
2025-12-05
20 道 Spring Boot 高频面试题整理
面试过程中,我遇到不少求职者在简历中写着“熟悉 Spring Boot”或“正在学习 Spring Boot”,但深入提问时,发现他们大多停留在基础使用层面,对核心机制了解不深。 下面是我在面试中常问的 Spring Boot 相关题目,希望能帮助大家系统准备。 Spring Boot 是什么? 为什么要使用 Spring Boot? Spring Boot 的核心配置文件有哪些?区别是什么? Spring Boot 的配置文件格式有哪些?有什么区别? Spring Boot 的核心注解是哪个?由哪些注解组成? 开启 Spring Boot 特性有哪几种方式? Spring Boot 是否需要独立的 Web 容器? 运行 Spring Boot 有哪几种方式? Spring Boot 自动配置的原理是什么? Spring Boot 项目的标准目录结构是怎样的? 如何理解 Spring Boot 中的 Starters? 如何在 Spring Boot 启动时执行特定代码? Spring Boot 有哪些读取配置的方式? Spring Boot 支持哪些日志框架?推荐及默认的日志框...
2025-12-05
75 道 BATJ 中高级 Java 面试题目集锦
整理了 BATJ(百度、阿里、腾讯、京东)等公司在 Java 中高级面试中常见的 75 道题目,供大家查漏补缺。若能掌握这些题目,能在面试中拉开与多数竞争者的差距。 75 道 BATJ 中高级 Java 面试题hashCode 相等,两个对象一定相等吗?equals 呢?反之呢? 介绍一下 Java 集合框架的组成。 HashMap 与 Hashtable 底层实现的区别?Hashtable 与 ConcurrentHashMap 呢? HashMap 与 TreeMap 的区别?底层数据结构是什么? 线程池用过吗?有哪些参数?底层如何实现? synchronized 与 Lock 的区别?synchronized 何时是对象锁?何时是类锁? ThreadLocal 是什么?底层如何实现?写一个示例。 volatile 的工作原理。 CAS 机制是什么?如何实现? 用至少四种方式写一个单例模式。 (以上为热身题,你能答对几道?) 介绍 JVM 内存模型?用过哪些垃圾回收器? 线上频繁 Full GC 如何处理?CPU 使用率过高怎么办? 如何定位线上问题?解决思路是什么? 了解字...
2025-12-05
BAT 面试中常见的 MySQL 问题整理
若某表具有自增主键 ID,在插入 17 条记录后,删除第 15、16、17 条记录,重启 MySQL 后再插入一条记录,这条记录的 ID 会是 15 还是18? MySQL 的技术特点有哪些? 请解释什么是 Heap 表。 MySQL 服务器的默认端口号是多少? 与 Oracle 相比,MySQL 有哪些优势? 如何区分 FLOAT 和 DOUBLE 类型? CHAR_LENGTH 和 LENGTH 函数有什么区别? 简述 InnoDB 存储引擎支持的四类事务隔离级别及其区别。 ENUM 类型在 MySQL 中如何使用? 如何定义并使用 REGEXP 进行正则匹配? CHAR 与 VARCHAR 的区别是什么? 列的字符串类型可以有哪些? 如何查看当前 MySQL 的版本信息? MySQL 常用的存储引擎有哪些? 什么是 MySQL 驱动程序? TIMESTAMP 类型字段设置为 ON UPDATE CURRENT_TIMESTAMP 时会有什么效果? 主键和候选键的区别是什么? 如何使用 Unix shell 登录 MySQL? myisamchk 工具的作用是什么? 有哪些命...
2025-12-05
Java 字符串创建方式的两道典型面试题解析
在 Java 中,创建 String 类型的变量通常有以下两种方式: javaString str1 = “abcd”;String str2 = new String(“abcd”);为什么会有这两种方式?它们在内存中的表现有何不同?下面通过两道常见的面试题来解析。 面试题一:javaString a = “abcd”;String b = “abcd”;System.out.println(a == b); // trueSystem.out.println(a.equals(b)); // true解析:使用双引号直接赋值的字符串,如果内容相同,JVM 会将其放入字符串常量池中,并让变量指向同一内存地址。因此 a == b 比较引用时返回true,equals 比较内容也返回 true。 面试题二:javaString c = new String(“abcd”);String d = new String(“abcd”);System...
2025-12-05
Java 面试经典 77 题(涵盖基础与进阶)
“金三银四”求职季即将到来,你是否也在准备面试或已经历了几轮“车轮战”? 这里为大家整理了 77 道经典 Java 面试题,涵盖语言基础、集合、并发、JVM、数据库、Web 等方面。如果你的基础还不够扎实,或面试表现不佳,不妨从这些题目入手。 什么是 Java 虚拟机?为什么 Java 被称为“平台无关语言”? JDK 与 JRE 的区别。 static 关键字的含义,能否覆盖 private 或 static 方法? 静态环境中能否访问非静态变量? Java 支持哪些数据类型?什么是自动装箱与拆箱? 方法覆盖(Overriding)与重载(Overloading)的区别。 构造函数、构造函数重载、复制构造函数的概念。 Java 是否支持多继承? 接口与抽象类的区别。 值传递与引用传递的区别。 进程与线程的区别。 创建线程的几种方式,你偏好哪种?为什么? 线程的几种状态及其含义。 同步方法与同步代码块的区别。 什么是死锁? 如何避免 N 个线程访问 N 个资源时发生死锁? 集合框架的基本接口有哪些? 为什么集合类没有实现 Cloneable 与 Serializable? 什么是...
评论
