您的位置 首页 java

Java程序员面试常会遇到的题目,我觉得你需要了解一下

其实很多程序员面试都会遇到一些相同的问题,不同的问法而已。都是在问一些计算机的基础或者是一些技术的运用等。当然还有一些项目和技术处理之类的问题。我就发一些可能会问到的基础性的问题。

java 基础

String,Stringbuffer,StringBuilder的区别。

ArrayList和LinkedList有什么区别。

什么是 HashMap ?

用过哪些Map类,都有什么区别

JAVA8的ConcurrentHashMap为什么放弃了分段锁,有什么问题吗,如果你来设计,你如何设计。

HashMap, ConcurrentHashMap 原理

有没有有顺序的Map实现类,如果有,他们是怎么保证有序的。

抽象类和接口的区别,类可以继承多个类么,接口可以继承多个接口么,类可以实现多个接口么。

IO 模型有哪些,讲讲你理解的nio ,他和 bio ,aio的区别是啥,谈谈reactor模型。

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

反射中,Class.forName和ClassLoader区别 。

java动态代理实现与原理详细分析

描述动态代理的几种实现方式,分别说出相应的优缺点。

动态代理与 cglib 实现的区别。

为什么CGlib方式可以对接口实现代理。

final的用途。

写出三种 单例模式 实现 。

如何在父类中为子类自动完成所有的 hashcode 和equals实现?这么做有何优劣。

请结合OO设计理念,谈谈访问修饰符public、private、protected、default在应用设计中的作用。

深拷贝和浅拷贝区别。

数组和链表数据结构描述,各自的 时间复杂度

error和 exception 的区别,CheckedException,RuntimeException的区别。

在自己的代码中,如果创建一个java.lang.String类,这个类是否可以被类加载器加载?为什么。

说一说你对java.lang.Object对象中hashCode和equals方法的理解。在什么场景下需要重新实现这两个方法。

在jdk1.5中,引入了 泛型 ,泛型的存在是用来解决什么问题。

这样的a.hashcode() 有什么用,与a.equals(b)有什么关系。

有没有可能2个不相等的对象有相同的hashcode。

Java中的HashSet内部是如何工作的。

什么是 序列化 ,怎么序列化,为什么序列化,反序列化会遇到什么问题,如何解决。

java8的新特性。

强引用、软引用、弱引用、幻象引用有什么区别?

java运算符 与(&)、非(~)、或(|)、异或(^)

操作系统

Linux系统下你关注过哪些内核参数,说说你知道的。

Linux下IO模型有几种,各自的含义是什么。

epoll和poll有什么区别。

平时用到哪些Linux命令。以及如何排查线上问题

介绍下你理解的操作系统中 线程 切换过程。

进程和线程的区别。

JVM 知识

讲讲jvm运行时数据区

什么情况下会发生栈内存溢出。

JVM的内存结构,Eden和Survivor比例。

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

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

讲下cms和G1,包括原理,流程,优缺点。

垃圾回收算法的实现原理。

G1,包括原理,流程,优缺点

以上是一部分关于面试时可能会问到的问题。如果你是Java编程初学者,或者你想自学Java编程,可以私信我。私信“学习”,送你《Java编程规划指导手册》,帮你规划学习路线。我还可以教你自学Java编程的六大阶段和五大企业级项目实战。

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

文章标题:Java程序员面试常会遇到的题目,我觉得你需要了解一下

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

关于作者: 智云科技

热门文章

网站地图