2020年5月面试精心整理java面试题,覆盖了大部分面试题(附答案)

今年的工作格外难找,不知道别的小伙伴什么样子,反正我是不好找,由于疫情影响,每个公司都在缩减成本,要求也变高了。很多公司要求第一学历统招本科,虽然是本科,但不是统招,很难混啊。面了一个多月,初试复试面了30多次,精心整理了面试题。

答案附在公众号上
在这里插入图片描述

Java基础

  1. 谈谈你对java的看法?
  2. 集合的接口有哪些?
  3. list接口有哪些实现类?
  4. hashmap的工作原理?
  5. 为什么要进行两倍扩容?
  6. hashmap和hashtable有什么区别?
  7. tree和hashmap的区别?
  8. linkedhashmap是怎么实现有序的?
  9. 为什么会出现hash冲突?如何解决?
  10. hashmap一般用什么作为key,为什么?
  11. 继承的作用?
  12. 接口和抽象类的区别?
  13. 接口的作用?
  14. 抽象类和普通类的区别?
  15. Final,finally,finalize有什么区别?
  16. static关键字的用法?
  17. String为什么是不可变的?
  18. Spring、SpringBuilder、SpringBuffer的区别?
  19. ==和equals的区别?
  20. hashcode和equals的关系
  21. 自动装箱和拆箱?
  22. 怎么对Integer进行原子操作?
  23. 浅拷贝和深拷贝?
  24. 数组怎么转list,list怎么转数组?
  25. AIO,BIO,NIO分别是什么,有什么区别,netty是用哪个实现的?
  26. 多路复用怎么实现的?
Spring

  1. 谈谈你对spring的理解?
  2. 什么是依赖注入?
  3. Ioc和它的实现原理?
  4. 什么是aop,实现原理是什么?
  5. bean的生命周期?
  6. Spring的事务传播?
  7. @Autowired和@Resource之间的区别?
  8. 监听器、过滤器、拦截器的区别和执行顺序?
  9. Springmvc有哪些核心组件?
  10. Spring mvc的工作原理?
  11. Spring的bean为什么是单例的,spring怎么解决循环依赖的?
  12. @Transaction怎么实现事务操作的?
  13. Spring的容器有哪些?
mybatis

  1. mybatis的原理?看过源码吗?
  2. mybatis的缓存怎么做的?
  3. mybatis和hibernate的区别?
  4. #{}和${}的区别?
SpringBoot

  1. springboot 的特性有哪些?
  2. springboot和ssm有什么区别?
  3. springboot是怎么实现自动配置的?
  4. springboot的启动原理?
  5. springboot中的监视器是什么?
  6. springboot怎么打war包?
  7. maven怎么加载到私服?
  8. springboot的核心注解是哪个?由几个注解组成?
  9. springboot如何解决跨域问题?
  10. springboot的配置文件有哪些?
  11. springboot常用注解有哪些?
  12. springboot的starter是什么?
  13. 怎么实现一个starter?
  14. springboot怎么整合swagger?
  15. 怎么把spring框架转成springboot框架?
SpringCloud

  1. springcloud和dubbo的区别?
  2. 什么是eureka?
  3. eureka和zookeeper的区别是什么?为什么?
  4. 什么是spring cloud gateway?
  5. springcloud feign调用时有个重试机制,怎么保证幂等性?
  6. springcloud的组件有哪些?
dubbo

  1. dubbo的默认协议是什么?
  2. dubbo的容错机制?
  3. dubbo的负载均衡?
  4. dubbo的注册中心有哪些?
  5. dubbo的序列化方式?
  6. dubbo默认重试几次?
  7. dubbo怎么配置超时?
  8. dubbo调用过程 ?
  9. dubbo核心组件?
  10. dubbo调用某一版本服务的方法怎么处理?
  11. dubbo怎么做限流、熔断?
  12. 怎么做无状态服务设计?
  13. dubbo怎么做链路追踪?tranceId和spanId是什么?
  14. dubbo遇到方法重载时怎么处理?
网络

  1. 了解tcp协议吗?属于七层网络模型的哪一层?
  2. 一次http请求经历了哪些过程?
jvm虚拟机

  1. jvm的内存结构?
  2. jvm哪些区别会出现内存溢出,在什么情况下发生?
  3. 什么是类加载器,类加载器有哪些?
  4. 了解类加载吗?
  5. gc的回收算法有哪些?
  6. new 一个对象的创建过程?
  7. 怎么判断对象存活?
  8. 哪些可以作为gc roots?
  9. 描述下gc的分代回收?
  10. cms回收器产生内存碎片怎么处理?
  11. jvm调试工具有哪些?
  12. jdk1.8的垃圾收集器参数是什么?
  13. jmm是什么?
  14. thread的内存结构是什么样的?
  15. G1的工作原理,你们region一般设置多大?
  16. gc的垃圾收集器有哪些?
  17. 做过jvm调优么,除了修改堆内存你,还做过什么?了解编译器优化?
  18. 什么时候出发full gc?
  19. 堆一般设置多大,越大越好吗?
