您的位置 首页 java

收集了一些Java比较基础的面试题,挺全面的,快来收藏吧

收集了一些Java比较基础的面试题,挺全面的,快来收藏吧

基本概念

  • 操作系统中 heap 和 stack 的区别
  • 什么是基于注解的切面实现
  • 什么是 对象/关系 映射集成模块
  • 什么是 Java 的反射机制
  • 什么是 ACID
  • BS与CS的联系与区别
  • Cookie 和 Session的区别
  • fail-fast 与 fail-safe 机制有什么区别
  • get 和 post请求的区别
  • Interface 与 abstract 类的区别
  • IOC的优点是什么
  • IO 和 NIO的区别,NIO优点
  • Java 8 / Java 7 为我们提供了什么新功能
  • 什么是竞态条件? 举个例子说明。
  • JRE、JDK、JVM 及 JIT 之间有什么不同
  • MVC的各个部分都有那些技术来实现?如何实现?
  • RPC 通信和 RMI 区别
  • 什么是 Web Service(Web服务)
  • JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。
  • WEB容器主要有哪些功能? 并请列出一些常见的WEB容器名字。
  • 一个”.java”源文件中是否可以包含多个类(不是内部类)?有什么限制
  • 简单说说你了解的类加载器。是否实现过类加载器
  • 解释一下什么叫AOP(面向切面编程)
  • 请简述 Servlet 的生命周期及其相关的方法
  • 请简述一下 Ajax 的原理及实现步骤
  • 简单描述Struts的主要功能
  • 什么是 N 层架构
  • 什么是CORBA?用途是什么
  • 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”
  • 什么是正则表达式?用途是什么?哪个包使用正则表达式来实现模式匹配
  • 什么是懒加载(Lazy Loading)
  • 什么是尾递归,为什么需要尾递归
  • 什么是控制反转(Inversion of Control)与依赖注入(Dependency Injection)

关键字

  • finalize
  • 使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变
  • 一个类被声明为final类型,表示了什么意思
  • throws, throw, try, catch, finally分别代表什么意义
  • final 与 static 关键字可以用于哪里?它们的作用是什么
  • final, finally, finalize的区别
  • final、finalize 和 finally 的不同之处?
  • finalize()方法什么时候被调用
  • 析构函数(finalization)的目的是什么
  • final 和 finalize 的区别
  • final
  • 什么是finalize()方法
  • final关键字有哪些用法
  • 能否在运行时向 static final 类型的赋值
  • Java 有几种修饰符?分别用来修饰什么
  • volatile
  • volatile 修饰符的有过什么实践
  • volatile 变量是什么?volatile 变量和 atomic 变量有什么不同
  • volatile 类型变量提供什么保证?能使得一个非 原子操作 变成原子操作吗
  • 能创建 volatile 数组吗?
  • transient变量有什么特点
  • super什么时候使用
  • public static void 写成 static public void会怎样
  • 说明一下public static void main(String args[])这段声明里每个关键字的作用
  • 请说出作用域public, private , protected, 以及不写时的区别
  • sizeof 是Java 的关键字吗
  • static
  • static class 与 non static class的区别
  • static 关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法
  • 静态类型有什么特点
  • main() 方法为什么必须是静态的?能不能声明 main() 方法为非静态
  • 是否可以从一个静态(static)方法内部发出对非静态(non-static)方法的调用
  • 静态变量 在什么时候加载?编译期还是运行期?静态代码块加载的时机呢
  • 成员方法是否可以访问静态变量?为什么静态方法不能访问成员变量
  • switch
  • switch 语句中的表达式可以是什么类型数据
  • switch 是否能作用在byte 上,是否能作用在 long 上,是否能作用在String上
  • while 循环和 do 循环有什么不同

操作符

  • &操作符和&&操作符有什么区别?
  • a = a + b 与 a += b 的区别?
  • 逻辑操作符 (&,|,^)与条件操作符(&&,||)的区别
  • 3*0.1 == 0.3 将会返回什么?true 还是 false?
  • float f=3.4; 是否正确?
  • short s1 = 1; s1 = s1 + 1;有什么错?

