测试面试 | Java 经典面试题汇总

本文汇总了Java中高级测试开发/测试架构师面试的经典题目,覆盖基础概念、数据结构、集合、多线程、JVM、设计模式、数据库、Redis、消息队列等方面,旨在帮助开发者准备面试,提升技能。
摘要由CSDN通过智能技术生成

Java 目前仍然是业界应用最为广泛的编程语言,在很多互联网大厂,深度掌握 Java 是中高级测试开发/测试架构师的必备核心技能。技术面试中,Java
编程技能也一直是考核重点。

本文整理汇总了常见的经典 Java
面试题目(较偏向初级和中级水平),供各位测试开发同学参考。这里只给出问题,不列出参考答案(很多问题答案并不唯一),有兴趣的可以留言讨论,进阶学习文末加群。

一、基础篇

1.1、Java 基础
  • 面向对象的特征:继承、封装和多态
  • final, finally, finalize 的区别
  • Exception、Error、运行时异常与一般异常有何异同
  • 请写出 5 种常见到的 runtime exception
  • int 和 Integer 有什么区别,Integer 的值缓存范围
  • 包装类,装箱和拆箱
  • String、StringBuilder、StringBuffer
  • 重载和重写的区别
  • 抽象类和接口有什么区别
  • 说说反射的用途及实现
  • 说说自定义注解的场景及实现
  • HTTP 请求的 GET 与 POST 方式的区别
  • Session 与 Cookie 区别
  • 列出自己常用的 JDK 包
  • MVC 设计思想
  • equals 与 == 的区别
  • hashCode 和 equals 方法的区别与联系
  • 什么是 Java 序列化和反序列化,如何实现 Java 序列化?或者请解释 Serializable 接口的作用
  • Object 类中常见的方法,为什么 wait notify 会放在 Object 里边?
  • Java 的平台无关性如何体现出来的
  • JDK 和 JRE 的区别
  • Java 8 有哪些新特性
1.2、Java 常见集合
  • List 和 Set 区别
  • Set 和 hashCode 以及 equals 方法的联系
  • List 和 Map 区别
  • Arraylist 与 LinkedList 区别
  • ArrayList 与 Vector 区别
  • HashMap 和 Hashtable 的区别
  • HashSet 和 HashMap 区别
  • HashMap 和 ConcurrentHashMap 的区别
  • HashMap 的工作原理及代码实现,什么时候用到红黑树
  • 多线程情况下 HashMap 死循环的问题
  • HashMap 出现 Hash DOS 攻击的问题
  • ConcurrentHashMap 的工作原理及代码实现,如何统计所有的元素个数
  • 手写简单的 HashMap
  • 看过那些 Java 集合类的源码
1.3、进程和线程
  • 线程和进程的概念、并行和并发的概念
  • 创建线程的方式及实现
  • 进程间通信的方式
  • 说说 CountDownLatch 和 CyclicBarrier 原理和区别
  • 说说 Semaphore 原理
  • 说说 Exc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值