算法题:
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交流群自行下载,所有资料都在群文件里,进去要跟大家多交流学习哦。