遇见的面试题
-
1
public class Test { public static void main(String[] args) { Integer[] a1 = new Integer[3]; a1[0]= new Integer(1); a1[1]= new Integer(1); a1[2]= new Integer(1); int[] a2 = new int[3]; a2[0] = 1; a2[1] = 2; a2[2] = 3; System.out.println("++++++++++++++++++++++++++++++++++++++++++++="); System.out.println(Arrays.asList(a1).size());//3 System.out.println(Arrays.asList(a2).size());//1 } }
为什么输出结果为3和1
因为泛型不支持基础数据类型,int数组当成了一个List<int[]>中的一个元素
-
2
public static void main(String[] args) { short a =1; a=a+1; a+=1; }
第一种写法是错误的,在编译器里就提示,需要short类型,但是发现是一个int类型,a+1操作的时候默认向上转型了,转成了int,但是再赋值给a的时候需要向下转型为short,向下转型编译器不会默认的给你转,需要你手动转,比如a=short(a+1);这也能编译通过。像a+=1应该是编译器做了特殊处理。
-
3描述一下ZooKeeper的leader选举过程
参考《从paxos到zookeeper分布式一致性原理》一书的7.6节内容。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步