数据结构

  • 基础类型(Primitives)
  • 基础类型(Primitives)与封装类型(Wrappers)的区别在哪里
  • 简述九种基本数据类型的大小,以及他们的封装类
  • int 和 Integer 哪个会占用更多的内存? int 和 Integer 有什么区别?parseInt()函数在什么时候使用到
  • float和double的默认值是多少
  • 如何去小数四舍五入保留小数点后两位
  • char 型变量中能不能存贮一个中文汉字,为什么
  • 类型转换
  • 怎样将 bytes 转换为 long 类型
  • 怎么将 byte 转换为 String
  • 如何将数值型字符转换为数字
  • 我们能将 int 强制转换为 byte 类型的变量吗?如果该值大于 byte 类型的范围,将会出现什么现象
  • 能在不进行强制转换的情况下将一个 double 值赋值给 long 类型的变量吗
  • 类型向下转换是什么
  • 数组
  • 如何权衡是使用无序的数组还是有序的数组
  • 怎么判断数组是 null 还是为空
  • 怎么打印数组? 怎样打印数组中的重复元素
  • Array 和 ArrayList有什么区别?什么时候应该使用Array而不是ArrayList
  • 数组和链表数据结构描述,各自的时间复杂度
  • 数组有没有length()这个方法? String有没有length()这个方法
  • 队列
  • 队列和栈是什么,列出它们的区别
  • BlockingQueue是什么
  • 简述 ConcurrentLinkedQueue LinkedBlockingQueue 的用处和不同之处。
  • ArrayList、 Vector 、LinkedList的存储性能和特性
  • String
  • StringBuffer
  • ByteBuffer 与 StringBuffer有什么区别
  • HashMap
  • HashMap的工作原理是什么
  • 内部的数据结构是什么
  • HashMap 的 table的容量如何确定?loadFactor 是什么? 该容量如何变化?这种变化会带来什么问题?
  • HashMap 实现的数据结构是什么?如何实现
  • HashMap 和 HashTable 、ConcurrentHashMap 的区别
  • HashMap的遍历方式及效率
  • HashMap、LinkedMap、TreeMap的区别
  • 如何决定选用HashMap还是TreeMap
  • 如果HashMap的大小超过了负载因子(load factor)定义的容量,怎么办
  • HashMap 是线程安全的吗?并发下使用的 Map 是什么,它们内部原理分别是什么,比如存储方式、 hashcode 、扩容、 默认容量等
  • HashSet
  • HashSet和TreeSet有什么区别
  • HashSet 内部是如何工作的
  • WeakHashMap 是怎么工作的?
  • Set
  • Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用 == 还是 equals()? 它们有何区别?
  • TreeMap:TreeMap 是采用什么树实现的?TreeMap、HashMap、LindedHashMap的区别。TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何比较元素?
  • TreeSet:一个已经构建好的 TreeSet,怎么完成倒排序。
  • EnumSet 是什么
  • Hash算法
  • Hashcode 的作用
  • 简述一致性 Hash 算法
  • 有没有可能 两个不相等的对象有相同的 hashcode?当两个对象 hashcode 相同怎么办?如何获取值对象
  • 为什么在重写 equals 方法的时候需要重写 hashCode 方法?equals与 hashCode 的异同点在哪里
  • a.hashCode() 有什么用?与 a.equals(b) 有什么关系
  • hashCode() 和 equals() 方法的重要性体现在什么地方
  • Object:Object有哪些公用方法?Object类hashcode,equals 设计原则? sun为什么这么设计?Object类的概述
  • 如何在父类中为子类自动完成所有的 hashcode 和 equals 实现?这么做有何优劣。
  • 可以在 hashcode() 中使用随机数字吗?
  • LinkedHashMap
  • LinkedHashMap 和 PriorityQueue 的区别是什么
  • List
  • ArrayList 和 HashMap 的默认大小是多数
  • ArrayList 和 LinkedList 的区别,什么时候用 ArrayList?
  • ArrayList 和 Set 的区别?
  • ArrayList, LinkedList, Vector的区别
  • ArrayList是如何实现的,ArrayList 和 LinkedList 的区别
  • ArrayList如何实现扩容
  • Array 和 ArrayList 有何区别?什么时候更适合用Array
  • 说出ArraList,Vector, LinkedList的存储性能和特性
  • LinkedList 是单向链表还是双向链表
  • LinkedList 与 ArrayList 有什么区别
  • 描述下 Java 中集合( Collection s),接口(Interfaces),实现(Implementations)的概念。LinkedList 与 ArrayList 的区别是什么?
  • 插入数据时,ArrayList, LinkedList, Vector谁速度较快?
  • List, Set, Map三个接口,存取元素时各有什么特点
  • List, Set, Map 是否继承自 Collection 接口
  • 遍历一个 List 有哪些不同的方式
  • LinkedList
  • ArrayList
  • Map
  • Map, Set, List, Queue, Stack
  • Map 接口提供了哪些不同的集合视图
  • 为什么 Map 接口不继承 Collection 接口
  • Collections
  • 介绍Java中的Collection FrameWork。集合类框架的基本接口有哪些
  • Collections类是什么?Collection 和 Collections的区别?Collection、Map的实现
  • 集合类框架的最佳实践有哪些
  • 为什么 Collection 不从 Cloneable 和 Serializable 接口继承
  • 说出几点 Java 中使用 Collections 的最佳实践?
  • Collections 中 遗留类 (HashTable、Vector) 和 现有类的区别
  • 什么是 B+树,B-树,列出实际的使用场景。

接口

  • Comparator 与 Comparable 接口是干什么的?列出它们的区别

文章来源:智云一二三科技

文章标题:收集了一些Java比较基础的面试题,挺全面的,快来收藏吧

文章地址:https://www.zhihuclub.com/193415.shtml

关于作者: 智云科技

热门文章

网站地图