面试百度、阿里、腾讯,这134道Java面试题你会多少?
这里一共是134道Java面试题,看看你能对几道吧!
1. Java 语言有哪些特点
2. 面向对象和面向过程的区别
3. 关于 JVM JDK 和 JRE 最详细通俗的解答
4. Oracle JDK 和 OpenJDK 的对比
5. Java 和 和 C++ 的区别
6.什么是 Java 程序的主类 应用程序和小程序的主类有何不同
7. Java 应用程序与小程序之间有那些差别
8. 字符型常量和字符串常量的区别
9. 构造器 Constructor 是否可被 override
10. 重载和重写的区别
11. Java 面向对象编程三大特性: 封装 继承 多态
12. String StringBuffer 和 StringBuilder 的区别是什么 String 为什么是不可变的
13. 自动装箱与拆箱
14. 在一个静态方法内调用一个非静态成员为什么是非法的
15. 在 Java 中定义一个不做事且没有参数的构造方法的作用
16. import java 和 和 javax 有什么区别
17. 接口和抽象类的区别是什么
18. 成员变量与局部变量的区别有那些
19. 创建一个对象用什么运算符? 对象实体与对象引用有何不同?
20. 一个类的构造方法的作用是什么 若一个类没有声明构造方法, 该程序能正确执行吗 ?
21. 内存模型以及分区,需要详细到每个区放什么。
22 .堆里面的分区:Eden,survival (from+ to),老年代,各自的特点。
23. 对象创建方法,对象的内存分配,对象的访问定位。
24. GC 的两种判定方法:
25. SafePoint 是什么
26. GC 的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路?
27. GC 收集器有哪些?CMS 收集器与 G1 收集器的特点。
28. Minor GC 与 Full GC 分别在什么时候发生?
29. 几种常用的内存调试工具:jmap、jstack、jconsole、jhat
30. 类加载的几个过程:
31.JVM 内存分哪几个区,每个区的作用是什么?
32.如和判断一个对象是否存活?(或者 GC 对象的判定方法)
33.简述 java 垃圾回收机制?
34.java 中垃圾收集的方法有哪些?
35.java 内存模型
36.java 类加载过程?
37. 简述 java 类加载机制?
38. 类加载器双亲委派模型机制?
39.什么是类加载器,类加载器有哪些?
40.简述 java 内存分配与回收策率以及 Minor GC 和Major GC
41、什么是 Redis?简述它的优缺点?
42、Redis 与 memcached 相比有哪些优势?
43、Redis 支持哪几种数据类型?
44、Redis 主要消耗什么物理资源?
45、Redis 有哪几种数据淘汰策略?
46、Redis 官方为什么不提供 Windows 版本?
47、一个字符串类型的值能存储最大容量是多少?
48、为什么 Redis 需要把所有数据放到内存中?
49、Redis 集群方案应该怎么做?都有哪些方案?
50、Redis 集群方案什么情况下会导致整个集群不可用?
51、MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis 中的数据都是热点数据?
52、Redis 有哪些适合的场景?
53、Redis 支持的 Java 客户端都有哪些?官方推荐用哪个?
54、Redis 和 Redisson 有什么关系?
55、Jedis 与 Redisson 对比有什么优缺点?
56、说说 Redis 哈希槽的概念?
57、Redis 集群的主从复制模型是怎样的?
58、Redis 集群会有写操作丢失吗?为什么?
59、Redis 集群如何选择数据库?
60、Redis 如何做内存优化?
71 、什么是 Spring 框架?Spring 框架有哪些主要模块?
72 、使用 Spring 框架能带来哪些好处?
73 、什么是控制反转(IOC) ?什么是依赖注入?
74 、请解释下 Spring 框架中的 IoC ?
75 、BeanFactory 和 和 ApplicationContext 有什么区别?
76 、Spring 有几种配置方式?
77 、如何用基于 XML 配置的方式配置 Spring ?
78 、如何用基于 Java 配置的方式配置 Spring ?
79 、怎样用注解的方式配置 Spring ?
80 、请解释 Spring Bean 的生命周期?
81 、Spring Bean 的作用域之间有什么区别?
82 、什么是 Spring inner beans ?
83 、Spring 框架中的单例 Beans 是线程安全的么?
84 、请举例说明如何在 Spring 中注入一个 Java Collection ?
85 、如何向 Spring Bean 中注入一个 Java.util.Properties
86 、请解释 Spring Bean 的自动装配?
87 、请解释自动装配模式的区别?
88 、如何开启基于注解的自动装配?
89 、请举例解释@Required 注解?
90 、请举例解释@Autowired 注解?
91 、请举例说明@Qualifier 注解?
92 、构造方法注入和设值注入有什么区别?
93 、Spring 框架中有哪些不同类型的事件?
94 、FileSystemResource 和 和 ClassPathResource 有何区别?
95 、Spring 框架中都用到了哪些设计模式?
96.RabbitMQ 中的 broker 是指什么?cluster 又是指什么?
97.RabbitMQ 上的一个 queue 中存放的 message 是否有数量限制?
98.什么是 ActiveMQ?
99.Kafka 判断一个节点是否还活着有那两个条件?
100、Kafka 消息是采用 Pull 模式,还是 Push 模式?
101. 数据库三范式是什么?
102. 有哪些数据库优化方面的经验?
103. 请简述常用的索引有哪些种类?
104. 以及在 mysql 数据库中索引的工作机制是什么?
105.MySQL 的基础操作命令
106.mysql 的复制原理以及流程。
107.mysql 支持的复制类型?
108.mysql 中 中 varchar 与 与 char 的区别以及 varchar(50) 中的 50 代表的涵义?
109. 表中有大字段 X (例如:text 类型),且字段 X 不会经常更新,以读为为主,将该字段拆成子表好处是什么?
110.MySQL 中 中 InnoDB 引擎的行锁是通过加在什么上完成(或称实现)的?
111.分布式系统怎么做服务治理
112.对分布式事务的理解
113.如何实现负载均衡,有哪些算法可以实现?
114.分布式集群下如何做到唯一序列号
115. 什么是进程
116. 什么是线程
117. 线程和进程有什么区别
118. 多线程的几种实现方式
119. 多线程中忙循环是什么
120. 为什么要用线程池?
121.在java中守护线程和本地线程区别?
122.Java中用到的线程调度算法是什么?
123.为什么使用Executor框架?
124.什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)?
125.Java Concurrency API中的Lock接口(Lock interface)是什么?对比同步它有什么优势?
126.什么是阻塞队列?阻塞队列的实现原理是什么?如何使用阻塞队列来实现生产者-消费者模型?
127.什么是并发容器的实现?
128.多线程同步和互斥有几种实现方法,都是什么?
129.为什么我们调用start()方法时会执行run()方法,为什么我们不能直接调用run()方法?
130.什么是不可变对象,它对写并发应用有什么帮助?
131.Java中ConcurrentHashMap的并发度是什么?
132.JVM中哪个参数是用来控制线程的栈堆栈小的?
133.你如何在Java中获取线程堆栈?
134.volatile 变量和 atomic 变量有什么不同?
最后
欢迎大家一起交流,喜欢文章记得关注我点个赞哟,感谢支持!