多线程

  1. 线程的状态?
  2. 阻塞是怎么产生的?
  3. 说一下多线程的锁机制?
  4. synchronized的用法?
  5. synchronized的底层原理?
  6. synchronized的锁升级过程?
  7. synchronized和lock的区别?
  8. 可重入锁和不可重入锁的区别?可重入的原理?
  9. 谈谈对公平锁的认识?
  10. java中锁的分类?
  11. 多线程的死锁是什么,怎么避免?
  12. 为什么要使用线程池?
  13. 常见的线程池有哪些?
  14. 线程池的参数?
  15. 一般设置多少核心线程数,核心线程数的设置策略?
  16. 线程池处理任务的流程是怎样的?
  17. volatile和synchronized的区别?volatile的作用?
  18. 如何控制线程池的优先级?
  19. threadlocal的作用和原理?
  20. cas是什么,有什么缺陷,怎么解决?
  21. 操作线程是怎么进行线程切换的?
  22. 创建线程的方式?
  23. 说下callable和runnable接口的区别?
  24. 一般我们用那种方式创建线程,为什么?
  25. java常见的阻塞队列有哪些?
综合(分布式,电商等)

  1. 幂等性是什么?常见的解决方案?
  2. 分布式锁的常见解决方法?
  3. 分布式事务的常见解决方案?
  4. 秒杀的解决方案?
  5. 分布式中的CAP,base理论了解么?
  6. 树节点的数据封装?比如菜单
  7. 秒杀怎么解决商品超卖问题?
  8. 积分充值和积分兑换同时进行怎么处理?
  9. 权限表的设计?
  10. 订单号的设计方案?
  11. 假如有个一百万数据的表,需要频繁检索,怎么设计?
  12. 假如有一堆散列的小文件,每个10m左右,怎么做存储?
  13. 做一个权限验证,每个id每分钟只能访问10次,现在每天都有上百万的访问次数。
  14. bug的常见解决方法?
mysql

  1. mysql执行一条sql经理了那些过程?
  2. 如何分析慢sql?
  3. 怎么优化sql语句?
  4. 如果mysql返回的结果过大怎么处理?
  5. 事务的特性?
  6. mysql外连接、内连接和自连接的区别?
  7. mysql的索引有哪些?为什么需要注意联合索引的顺序?
  8. 主键索引和普通索引的区别?了解回表吗
  9. 索引的创建规则?
  10. 什么情况下会导致索引失效?
  11. 如何做mysql的性能优化?
  12. mysql的存储引擎有哪些?
  13. 索引的原理,为什么快?
  14. mysql怎么实现乐观锁,悲观锁?
  15. mysql怎么实现行锁,表锁?
  16. mysql innodb引擎的隔离级别?
  17. union all和union的区别?
  18. mysql存储过程怎么写?
  19. 对a,b,c三个字段创建了联合索引,单独使用a条件或者c条件查询会使索引失效吗
  20. 在innodb默认隔离级别下,A事务需要读a数据,并更新,同时B事务更新了a数据,并提交了,A事务能读到B提交后的数据吗 ?
  21. mysql和oracle的区别?
redis

  1. redis的数据类型?
  2. redis的持久化方式?
  3. redis的集群方案?
  4. redis怎么实现分布式锁?
  5. redis的哨兵机制
  6. redis的set怎么进行呢集合操作?
  7. redis的性能瓶颈?
  8. redis怎么做活跃度统计?
  9. redis怎么做发布订阅?
  10. redis 3.0之后的集群和之前的版本有什么区别?
  11. redis的缓存雪崩,缓存穿透,缓存击穿是什么,解决方案?
  12. redis的pipeline
mq

  1. active mq的工作原理?
  2. mq的分组topic?
  3. mq重复消费怎么处理?
  4. mq消息丢失怎么办?
  5. mq消息积压怎么处理?
  6. mq生产者发消息异常了怎么处理?
  7. mq的组成部分?
设计模式

  1. 抽象工厂和工厂模式的区别?
  2. 简单说下策略模式?
  3. 装饰者模式?
  4. 单例模式?
  5. 什么是访问者模式?
  6. 装饰者模式和代理模式之间的区别?
  7. 什么是责任链模式?
  8. 说下观察者模式?
其他(es,mongodb,linux)

  1. nginx的负载方式?
  2. nginx跨域处理?
  3. es的分片是什么?副本是什么?
  4. es写入慢的时候怎么优化?
  5. mongodb的优势是什么,和redis有什么区别?
  6. mongodb中的分片是什么?
  7. mongodb的客户端是什么?
  8. fastdfs是什么?
  9. linux常用的命令有哪些?
  10. cpu达到100%怎么排查,top命找到了这个进程之后怎么处理?
  11. linux怎么查找一个文件?
  12. linux怎么看日志?
  13. linux怎么查看java的安装路径?
  14. linux的定时任务怎么配?
  15. linux怎么搜索指定字符的日志?
  16. linux怎么在创建文件的时候赋权限?
笔试题

  1. 实现一个树的遍历?
  2. 一个数组中有10000个数字,找出第二大的数,不可以用排序
  3. 生成一个四位不能重复的随机数?
  4. 对一个Integer进行翻转,考虑点,负数,零,翻转后超过最大值
  5. 画一个京东或淘宝的订单流程图?
  6. 写一个二分查找的方法?
  7. 线程的代码,一个线程往队列里写数据,两个线程从队列里读数据
  8. 抽奖,两台iphone,十万分之一的概率,五台watch一万分之一的概率,20个二千分之一的概率,设计表,画出抽奖流程图
  9. 设计一个秒杀方案,列出核心技术和组件,简要说明核心技术流程,画出时序图
  10. 描述一次优化慢sql的过程,问题原因,解决方法。
  11. 写一个在多线程环境下会造成死锁的伪代码?
  12. 分别用redis和zookeeper实现分布式锁,写出伪代码,并简要说明
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值