java面试题_Java后端面试题精选

本文已经收录到开源项目《大厂面试指北》,获取《大厂面试指北》离线PDF版,请关注公众号"大厂面试"

大厂面试公众号:

MySQL慢查询优化(线上案例调优)​mp.weixin.qq.com

《大厂面试指北》最佳预览地址:

《大厂面试指北》​notfound9.github.io

《大厂面试指北》项目地址:

https://github.com/NotFound9/interviewGuide​github.com

项目截图:

daa07254059e4f09b18d3411ead8ddec.png

为什么要做这个开源项目?

我就是个普通的程序员,只是喜欢在空闲时看一些技术书籍,但是发现看完后,即便每一章都写了读书笔记,看到一些相关的面试题时,自己还是一脸茫然,所以我认为学习一项技术分为三个阶段:

1.看过入门教程,会用API。

2.看过相关的技术书籍,了解一部分原理。

3.能够对面试题进行分析,做出正确的解答,这样才能对技术有较为深入的理解,在工作中遇到复杂问题时,才能解决。

所以我发起了这个项目, 一方面是督促自己学习。 一方面是将这些面试题整理后,写完解答后分享给大家,希望可以帮助到大家,也欢迎大家一起来完善这个项目,为开源做贡献。为了方便交流,也建了一个技术交流群,欢迎大家扫码加入!会分享一些我自己在看的一些技术资料给大家!同时也希望大家给这个开源项目点一个Star,谢谢大家了!

目录

  • 首页
  • Java
  • 基础
    • 1.Java中的多态是什么?
    • 2.Java中变量,代码块,构造器之间执行顺序是怎么样的?
    • 3.final关键字有哪些作用?
    • 4.Integer类会进行缓存吗?
    • 5.抽象类有哪些特点?
    • 6.String,StringBuffer和StringBuilder之间的区别是什么?
    • 7.编译型编程语言,解释型编程语言,伪编译型语言的区别是什么?
    • 8.Java中的访问控制符有哪些?
    • 9.Java的构造器有哪些特点?
    • 10.Java中的内部类是怎么样的?
  • 容器
    • ArrayList和LinkedList
    • 1.ArrayList与LinkedList的区别是什么?
    • 2.怎么使ArrayList,LinkedList变成线程安全的呢?
    • 3.ArrayList遍历时删除元素有哪些方法?
    • 4.ConcurrentModificationException是什么?
    • 5.java容器类的层次是怎么样的?
    • HashMap和ConcurrentHashMap
    • 1.HashMap添加一个键值对的过程是怎么样的?
    • 2.ConcurrentHashMap添加一个键值对的过程是怎么样的?
    • 3.HashMap与HashTable,ConcurrentHashMap的区别是什么?
    • 4.HashMap扩容后是否需要rehash?
    • 5.HashMap扩容是怎样扩容的,为什么都是2的N次幂的大小?
    • 6.ConcurrentHashMap是怎么记录元素个数size的?
    • 7.为什么ConcurrentHashMap,HashTable不支持key,value为null?
    • 8.HashSet和HashMap的区别?
    • 9.HashMap遍历时删除元素的有哪些实现方法?
  • 多线程
    • 1.进程与线程的区别是什么?
    • 2.Java中单例有哪些写法?
    • 3.Java中创建线程有哪些方式?
    • 4.如何解决序列化时可以创建出单例对象的问题?
  • JVM(待完善)
    • 1.垃圾回收有哪些特点?
    • 2.在垃圾回收机制中,对象在内存中的状态有哪几种?
    • 3.对象的强引用,软引用,弱引用和虚引用的区别是什么?
  • Redis
  • 基础
    • 1.Redis是什么?
    • 2.Redis过期key是怎么样清理的?
    • 3.Redis为什么是单线程的?
    • 4.Redis的性能为什么这么高?
    • 5.Linux中IO模型一共有哪些?
    • 6.同步与异步的区别是什么?
    • 7.阻塞与非阻塞的区别是什么?
    • 8.如何解决Redis缓存穿透问题?
    • 9.如何解决Redis缓存雪崩问题?
  • 数据结构
    • 1.Redis常见的数据结构有哪些?
    • 2.谈一谈你对Redis中简单动态字符串的理解?
    • 3.谈一谈你对Redis中hash对象的理解?
    • 4.谈一谈你对Redis中List的理解?
    • 5.谈一谈你对Redis中Set的理解?
    • 6.谈一谈你对Redis中有序集合ZSet的理解?
    • 7.布隆过滤器是什么?
  • 持久化(AOF和RDB)
    • 1.Redis的持久化是怎么实现的?
    • 2.AOF和RDB的区别是什么?
    • 3.怎么防止AOF文件越来越大?
    • 4.Redis持久化策略该如何进行选择?
  • 高可用(主从切换和哨兵机制)
    • 1.Redis主从同步是怎么实现的?
    • 2.Redis中哨兵是什么?
    • 3.客户端是怎么接入哨兵系统的?
    • 4.Redis哨兵系统是怎么实现自动故障转移的?
  • 好书推荐
  • 读书笔记
  • Redis设计与实现读书笔记 上
  • Redis设计与实现读书笔记 下
  • MySQL必知必会读书笔记

如何为这个开源项目做贡献?

如果你想一起参与这个项目,可以提Pull Request,可以扫上面的入群二维码进群,如果入群二维码失效了,也可以扫我的微信,我们一起聊聊!

关于我

我平时比较喜欢看书,写技术文章,也比较喜欢讨论技术。这是我的掘金主页,希望大家可以关注一下,谢谢了!大家如果有事需要联系我,或者想进技术群,一起讨论技术,也可以加我,谢谢了!

关于转载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值