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