Java 工程师面试题汇总,全会月薪至少 3W

Java 基础知识

  • java 中==和 equals 和 hashCode 的区别

  • int 与 integer 的区别

  • 抽象类的意义

  • 接口和抽象类的区别

  • 能否创建一个包含可变对象的不可变对象?

  • 谈谈对 java 多态的理解

  • String、StringBuffer、StringBuilder 区别

  • 泛型中 extends 和 super 的区别

  • 进程和线程的区别

  • final,finally,finalize 的区别

  • 序列化的方式

  • string 转换成 integer 的方式及原理

  • 静态属性和静态方法是否可以被继承?是否可以被重写?以及原因?

  • 成员内部类、静态内部类、局部内部类和匿名内部类的理解,以及项目中的应用

  • 讲一下常见编码方式?

  • 如何格式化日期?

  • Java 的异常体系

  • 什么是异常链

  • throw 和 throws 的区别

  • 反射的原理,反射创建类实例的三种方式是什么。

  • java 当中的四种引用

  • 深拷贝和浅拷贝的区别是什么?

  • 什么是编译器常量?使用它有什么风险?

  • 你对 String 对象的 intern()熟悉么?

  • a=a+b 与 a+=b 有什么区别吗?

  • 静态代理和动态代理的区别,什么场景使用?

  • Java 中实现多态的机制是什么?

  • 如何将一个 Java 对象序列化到文件里?

  • 说说你对 Java 反射的理解

  • 说说你对 Java 注解的理解

  • 说说你对依赖注入的理解

  • 说一下泛型原理,并举例说明

  • Java 中 String 的了解

  • String 为什么要设计成不可变的?

  • Object 类的 equal 和 hashCode 方法重写,为什么?

多线程

  • 开启线程的三种方式?

  • 说说进程,线程,协程之间的区别

  • 线程之间是如何通信的?

  • 什么是 Daemon 线程?它有什么意义?

  • 在 java 中守护线程和本地线程区别?

  • 为什么要有线程,而不是仅仅用进程?

  • 什么是可重入锁(ReentrantLock)?

  • 什么是线程组,为什么在 Java 中不推荐使用?

  • 乐观锁和悲观锁的理解及如何实现,有哪些实现方式?

  • Java 中用到的线程调度算法是什么?

  • 同步方法和同步块,哪个是更好的选择?

  • run()和 start()方法区别

  • 如何控制某个方法允许并发访问线程的个数?

  • 在 Java 中 wait 和 seelp 方法的不同;

  • Thread 类中的 yield 方法有什么作用?

  • 什么是不可变对象,它对写并发应用有什么帮助?

  • 谈谈 wait

  • tify 关键字的理解

  • 为什么 wait, noti

你可能感兴趣的:(后端,java,jvm,开发语言,后端,面试)