有意思的面试记录
碰见一个很有意思的【百度面试】,和我好像hhh
链接:https://www.bilibili.com/video/BV18Z4y1T7yZ/
【类加载机制】
类加载过程:加载+链接+初始化
双亲委派 -- 保证程序的稳定性
tomcat -- 类加载,破坏(同个jar包不同版本,得使用不同版本的)
【JVM 内存模型】
堆、栈、程序计数器、本地栈
栈,执行方法就会入栈,还会存局部变量。异常:StackOverflow(递归)、OOM
本地方法栈:native 方法
堆:存储对象
垃圾回收机制、划区
方法区:常量、静态变量
【JVM 调优】
参考:https://cloud.tencent.com/developer/article/1492834
jps -- 显示虚拟机进程
jstat -- 线程快照,
jmap --
jinfo -- 配置信息
【Java 多线程】
核心参数:
核心线程可以销毁吗? -- 有个参数allowCoreThreadTimeOut 默认是false,如果开启,这就违背了创建核心线程的初衷-- 就是为了 减少线程创建和开销
happen before 并发变成的规范规则:多线程操作下,对于共享变量具有可见性
顺序规则:按照代码的顺序,前面代码操作对后面代码课件
volatile变量规则:一个变量的写操作 先行于 读操作
传递规则:A happen before B,B before C ==> A before C
解决 可见性、原子性、有序性
遇到并发的问题:
Spring 如何解决并发问题?
【Java锁】
synchronized -- 锁的粒度
ReenterLock -- 依赖AQS框架
AQS 独占式模式 == volatile 修饰一个静态资源,用队列存储阻塞等待的线程,从而实现锁
【Spring】
介绍一下:ioc的引入,使用容器来管理bean对象。
aop 面向切面编程 -- 不改变原方法,实现方法增强。本质是动态代理(运行时先用反射获取这个类对象,再在方法区创建一个新的类)
bean的生命周期
循环依赖:检测机制,启动会报错
AOP:那两种方式实现aop -- JDK、CGlib实现
为什么只能继承接口?
这两种方式的应用场景:两者的优劣势
类加载机制?
发起一个Http请求的过程?
host -> DNS 查ip
HTTP body:请求行、请求头、请求体
get
post
区别:请求服务器,ajax 发送get请求 | post == 发送表单
http版本:1.0 1.1 2.0
1.1 默认启动长链接
【数据库】
sql执行流程
1、验证器 -- 权限验证
2、分析器 -- 词法分析
3、优化器 -- 选择索引
4、执行器 --
引擎
innodb -- 支持事务,支持行锁
myisAM --
两者对比
什么是事务?
ACID:原子性、一致性、隔离性、持续性
原子性主要依赖 undolog
隔离性:事务执行过程中,其他事务对数据的更改对该事务的可见性
读未提交、读提交、可重复、串行化
读提交 + 可重复 -- MVCC
串行化 -- 加锁
持久性 -- redolog
redolog + binlog 配合 两阶段提交
binlog 的格式有几种?
MVCC -- 如何实现?
索引背后的数据结构? B+树
索引分为哪几类?聚合索引、非聚合索引
如何设置?为什么要这么设置?
索引优化的手段还有哪些?
【Redis】
哪几个类型的数据类型?
用Redis用来做什么的?redis 实现分布式锁 setux
redis 支持事务?为什么不支持事务的原子性?
部署在多个集群上,你们是通过什么方式来访问集群的?
rpc的框架? -- remote process call 就像本地一样调用方法
一次调用的流程?
消费者
生产者暴露rpc接口
client 调用 映射成为一个call id,将参数序列化,二进制发送给服务端,等待服务器返回结果
序列化、反序列协议?
什么是序列化? Java对象可以脱离程序的运行,而独立存在。
dubbo的序列化方式:
fastjson、protoBuf、Kryo(大数据领域)
git、maven
git 是什么?
svn -- 中心服务器的概念
working tree -- stage -- 版本序列中
reset、revert 的区别
maven的生命周期
validate -- 验证项目
compile
test
package
A B C 项目之间如何传递?
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix