我分享文章的时候,有个读者回复说他去年就关注了我的微信公众号,打算看完我的所有文章,然后去面试,结果我后来很长时间不更新了。。。所以为了弥补一直等我的娃儿们,给大家的金三银四准备了100道花时间准备的高频Java面试题,大家不要太感动,记得点赞评论就行。
这次只放出九十道,剩下10道准备找认识的几位面试官去要,希望不会被拒绝。
这些题我认为认真思考还是很有价值的,答案整理中,全部整理好,我会做出PDF,整理好后大家公众号后台回复“Java面试题”领取。
90道高频面试题
- 自我介绍一下
- 项目中用到的技术栈介绍一下
- 做的自认为比较满意的点讲一讲?
- 如果这个方案让你重新设计,你怎么做?
- Java集合类都有哪些?
- ArrayList 和 LinkedList 区别?
- HashMap 实现数据结构和扩容过程?
- ArrayList 和 LinkedList 区别? 你平常怎么选择?
- 异常类都有哪些?Exception 和 Error什么区别?
- Synchronized 原理,锁膨胀过程 ?
- Synchronized 和 reentrantlock 区别?
- 线程池原理是怎样的?
- 分布式事务一致性怎么实现?
- 消息乱序遇到过吗? 怎么解决的?
- ThreadLocal 用过吗?实现机制?
- wait、sleep区别?
- 反射用过吗?什么原理?
- 动态代理了解吗? cglib什么区别
- 单例模式了解吗? 实现一个线程安全的单例模式?
- *队列和有界队列?
- AQS 知道吗?
- volatile了解吗?
- 实现一个生产者消费者例子
- Java内存模型清楚吗?
- 遇到过线上性能问题吗? 怎么排查的?
- 网络问题遇到过吗?TIME_WAIT和CLOSE_WAIT的区别
- 三次握手讲一讲
- CountDownLatch、Seamphone、CyclicBarrier 都了解吗?
- private、protected、public、关键字你平常怎么用的?
- Java是值传递还是引用传递,写一段对象拷贝的代码
- 内存回收机制了解吗?
- 新生代和老生代区别?
- 垃圾回收器有哪几种? 你们生产环境用的哪种或哪几种?
- Java线程和操作系统线程什么关系?
- 线程有几种状态,线程生命周期讲讲
- MySQL 索引使用什么数据结构?为什么用 B+做索引?
- 什么是最左匹配原则?
- 在建表的时候如何设计所以的?有没有做过索引优化 ?
- 分库分表做了吗? 怎么实现的?
- MySQL 主从同步怎么做的?binlog清楚吗?
- 有没有做分库分表?怎么设计的?
- 用userId做的分库分表,现在需要用电话号码查询怎么办?
- 你们用的什么日志框架,log4j 和logback ?和slf4j什么区别?
- redis 的String 是怎么实现的? 为什么不直接用c的?
- redis 是单线程的吗? 为什么这么快?
- redis 中有哪几种数据结构?分别代表什么
- 类加载机制了解吗?
- 什么是双亲委派模式
- concurrenthashmap 什么原理?
- Spring AOP与IOC的实现原理
- Spring的BeanFactory和FactoryBean的区别
- 讲讲Spring中一个Bean的加载流程?
- Spring的事务的隔离级别?
- Autowired注解的原理?
- 用的什么rpc框架
- 幂等了解吗? 你们系统怎么做幂等的
- 限流、熔断有了解吗?如何实现的
- 消息中间件如何解决消息丢失、消息乱序问题?
- 分布式事务保证一致性?
- 分布式锁的实现?
- 实现一个分布式自增id?
- 海量url怎么去重?
- Redis有没有做持久化,怎么做的?
- 工作中用到了那些设计模式?
- 什么是一致性hash?
- 项目中用过什么设计模式?清楚模板方法、策略模式、责任链模式吗?
- MySQL InnoDB存储的文件结构
- 讲讲乐观锁和悲观锁
- cpu 100% 遇到过吗? 怎么解决的
- 更新数据机制? 先更新缓存还是DB?
- 缓存穿透、雪崩有了解吗
- 设计一个抢红包的程序?
- Dp背包问题?
- Minor GC 与 Full GC 分别在什么时候发生?
- Java 类加载过程?
- 谈谈对Spring IOC和DI的理解?
- 你常用的git 命令?
- 线程调用start 和 run 什么区别? 会有什么效果
- 中序遍历二叉树
- 之前项目遇到过什么挑战?
- 项目中你认为做的最有价值的功能?
- 父类和子类有同一个属性,实例化子类时是否会包含父类的属性?
- 有没有出现过Full Gc等问题? 你是怎么排查的?
- 一般是怎么判断SQL 索引设置是否合理的?
- 什么是不可变对象?String 类为什么设计成不可变的?
- 抽象类和接口什么区别?你在做接口和类设计时如何选择?
- HashMap的key 类型有什么要求?
- 写一个深度优先算法?
- 写快速排序 & 冒泡排序?
- 什么是用户空间和内核空间?有什么区别?
大家先思考思考,答案更新完毕在公众号后台回复”Java面试题“ 暗号领取。
希望大家金三银四找到自己满意的工作,不看机会的同学升职加薪,必拿3.75。