Java高级开发工程师面试题

对于高级工程师来讲,自身的技术修为尤为重要,比如算法、设计模式、底层原理等,只有把这些基础熟练之后,才能在开发过程中知其然知其所以然,出现问题时达到得心应手。接下来与大家一起分享Java高级工程师面试的一些经验之谈。

Java高级开发工程师面试题_第1张图片

Memcache与Redis的区别

memcache把数据存在内存之中,断电后会挂掉;Redis部分数据持久化在硬盘上,断电不会丢失。

memcache存的是key-value对,redis支持更多的数据结构和数据类型

memcache可以使用一致性hash做分布式,redis可以做主从同步

redis单线程,只使用1个cp

floatf=3.4;是否正确?

不正确。3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损失,因此需要强制类型转换floatf=(float)3.4;或者写成floatf=3.4F。

Math.round(11.5)等于多少?Math.round(-11.5)等于多少?

Math.round(11.5)的返回值是12,Math.round(-11.5)的返回值是-11。四舍五入的原理是在参数上加0.5然后进行下取整。

Java高级开发工程师面试题

说说类的生命周期

1.加载,查找并加载类的二进制数据,在Java堆中也创建一个java.lang.Class类的对象;

2.连接,连接又包含三块内容:验证、准备、初始化。1)验证,文件格式、元数据、字节码、符号引用验证;2)准备,为类的静态变量分配内存,并将其初始化为默认值;3)解析,把类中的符号引用转换为直接引用;

3.初始化,为类的静态变量赋予正确的初始值;

4.使用,new出对象程序中使用;

5.卸载,执行垃圾回收。

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

重载:有同样的方法名称不同的参数列表。a(){}a(Stringb){}...

重写(也称覆盖):即可以重新编写与父类同名方法形象的称之为重写(覆盖)。

描述一下JVM加载class文件的原理机制?

VM中类的装载是由类加载器(ClassLoader)和它的子类来实现的,Java中的类加载器是一个重要的Java运行时系统组件,它负责在运行时查找和装入类文件中的类。

你可能感兴趣的:(IT行业小知识)