java自动化测试工具有哪些_软件测试java面试题

Java (2) 2024-08-28 17:23

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
java自动化测试工具有哪些_软件测试java面试题,希望能够帮助你!!!。

java自动化测试工具有哪些_软件测试java面试题_https://bianchenghao6.com/blog_Java_第1张

java自动化测试工具有哪些_软件测试java面试题_https://bianchenghao6.com/blog_Java_第2张

点击上方头像关注我,每周上午 09:00准时推送,每月不定期赠送技术书籍,小窗口回复“资源”、“测试工具包”领取测试资源。

本文3440字,阅读约需7分钟

Hi,大家好。在此之前投送过Python知识梳理:8张思维导图,梳理Python知识体系。以及Java知识梳理:28张思维导图,梳理Java知识体系

今天附上Java面试题,包括Java基础、并发、JVM、Redis、MySQL、分布式、微服务、性能优化,面试前来康康,对照问题查漏补缺,Offer妥妥的!

Java并发

java自动化测试工具有哪些_软件测试java面试题_https://bianchenghao6.com/blog_Java_第3张

(面试题)

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等。

java自动化测试工具有哪些_软件测试java面试题_https://bianchenghao6.com/blog_Java_第4张

(面试题)

1. 什么情况下会发生栈内存溢出?

2. JVM的内存结构,Eden和Survivor比例?

3. JVM内存为什么要分成新生代,老年代,持久代。新生代中为什么要分为Eden和Survivor?

4. JVM中一次完整的GC流程是怎样的,对象如何晋升到老年代,说说你知道的几种主要的JVM参数?

5. 你知道哪几种垃圾收集器,各自的优缺点,重点讲下cms和G1,包括原理,流程,优缺点?

6. 垃圾回收算法的实现原理?

7. 当出现内存溢出,你怎么排错?

Spring

Spring作为现在最流行Java开发技术,其内部源码设计非常优秀,MyBatis在阿里等大厂十分流行,BAT等一线互联网公司面试也一定会涉及源码解析的问题。

java自动化测试工具有哪些_软件测试java面试题_https://bianchenghao6.com/blog_Java_第5张

(面试题)

1. 使用Spring框架能带来哪些好处?

2. 什么是控制反转(IOC)?什么是依赖注入?

3. 请解释Spring Bean的生命周期?

4. 你知道spring的生命周期初始化回调方法有几种方法实现?实现原理是什么?或者说他们的执行时机和在bean的生命周期哪里体现了?

5. 你平常工作中有做过一些spring的二次开发吗?或者你有没有针对spring去实现过扩展?

6. MyBatis源码中用了哪些设计模式?为什么要用这些设计模式?

7. 什么是缓存雪崩?如何解决?

微服务

java自动化测试工具有哪些_软件测试java面试题_https://bianchenghao6.com/blog_Java_第6张

(面试题)

1. Dubbo支持哪些协议,每种协议的应用场景,优缺点?

2. Dubbo超时时间怎样设置?

3. Dubbo集群的负载均衡有哪些策略

4. Dubbo的主要应用场景?

5. Dubbo的核心功能?

6. springboot启动机制?

数据库相关

java自动化测试工具有哪些_软件测试java面试题_https://bianchenghao6.com/blog_Java_第7张

(面试题)

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中如何创建一个新的数据库?

分布式

java自动化测试工具有哪些_软件测试java面试题_https://bianchenghao6.com/blog_Java_第8张

(面试题)

1. zookeeper有哪些应用场景?

2. zk的分布式锁?

3. 在Nginx中,如何使用未定义的服务器名称来阻止处理请求?

4. 使用“反向代理服务器”的优点是什么?

5. 请列举Nginx服务器的最佳用途?

Docker

java自动化测试工具有哪些_软件测试java面试题_https://bianchenghao6.com/blog_Java_第9张

(面试题)

1.谈谈你对Docker的理解?

2.Docker 有什么优势?

3.Docker 容器有几种在状态?

4.有什么常用的 Docker 命令?

5.如何让容器随着 Docker 服务启动而自动启动?

6.什么是仓库?

7.什么是镜像?

8.什么是容器?

9.仓库、镜像、容器的关系是?

10.如何指定容器的端口映射?

11.如何修改容器的目录映射?

12.如何查看官方镜像服务的默认端口是什么?

Git

java自动化测试工具有哪些_软件测试java面试题_https://bianchenghao6.com/blog_Java_第10张

(面试题)

1.在 Git 中提交的命令是什么?

2.什么是 Git 中的“裸存储库”?

3.如何在Git中创建存储库?

4.怎样将 N 次提交压缩成一次提交?

5.什么是 Git 复刻(fork)?、

6.分支(branch)和克隆(clone)之间有什么区别?

7.“拉取请求(pull request)”和“分支(branch)”之间有什么区别?

8.如何Git 恢复先前的提交?

性能优化

java自动化测试工具有哪些_软件测试java面试题_https://bianchenghao6.com/blog_Java_第11张

(面试题)

1.双11高并发大促场景下,为什么只能够下订单, 而不能够退款?(服务降级等)

2.支付宝系统可以从哪些角度优化提升性能?(缓存、异步、分布式等)

3.天猫上亿商品数据如何完成快速统计?(Fork/Join任务拆分等)

4.支付宝转账提现功能应该如何优化?(一致性、高吞吐方案等)

5.淘宝网络抖动,如何避免用户重复下订单?

如果想要获取以上xmind版思维导图,可以在ITester软件测试小栈微信公众号后台回复“Java复盘”领取(含百度网盘链接、阿里云盘链接)。

java自动化测试工具有哪些_软件测试java面试题_https://bianchenghao6.com/blog_Java_第12张

更多系列文章

敬请期待


ITester软件测试小栈(ID:ITestingA),专注于软件测试技术和宝藏干货分享,每周准时更新原创技术文章,每月不定期赠送技术书籍,愿我们在更高处相逢。喜欢记得星标⭐我,每周及时获得最新推送,第三方转载请注明出处。

java自动化测试工具有哪些_软件测试java面试题_https://bianchenghao6.com/blog_Java_第13张

java自动化测试工具有哪些_软件测试java面试题_https://bianchenghao6.com/blog_Java_第14张

想获取更多最新干货内容

快来星标 置顶 关注

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

发表回复