没有一点点防备,也没有一丝顾虑,就这样大三了……
最近游走于各大技术交流群,逛遍牛客面经(“逛”划重点,学习是不可能学习的),看着内推码一个又一个从眼前飘过,留下了不学无术的泪水!

古有 “ 生于忧患而死于安乐也!” 要想成为一个技术人员,应该未雨绸缪,拥有丰厚的知识储备。好的,不**了,此篇博客主要是记录一些常见的面试题,可能不够全面,但是在仅有的时间内,只能尽量理解好每一个知识点了。通过面试题来促进对编程的理解,查缺补漏,或许也是一个不错的学习方法!
一、Java
Java与C++的区别
面向对象的三大特性,它和面向过程有什么区别
JDK和JRE的区别是什么
Java支持的数据类型有哪些?什么是自动拆装箱
说明一下int和Integer有什么区别
访问修饰符public,private,protected的区别
接口和抽象类的区别是什么
解释什么是值传递和引用传递,Java是采用那种方式
请你谈谈Java是如何支持正则表达式操作的?
Lamda表达式的优缺点
Java8的新特性,为什么现在还有很多项目使用Java8
String、StringBuilder和StringBuffer的区别,应用场景
equals() 和 == 的区别,两个Integer类型数据用 == 比较,分析结果
为什么重写equals还要重写hashcode
Object类的通用方法
什么是java序列化,如何实现java序列化
java中会存在内存泄漏吗
error和exception有什么区别
JAVA语言如何进行异常处理,关键字:throws、throw、 try、catch、finally 分别代表什么意义?在try块中可以抛出异常吗?
ArrayList和LinkedList的区别,原理,应用场景
HashMap的负载因子为什么是0.75
HashMap和Hashtable的区别,原理,应用场景
ConcurrentHashMap的原理,应用场景
简单说明一下什么是迭代器
说明Java中反射的实现过程和作用分别是什么
线程有哪几类
创建线程有几种不同的方式
解释一下什么是线程池
Synchronized和lock的区别
介绍一下volatile
详细描述一下线程从创建到死亡的几种状态都有哪些
说明sleep() 和 wait() 有什么区别
乐观锁&悲观锁
什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”
JVM类加载机制
jvm最大内存限制多少
GC中如何判断对象是否需要被回收
垃圾回收算法的好处,常见的调优机制
二、Web
get请求和post请求
cookie和session区别
三、数据库
事务的特性
事务的隔离级别
B+Tree与红黑树的比较
索引的优点与缺点
MYSQL查询速度慢怎么办
四、操作系统
什么是线程,进程和线程的区别是什么、
什么是死锁,怎么解除死锁
线程之间的通讯方式 (原理)
僵死进程怎么检测
介绍一下,socket编程的三种通信模型,BIO,NIO,AIO
五、计算机网络
路由器和交换机的区别
为什么tcp为什么要建立连接,连接和释放过程
TCP 应用场景
TCP和UDP区别
http和https的区别
谈谈DNS的寻址过程
浏览器从接收到一个URL,到最后展示出页面,经历了哪些过程
简单讲解一下,负载均衡 反向代理模式的优点、缺点
六、数据结构与算法
快排思想,时间复杂度
什么是优先级队列(Priority Queue)
KMP
B+树和B树
刷题
刷题
……
以上便是我在牛客面经中看到的频率较高的基础面试题,大佬们还有什么要补充的,也可以在评论区留言,万分感谢!
七、最后
种一颗树最好的时间是十年前,其次是现在!
- 本文作者: a_Gen
- 本文链接: http://imaginee.cn/2020/03/27/Java高频面试题(基础篇)/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!