两年工作经验java面试

一.  java 中的集合框架:

1. 介绍一下java 中的集合框架

2. HashMap遇见哈希冲突会如何怎么办?HashMap是线程安全的吗?HashMap在高并发下会有什么问题?然后引入ConcurrentHashMap的原理?

a. 遇见哈希冲突会怎么办

b. HashMap 是线程安全的吗:  不安全;

c. HashMap 再高并发下会有什么问题: 

d. ConcurrentHashMap的原理 :  

3. Hahtable和concurrentHashMap的区别

4. 数组和ArrayList的区别?Arraylist是如何扩容的?

a. 数组和ArrayList 的区别: 

b. Arraylist 是如何扩容的

5. 线程池中的阻塞队列一般会选择哪种队列

6. RetreenLock的原理?AQS的原理?

a. RetreenLock的原理

b. AQS的原理

7. HashMap的容量为什么推荐是2的幂次方

 

二. 框架类

1. mybatis的二级缓存有什么问题

2. mybaits中的mapper的#{}和${}有什么区别?哪种可以防止sql注入?

3. 我们知道mybatis的mapper和接口之间是没有对象的,那么它是如何映射的

4. 说说springmvc的注解有哪些?他们的原理是什么?

5. springmvc的控制器是单例的吗?是线程安全的吗

6. spring如何解析它的xml文件?

7. spring的核心是什么?Aop的原理是什么?

 

三. redis

1. redis数据类型有哪些

2. zset数据类型是如何排序的

3. redis如何做项目的中间缓存层?

4. redis的Hash的时间复杂度是多少

 

四. 数据库

1. 数据库索引分为哪几种组合索引有什么要注意的问题

2. 什么是悲观锁 什么是乐观锁?如何实现悲观锁?

3. 数据库关键字的执行顺序是什么

4. 如何进行sql优化

5. 有没有进行过分库分表操作分库之后如何保持事务一致

 

五. 分布式与微服务

1:微服务要克服那些问题?微服务系统是怎样通信的?

2:分布式环境下如何解决session不一致的问题?

3:分布式下如何保证id一致?

4:你在dubbo的使用过程中遇到什么问题?

5:  zookeeper的负载均衡算法有哪些?

 

 

六. jdk 源码相关

1. synchronized的原理?它该怎么用?如何一个方法是synchronized的,其他的非synchronzied线程能进入吗?

2. cvs中的ABA问题如何解决?

3. volatile的原理是什么?volatile一定是线程安全的吗?

4. ThreadLocal是什么?它的原理是什么?

5. CountDowanLatch有没有用过?适合在什么样的场景下用?

 

七. 设计模式相关

1. 实现两种单例模式

2. 讲一下观察者模式

3. spring中都用到哪些设计模式

4. 动态代理模式是如何实现的

5. 你在项目中用到哪些设计模式了?讲解一下业务场景

 

八. 算法相关

1. 快速排序的时间复杂度?手写快速排序(注意递归式和非递归式的实现方式)

2. 手写二分查找

3. 手写堆排序

4. 一个int数组如何进行奇数和偶数分离?

5. 用算法实现String转double

 

九. jvm 相关

1. jvm的垃圾回收算法有哪些?分别解释一下?

2. 新生代为什么要设置两个survior区?

3. 如何通过一个.class文件获取它的jdk版本?

4. jvm的内存模型?哪些是线程私有的?哪些是公共的?

 

十. 关于自己的项目

1. 简述一下自己的项目?你在其中主要是做什么的?

2. 你在项目中都遇到了哪些难题?最后都是怎么解决的?

3. 项目有多大规模?周期多久(这个很多都问到的)

4. 讲一下某一模块的具体实现方式?然后从中挑刺

5. 如何解决某一时刻的高并发请求?

6. 如何解决订单支付回调的超时问题?轮询应该怎么写?

 

十一. 其他

1. 秒杀场景如何削峰?

2. http和udp的区别是什么?

3. ajax的跨域问题

4. nio与io的区别?什么情况下适合用nio

5. 说说常见的linux命令,linux查看内存的命令是什么?

7. git遇见代码冲突了怎么办?

8. 说几个常见的maven命令,maven如何排除一个jar包的冲突?

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值