某8面试题(第1套)
1)笔试部分(基础题)
(1)请用图形的方式表示出Java运行时数据区
(2)以上哪些数据区在空间不足的情况下会抛出异常?
(3)Java工程出现内存泄露如何排查?请写出你知道的排查工具以及方法
(4)以下代码的输出结果是什么?
String str1=new StringBuilder("58").append("ganji").toString();
System.out.println(str1.intern == str1);
String str2=new StringBuilder("ja").append("va").toString();
System.out.println(str2.intern == str2);
(5)在Scala中有一种函数其参数可以为参数,这样的函数称为高阶函数,请参照scala中常见map函数实现一个名为mymap的高阶函数,mymap接收两个参数值,第一个函数(x:Int)=>3*x,第二个为Int型数据。在mymap函数体内将第一个参数作用于第二个参数。
2)笔试部分(算法)
(1)给定两个只含有0和1字符的字符串,实现二进制加法。如:
String str1 = "101"
String str2 = "11"
实现binarySum(String s1,String s2),使得输入以上字符时返回字符串"1000"。
(2)给定一个整型数组array(没有重复元素),再给出一个目标值target,数组array中有两个元素的加和等于target,要求返回这两个元素的下标。如array = {1,2,4,6,3} target = 8,则返回[1,3]。
3)笔试部分(大数据相关)
(1)现有一张Hive表,表里面有两个字段uuid和ts,分隔符为\001分别表示用户唯一标识和用户来访的时间戳。
有如下需求
(a)要求计算每个用户的最后一次来访时间,用MapReduce实现(写完整的代码)
(b)你所写的代码有没有优化的空间?如果有,请写出优化方法。
(2)用Spark实现WordCount。
(3)Spark-Streaming+Kafka实现实时计算这种方案中通过什么方式保证数据的准确性?
(4)分别列举Hadoop和Spark中的文件缓存方式。
(5)HDFS的一致性是指什么?有几种语义?
(6)基于Yarn的推测执行是怎么实现的?描述其大致算法。
QUESTION NO:1 publicclass Test1{ public static void changeStr(String str){ str="welcome"; } public static void main(String[] args)( String str="1234"; changeStr(str); System. out. println(str); } } 输出结果: QUESTION NO:2 public class Test2{ static boolean foo(char c){ System out print(c); return true; } public static void main(String[] argv){ int i=0; for(foo('A');foo('B') &&(i< 2);foo('C')){ i++; foo('D'); 输出结果: