Java基础面试问题总结1

面试题,不含答案

1.jvm和jdk,jre的区别

2.什么是字节码?采用字节码的好处是什么?

3.Java 程序从源代码到运行的过程

4.jdk9引入了一种新的编译模式aot,为什么不全部使用aot

5.continue、break 和 return 的区别是什么?

6.Java 中有 8 种基本数据类型

7.基本类型和包装类型的区别

8.字符型常量和字符串常量的区别

9.Constructor构造器是否能被override

10.重载和重写的区别

11.面向对象三大特征

12、String StringBuffer和StringBuilder的区别

13、自动装箱和拆箱

14、在一个静态方法内部调用一个非静态成员为什么是非法的

15、在Java中定义一个空的构造方法的作用

16、接口和抽象类的区别

17、成员变量与局部变量的区别

18、对象引用和对象实体有何不同

19、一个类的构造方法的作用是什么?若一个类没有声明构造方法,该程序可以正常执行吗?

20、构造方法有哪些特性

21、静态方法和实例方法的区别

22、引用相等和对象相等

23、==和equals的区别

24、为什么重写equals时必须重写hashcode

25、为什么Java中只有值传递

26、线程和进程

27、线程有哪些状态

28、final关键字

29、Java中的异常以及异常处理

30、Java中如何禁止序列化

31、Java中IO流

32、BIO、NIO、AIO的区别

33、static、final、this、super关键字总结

34、深拷贝和浅拷贝

35、Collections工具类和Arrays工具类的常见方法

36、List、Set和Map的区别

37、ArrayList、LinkedList和Vecotor的区别

38、RandomAccess接口

40、ArrayList的扩容机制

41、HashMap、HashTable和TreeMap的区别

42、hashmap和hashset的区别

43、hashset如何检查重复

44、HashMap的底层实现原理

45、HashMap为什么一定要使用红黑树,二叉树有什么缺点

46、ConcurrentHashMap和HashTable的区别

47、程序计数器为什么是私有的

48、虚拟机栈和本地方法栈为什么是线程私有的

49、一句话简单了解堆和方法区

50、并发和并行的区别

51、为什么使用多线程

52、多线程可能带来什么问题

53、死锁产生的原因,以及如何避免死锁

54、sleep和wait的区别

55、为什么我们调用start方法时会执行run方法,为什么不能直接调用run方法

56、说说自己如何使用synchronized关键字,应用场景

57、synchronized关键字的底层原理

58、synchronized和ReentrantLock区别

59、简要概括java内存模型

60、volatile关键字的主要作用

61、synchronized和volatile关键字的区别

62、threadlocal有什么用,底层原理是什么

63、threadLocal内存泄漏原因,如何处理

64、为什么使用线程池

65、实现runnable接口和callable接口的区别

66、excute和submit方法的区别

67、如何创建线程池

68、ThreadPoolExcutor饱和策略

69、介绍一下 Atomic 原子类

70、AtomicInteger原理

71、AQS详解

72、Java内存区域划分

73、为什么用元空间替换永久代?

74、运行时常量池

75、一个 Java 对象是如何被创建的?

76、堆内存中对象分配的基本策略

77、Minor GC 和 Full GC有什么区别

78、如何判断对象死亡的两种方法

79、垃圾收集都有哪些算法,各自的特点

80、hotspot为什么要分为老年代和新生代

81、类加载过程

82、双亲委派模型

83、TCP/IP三次握手和四次挥手

  1. 为什么需要三次握手
  2. 为什么需要四次挥手
  3. 三次挥手中为什么要回传SYN
  4. 传了SYN为啥还要传ACK

84、在浏览器中输入url>>>显示主页的过程

85、HTTP是不保存状态的协议,如何保存用户状态?

86、Cookie和Session的区别

87、http和https的区别

88、Collection之Queue、Set、List

89、线程间的同步方式有哪些

90、mysql查看当前存储引擎

show variables like '%storage_engine%';

91、查看表的存储引擎

show table status like "table_name";

92、mylsam和innodb的区别

93、mysql索引使用的数据结构

94、mysql缓存的优缺点

95、什么是事务

96、事务的四大特性

97、并发事务带来哪些问题

98、事务隔离级别有哪些?mysql的默认隔离级别?

99、mylsam和innodb存储引擎使用的锁是什么

100、大表的优化

101、解释一下什么是池化设计思想。什么是数据库连接池,为什么需要数据库连接池

102、分库分表之后,id主键如何处理

103、一条SQL语句在mysql中是如何执行的

105、一条SQL执行的很慢原因有哪些

106、为什么要用缓存

107、为什么要用redis而不用map、guava做缓存?

108、redis的线程模型

109、redis和memcached的区别

110、redis常见的数据结构和应用场景

111、redis是如何对设置了过期时间的key进行删除的?

112、MySQL中有2000w数据,redis中只有20w的数据,如何保证redis中的数据都是热点数据?(redis内存淘汰机制)

113、如何保证redis挂掉之后再重启数据可以进行恢复(redis持久化机制)

114、redis事务

115、缓存雪崩和缓存穿透问题解决方案

116、如何保证缓存与数据库双写时的数据一致性

117、@Restcontroller和@Controller的区别

118、Spring IOC和AOP的理解

119、Spring AOP和AspectJ AOP有什么区别

120、Spring中的bean作用域有哪些

121、@Component和@Bean的区别是什么?

122、将一个类声明为Spring的bean注解有哪些

123、Spring中的bean生命周期

124、说说自己对SpringMVC的了解

125、SpringMVC的简单原理和详细流程

126、Spring框架中用到了哪些设计模式

127、Spring管理事务的方式

128、Spring事务中的隔离级别

129、Spring事务的传播行为

130、@Transactional(rollbackFor = Exception.class)注解了解吗?

131、如何使⽤JPA在数据库中⾮持久化⼀个字段?

132、#{}和${}的区别是什么?

133、Xml 映射⽂件中常见的标签

134、最佳实践中,通常⼀个 Xml 映射⽂件,都会写⼀个 Dao 接⼝与之对应,请问,这个 Dao 接⼝的⼯作原理是什么?Dao 接⼝⾥的⽅法,参数不同时,⽅法能重载吗?

135、Mybatis 是如何进⾏分⻚的?分⻚插件的原理是什么?

136、Mybatis 是如何将 sql 执⾏结果封装为⽬标对象并返回的?都有哪些映射形式?

137、Mybatis 的 Xml 映射⽂件中,不同的 Xml 映射⽂件,id 是否可以重复?

138、为什么说 Mybatis 是半⾃动 ORM 映射⼯具?它与全⾃动的区别在哪⾥?

139、kafka是什么?主要的应用场景?

140、消息队列的主要应用场景?

141、和其它消息队列相比,kafka的优势

142、队列模型和kafka的消息模型

143、什么是Producer、Consumer、Broker、Topic、Partition?

144、Kafka 的多副本机制了解吗?带来了什么好处?

145、Kafka 如何保证消息的消费顺序?

146、Kafka 如何保证消息不丢失

147、Kafka 如何保证消息不重复消费

148、什么是Cookie ? Cookie的作⽤是什么?如何在服务端使⽤ Cookie ?

149、Cookie 和 Session 有什么区别?如何使⽤Session进⾏身份验证?

150、如果没有Cookie的话Session还能⽤吗?

151、什么是 Token?什么是 JWT?如何基于Token进⾏身份验证?

152、 SSO与OAuth2.0的区别

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值