Java面试思路
2024-01-29 09:56:17 19 举报
AI智能生成
在面试Java开发者时,首先会考察其基础知识,如Java的基本语法、数据类型、运算符、流程控制等。接着,会深入到面向对象编程,包括类和对象、继承、封装、多态等概念的理解和应用。然后,会考察对Java核心API的理解和使用,如集合框架、异常处理、输入输出流等。此外,还会关注其对Java内存模型、垃圾回收机制的理解。对于并发编程,会考察线程的创建和管理、同步、锁等知识。最后,会通过实际项目问题或者代码编程题来考察其解决问题的能力和编码质量。
作者其他创作
大纲/内容
如何保证线程安全?
项目中如何用线程的?
线程池的参数有哪些?这些参数都是怎么得来的
线程池的原理
线程的状态
线程如何返回一个结果
JUC并发编程包了解吗?
并发和并行的区别?
atomic了解吗?
volatile和锁的区别?
Java内存模型
JVM内存结构是怎样的?
什么是双亲委派机制?为什么要有这样的机制?
gc回收算法有哪些?JVM用的哪个?
什么是内存泄露?什么是内存逃逸?
JVM优化了解吗?
如何保证可见性的?
集合
hashMap线程安全吗
hash结构是怎么样的?
为什么会hash冲突?
线程安全的Map有知道?
HashMap底层实现?
扩容机制怎么样的?
为什么负载因子是0.75
为什么需要红黑树?
二叉树,AVL树,红黑树的区别?
ArrayList线程安全吗?
为什么线程不安全?
它是怎么保证线程安全的?
线程安全List有吗?它是怎么保证线程安全的
ThreadLocal项目中用过吗?
底层怎么实现的?
项目中用过ThreadLocal来解决什么问题?为什么要用它
线程安全吗?他为什么是线程安全吗?
你知道的锁有哪些?
什么是悲观锁和乐观?怎么实现的?
synchronized底层实现
什么是偏向锁/轻量级锁/重量级锁?
CAS/AQS?
ABA的问题了解吗?
MySQL数据库中有那些琐?
索引有哪些?底层怎么实现的?
簇集索引和非簇集索引区别
什么会回表?什么是跳表?
索引为什么要使用B+树,而不用B树
什么是倒排索引?
MySQL事务回滚的原理?
事务隔离级别有哪些?都能解决哪些问题?
MySQL优化
执行计划你是怎么看的?
MySQL优化设计层面怎么做的?
redo log, undo log,binlog 是解决什么问题的?
MySQL储存过程项目中用过吗?
MySQL中行级锁和表级锁了解吗?
你们分库分库是怎么做的?
什么是分布式锁?
为什么要有分布式锁?
分布式锁的实现有哪些?它们的区别
什么是CAP?
什么是Base定律
分布式事务解决方案有哪些?
如何保证一致性?
nacos/eureka/redis/zk 中 CAP是如何选择的?
它们是怎么搭建集群的?
它们如何选举的?
它们数据是怎么同步的?
缓存穿透?缓存击穿?怎么解决?布隆过滤器了解吗?
微服务
SpringCloudAlibaba/SpringCloud了解吗?
怎么做服务熔断?服务降级?
服务日志如何记录?
什么网关?你们项目在网关中都做了什么?
怎么做限流的?
MQ
怎么保证消息可靠传输?
怎么解决消息重复消费?
什么是延时队列?什么是死信队列?项目中用过吗?
SpringBoot自动装配机制?
Spring两大核心
动态代理的实现方式
JDK实现动态代理为什么要有接口?
动态代理的类文件在哪里?
项目中有没有用AOP来解决业务问题?
Spring三级缓存是解决什么问题的
Spring创建Bea的生命周期
如何保证接口幂等性?
项目中使用分布式锁的场景?
0 条评论
下一页