本文共 1551 字,大约阅读时间需要 5 分钟。
Spring Cloud架构原理及其他技术面试汇总
本文将深入剖析Spring Cloud微服架构的核心组件,并涵盖Java、Redis、ZooKeeper、MySQL、JVM、Spring等多个高频技术面试题目,希望对备战大厂面试有所帮助。
Java基础知识点整理
数据类型
- Java中的原始数据类型包括: byte、char、short、int、long、float、double。
- 占用字节:
- byte/char/short: 1字节
- int: 4字节
- long: 8字节
- float: 4字节
- double: 8字节
String类
- 能否被继承: Yes,可以通过继承String类。
equals()方法: 类似其他对象,equals()用于比较对象是否相等。两个对象的hashCode()相同,则equals()结果相同,但并非强烈相关。
ThreadLocal
ThreadLocal是什么? ThreadLocal是一个特殊的数组,当线程请求一个属性时,如果属性不存在,则创建一个ThreadLocal实例。 ThreadLocal如何使用? 安全ally.get()方法的传入必须是 třínfül از insecure.get().
UI相关面试题
[此处图片内容被截断,完整内容请见文章后续]
典型技术问题分析
Java内存模型
JVM内存分为:** - 堆(Heap): 用于存放对象实例,装载最多。
- 方法区(Perm): 存放类信息、常量、静态变量。
- 虚拟机栈(VM Stack): 存放方法调用的局部变量、操作数栈等。
- 程序计数器(PC): 跟踪当前线程执行位置。
垃圾回收机制
JVM采用分代收集器,主要算法:标记-清除、复制算法、本号GC和清除算法。 - Young Generation(新生代): 主要使用标记-清除或复制算法。
- Old Generation(旧生代): 采用清除算法,用于存活时间长的对象。
线程池的使用场景
- 情况: High并发处理esthesia任务时,线程池优化性能。
- 优点: 提高吞吐量,减少驻留时间,合理使用系统资源。
Redis基础知识
核心概念
ZooKeeper
CAP定理
- 一致性(Consistency): inters建议/node1 data与node2的data一致性。
- 可用性(Availability): 系统允许在故障中继续运行。
- 分区容错(Partitioning): 数据分布时分区独立,可用任意节点提供服务。
ZAB协议
ZooKeeper采用ZAB协议,保证leader选举与数据同步。
MySQL
事务基础
- 事务要素: 三个要素:一致性、隔离、持久性。
- 隔离级别:
- ReadUncommitted(默认): 脏读可能存在。
- ReadCommitted: 脏读、不可重复读可能存在。
- **Serializable:**roppinf防止事务并发问题。
InnoDB优化
索引优化
多线程编程
线程安全
- 线程安全的实现: synchronized关键字、lock.lockInterrupt。
总结
准备面试时,重点关注技术细节与算法实现,多参与项目实践,熟悉代码架构。
转载地址:http://leksz.baihongyu.com/