2021最新java面试题整理

算法题:

1、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?

程序题:

1、求数组中的最小值

2、将一个数组中元素排序

3、将一个双向链表倒置

面试题:

1、谈谈你做过的项目用到了哪些框架及工作职责

2、谈谈你对springboot的理解

3、谈谈你对springcloud的理解

4、说说redis的哨兵机制

5、说说什么是雪崩

6、Map的实现类有哪些

7、HashMap的底层原理

8、谈谈你对zookeeper的理解

9、分布式锁有哪些

10、一个int类型的变量,例如 int a =12345,你怎么获取到个位的数字

11、数组和集合如何转换

12、如何避免sql注入

13、如何避免xss攻击

14、ssm框架的优势是什么

15、简单说下ssm中有哪些核心配置文件

16、是否了解Oracle的存储过程

17、redis的如何同步数据

18、说一下你最熟悉的一个项目,你做的那个模块的数据库设计是如何设计的

19、说说springboot和springcloud的有什么区别

20、说说常用的java工具类

21、mysql和oracle的分页如何写

22、mybatis定时配置

23、单例模式和多例模式的区别

24、如何配置多例模式

25、是否了解java虚拟机,简单谈谈

26、创建多线程的方式

27、java中创建对象的方式有哪些

28、zookeeper宕机了,dubbo是否可以调用服务

29、数据库有哪些优化方式

30、系统之间是如何调用的

31、如何理解spring

32、linux常用命令

33、map,set的遍历方式

34、set如何去重

35、redis缓存如何使用

36、动态sql的使用

其他面试题:

1、Java的序列化是什么?有哪些你知道的序列化方式?

2、New一个HashMap,向其中添加Long,Boolean数据,主要是手机号是否可用的数据,添加一条,添加两条,一直添加到1000w条。在这个过程

中,HashMap的数据结构是怎么变化的?1000w个数据添加完之后,HashMap占用了所少内存?

3、1000w甚至1亿个手机号过滤重复,可以使用哪些方式/哪些数据类型?各有什么特点?

4、ConcurrentHashMap是如何做到高并发线程安全的?

5、Java中Synchronized关键字的内存语义是什么?

6、Java中Volatile关键字的内存语义是什么?

7、什么是Java中原子操作?

8、什么Java中CAS操作,AtomicLong实现原理?

9、什么是可重入锁、乐观锁、悲观锁、公平锁、非公平锁、独占锁、共享锁?

10、讲讲独占锁ReentrantLock原理?谈谈读写锁ReentrantReadWriteLock原理?

11、ThreadLocal作为变量的线程隔离方式,其内部是如何做到的?

12、CyclicBarrier内部实现与CountDownLatch有何不同?

13、有3个线程,线程A和线程B并行执行,线程C需要A和B执行完后才能执行。可以怎么实现?

14、现在有两个线程同时操作一个整数I,做自增操作,如何实现I的线程安全性?

15、Java中多个线程是如何传递数据?LinkedBlockingQueue原理

16、CountDownLatch与线程join方法的区别是什么?

17、什么是java指令重排序?

18、Spring是如何实现AOP的?以事物为例

19、Spring有哪些设计模式?

20、Spring中是怎么解决循环依赖的?比如A依赖于B,B依赖于A

21、对Java接口代理模式的实现原理的理解?如何使用Java发射实现动态代理?Java接口代理模式的指定增强?

22、谈谈对Cglib类增强动态代理的实现?和Jdk动态代理有什么区别?

23、BeanFactory和FactoryBean有什么区别?

24、BeanFactory和ApplicationContext又有什么不同?

25、Mysql有哪些存储引擎?有什么不同?

26、Float、Decimal存储金额的区别?Datetime、Timestamp存储时间的区别?Char、Varchar、Varbinary存储字符的区别?

27、对Explain参数及重要参数的理解?

28、索引与锁有什么关系?

29、B+Tree如何进行优化?索引遵循哪些原则?

30、Innodb事务的理解?

31、Mysql表设计及规范?

32、索引优化?说说Sql优化的几点原则?

33、Redis数据结构有哪些?

34、Redis缓存穿透、缓存雪崩?

35、如何使用Redis来实现分布式锁?

36、讲讲tcp协议(建连过程、慢启动、滑动窗口、七层模型)?

37、webservice协议(wsdl/soap格式、与rest协议的区别)?

38、Socket交互的基本流程?

39、深拷贝和浅拷贝

40、描述一下JVM加载Class文件的原理机制?

41、Java堆的结构是什么样子的?

42、在Java中,对象什么时候可以被垃圾回收?

43、简述Minor GC和Major GC?

44、简述下Java垃圾回收机制?

45、代码编写:快速排序

46、代码编写:冒泡排序

47、ConcurrentLinkedQueue内部是如何使用CAS非阻塞算法来保证多线程下入队出队操作的线程安全的?

48、CyclicBarrier内部实现与CountDownLatch有何不同?

49、Semaphore的内部实现是怎样的?

50、并发组件CopyOnWriteArrayList是如何通过写时拷贝实现并发安全的list?

51、同步与异步?阻塞与非阻塞?

52、ThreadLocalRandom是如何利用TreadLocal的原理来解决Random的局限性?

53、使用过MQ吗?在什么场景下使用?解决什么问题?遇到什么问题?

54、Kafka的topic和partion如何设计?Kafka是如何保证数据不丢失的?

55、DB和MQ是两种介质,有哪些方式可以保证DB和MQ数据都写入成功的?你们是怎样做的?

56、什么是最终一致性?最终一致性实现方式?

57、Redis的分布式锁是怎么使用的?有什么优缺点?

58、说一说RPC调用的整个过程,发生了哪些事情,各个模块都做了哪些事情?

59、Mysql的Innodb在什么情况下会发生死锁?你遇到的死锁是什么场景?是怎么解决死锁的?

60、说说数据库事务特点及潜在问题?

61、什么是mysql的隔离级别?Innodb如何解决幻读?

62、讲讲Innodb行锁?

63、死锁及监控是什么?什么情况下会出现死锁?举例sql

64、自增长与锁、锁的算法、锁问题、锁升级是什么?

65、Redis持久化的几种方式,优缺点是什么,怎么实现的?

66、Redis的缓存失效策略?

67、Redis的数据淘汰策略?

68、Redis队列应用场景?

69、分布式缓存和一致性hash?

70、说说Netty线程模型,什么是零拷贝?

71、Dubbo的底层实现原理和机制?

72、描述一个服务从发布到被消费的详细过程?

73、Dubbo的服务请求失败怎么处理?怎么熔断?

74、对分布式事务的理解?

75、分布式集群下如何做到唯一序号?

76、如何保证消息一致性?

77、TCP如何保证数据的可靠传输的?

78、代码编写:两个有序数组合并。

79、代码编写:二叉树的前、中、后续遍历。

80、代码编写:使用栈实现一个队列。

81、代码编写:打印倒三角。

最后


如果你想要学习Java的话,我给你分享一些Java的学习资料,你不用浪费时间到处搜了,从Java入门到精通的资料我都给你整理好了,这些资料都是我做Java这几年整理的Java最新学习路线,Java笔试题,Java面试题,Java零基础到精通视频课程,Java开发工具,Java练手项目,Java电子书,Java学习笔记,PDF文档教程,Java程序员面经,Java求职简历模板等,这些资料对你接下来学习Java一定会带来非常大的帮助,每个Java初学者都必备,请你进我的Java技术qq交流群自行下载,所有资料都在群文件里,进去要跟大家多交流学习哦。

猜你喜欢

转载自blog.csdn.net/deqing271/article/details/115216090