Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
java自动化测试工具有哪些_软件测试java面试题,希望能够帮助你!!!。
点击上方头像关注我,每周上午 09:00准时推送,每月不定期赠送技术书籍,小窗口回复“资源”、“测试工具包”领取测试资源。
本文3440字,阅读约需7分钟
Hi,大家好。在此之前投送过Python知识梳理:8张思维导图,梳理Python知识体系。以及Java知识梳理:28张思维导图,梳理Java知识体系。
今天附上Java面试题,包括Java基础、并发、JVM、Redis、MySQL、分布式、微服务、性能优化,面试前来康康,对照问题查漏补缺,Offer妥妥的!
一
Java并发
(面试题)
Synchronized 相关问题:
1. Synchronized 用过吗,其原理是什么?
2. 获取对象的锁,这个“锁”到底是什么?如何确定对象的锁?
3. 乐观锁一定就是好的吗?
可重入锁 ReentrantLock 及其他显式锁相关问题:
1. 除了 ReetrantLock,你还接触过 JUC 中的哪些并发工具?
2. CyclicBarrier 和 CountDownLatch 看起来很相似,请对比下呢?
Java 线程池相关问题:
1. Java 中的线程池是如何实现的?
2. 如何在 Java 线程池中提交线程?
Java 内存模型相关问题:
1. 请对比下 volatile 对比 Synchronized 的异同。
2. 请谈谈 ThreadLocal 是怎么解决并发安全的?
3. 很多人都说要慎用 ThreadLocal,谈谈你的理解,使用 ThreadLocal 需要注意些什么?
4. 你在多线程环境中遇到的常见的问题是什么?你是怎么解决它的?
二
JVM和性能优化
我们所有的程序都运行在Java虚拟机上,只有对Java虚拟机底层原理进行深入的学习,全面理解JVM的运行机制、运行时数据区、垃圾收集算法等,还有事务及Spring MVC整个流程、AQS等。
(面试题)
1. 什么情况下会发生栈内存溢出?
2. JVM的内存结构,Eden和Survivor比例?
3. JVM内存为什么要分成新生代,老年代,持久代。新生代中为什么要分为Eden和Survivor?
4. JVM中一次完整的GC流程是怎样的,对象如何晋升到老年代,说说你知道的几种主要的JVM参数?
5. 你知道哪几种垃圾收集器,各自的优缺点,重点讲下cms和G1,包括原理,流程,优缺点?
6. 垃圾回收算法的实现原理?
7. 当出现内存溢出,你怎么排错?
三
Spring
Spring作为现在最流行Java开发技术,其内部源码设计非常优秀,MyBatis在阿里等大厂十分流行,BAT等一线互联网公司面试也一定会涉及源码解析的问题。
(面试题)
1. 使用Spring框架能带来哪些好处?
2. 什么是控制反转(IOC)?什么是依赖注入?
3. 请解释Spring Bean的生命周期?
4. 你知道spring的生命周期初始化回调方法有几种方法实现?实现原理是什么?或者说他们的执行时机和在bean的生命周期哪里体现了?
5. 你平常工作中有做过一些spring的二次开发吗?或者你有没有针对spring去实现过扩展?
6. MyBatis源码中用了哪些设计模式?为什么要用这些设计模式?
7. 什么是缓存雪崩?如何解决?
四
微服务
(面试题)
1. Dubbo支持哪些协议,每种协议的应用场景,优缺点?
2. Dubbo超时时间怎样设置?
3. Dubbo集群的负载均衡有哪些策略
4. Dubbo的主要应用场景?
5. Dubbo的核心功能?
6. springboot启动机制?
五
数据库相关
(面试题)
MySQL:
1. 索引的工作原理及其种类?
2. 与Oracle相比,MySQL有什么优势?
3. 为什么B+树相对于B树在查询上会更加优秀吗?
4. 一张表,里面有ID自增主键,当insert 了17条记录之后,删除了第15,16,17 条记录,再把Mysql重启,再insert一条记录,这条记录的ID是18还是15?
5. 主键、 超键 、候选键 、外键,谈谈你的理解?
6. 数据库事务的四个特性及含义?
Redis:
1.Redis相比memcached有哪些优势?
2.Redis常见性能问题和解决方案
3.MySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据?
4.Memcache与Redis的区别都有哪些?
5. Redis最适合的场景?
6. 是否使用过Redis集群,集群的原理是什么?
MongoDB:
1. MongoDB的优势有哪些?
2. 在MongoDB中如何创建一个新的数据库?
六
分布式
(面试题)
1. zookeeper有哪些应用场景?
2. zk的分布式锁?
3. 在Nginx中,如何使用未定义的服务器名称来阻止处理请求?
4. 使用“反向代理服务器”的优点是什么?
5. 请列举Nginx服务器的最佳用途?
七
Docker
八
Git
5.什么是 Git 复刻(fork)?、
6.分支(branch)和克隆(clone)之间有什么区别?
7.“拉取请求(pull request)”和“分支(branch)”之间有什么区别?
8.如何Git 恢复先前的提交?
九
性能优化
更多系列文章
敬请期待
ITester软件测试小栈(ID:ITestingA),专注于软件测试技术和宝藏干货分享,每周准时更新原创技术文章,每月不定期赠送技术书籍,愿我们在更高处相逢。喜欢记得星标⭐我,每周及时获得最新推送,第三方转载请注明出处。
想获取更多最新干货内容
快来星标 置顶 关注我
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。