Skip to content

Java面试题

cxuan edited this page Jun 15, 2020 · 23 revisions
  • Java 有哪些特点
  • Java 的特性
  • 描述一下值传递和引用传递的区别
  • == 和 equals 区别是什么
  • String 中的 equals 是如何重写的
  • 为什么重写 equals 方法必须重写 hashcode 方法
  • String s1 = new String("abc") 在内存中创建了几个对象
  • String 为什么是不可变的、jdk 源码中的 String 如何定义的、为什么这么设计。
  • static 关键字是干什么用的?谈谈你的理解
  • final 关键字是干什么用的?谈谈你的理解
  • 抽象类和接口的区别是什么
  • 重写和重载的区别
  • byte的取值范围是多少,怎么计算出来的
  • HashMap 和 HashTable 的区别
  • HashMap 和 HashSet 的区别
  • HashMap 的底层结构
  • HashMap 的长度为什么是 2 的幂次方
  • HashMap 多线程操作导致死循环问题
  • HashMap 线程安全的实现有哪些
  • 讲一下 HashMap put 的过程
  • ConcurrentHashMap 底层实现
  • Integer 缓存池
  • UTF-8 和 Unicode 的关系
  • 项目为 UTF-8 环境,char c = '中',是否合法
  • Arrays.asList 获得的 List 应该注意什么
  • Collection 和 Collections 的区别
  • 你知道 fail-fast 和 fail-safe 吗
  • ArrayList、LinkedList 和 Vector 的区别
  • Exception 和 Error 有什么区别
  • String、StringBuilder 和 StringBuffer 有什么区别
  • 动态代理是基于什么原理
  • int 和 Integer 的区别
  • Java 提供了哪些 I/O 方式
  • 谈谈你知道的设计模式
  • Comparator 和 Comparable 有什么不同
  • Object 类中一般都有哪些方法
  • Java 泛型和类型擦除
  • 反射的基本原理,反射创建类实例的三种方式是什么
  • 强引用、若引用、虚引用和幻象引用的区别
  • final、finally 和 finalize() 的区别
  • 内部类有哪些分类,分别解释一下
  • 说出几种常用的异常
  • 静态绑定和动态绑定的区别
Clone this wiki locally