大数据面试题有哪些

大数据面试题有哪些

这篇文章主要讲解了“大数据面试题有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“大数据面试题有哪些”吧!

1、数据类型之间的转换:

大数据面试题有哪些

1)如何将数值型字符转换为数字?

2)如何将数字转换为字符?

3)如何取小数点前两位并四舍五入? 【基础】

答:

1)调用数值类型相应包装类中的方法parse***(String)或valueOf(String)即可返回相应基本类型或包装类型数值;

2)将数字与空字符串相加即可获得其所对应的字符串;另外对于基本类型数字还可调用String 类中的valueOf(…)方法返回相应字符串,而对于包装类型数字则可调用其toString()方法获得相应字符串;

3)可用该数字构造一java.math.BigDecimal 对象,再利用其round()方法进行四舍五入到保留小数点后两位,再将其转换为字符串截取最后两位。

1、You need to insert an inner class declaration at line 3,Which two inner class declarations are valid?(Choose two.)

public class OuterClass {

private double d1 = 1.0;

//insert code here

}

A. class InnerOne{

public static double methoda() {return d1;}

}

B. public class InnerOne{

static double methoda() {return d1;}

}

C. private class InnerOne{

double methoda() {return d1;}

}

D. static class InnerOne{

protected double methoda() {return d1;}

}

E. abstract class InnerOne{

public abstract double methoda();

}

答:答案为C、E;说明如下:

1)静态内部类可以有静态成员,而非静态内部类则不能有静态成员;故A、B错;

2)静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;故D 错;

3)非静态内部类的非静态成员可以访问外部类的非静态变量;故C 正确。

2、字符串操作:如何实现字符串的反转及替换?【基础】

答:可用字符串构造一StringBuffer 对象,然后调用StringBuffer 中的reverse方法即可实现字符串的反转,调用replace 方法即可实现字符串的替换。

3、编码转换:怎样将GB2312 编码的字符串转换为ISO-8859-1 编码的字符串?【基础】

答:示例代码如下:

String s1 = "你好";

String s2 = new String(s1.getBytes("GB2312"), "ISO-8859-1");

4、写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔。【基础】

答:函数代码如下:

public String[] split(String str, int chars){

int n = (str.length()+ chars - 1)/chars;

String ret[] = new String[n];

for(int i=0; i<n; i++){

if(i < n-1){

ret[i] = str.substring(i*chars , (i+1)*chars);

}else{

ret[i] = str.substring(i*chars);

}

}

return ret;

}

5、字符串操作:如何实现字符串的反转及替换?【基础】

答:可用字符串构造一StringBuffer 对象,然后调用StringBuffer 中的reverse方法即可实现字符串的反转,调用replace 方法即可实现字符串的替换。

6、日期和时间:

1)如何取得年月日、小时分秒?

2)如何取得从1970 年到现在的毫秒数?

3)如何取得某个日期是当月的最后一天?

4)如何格式化日期?【基础】

答:

1)创建java.util.Calendar 实例(Calendar.getInstance()),调用其get()方法传入不同的参数即可获得参数所对应的值,如:calendar.get(Calendar.YEAR);//获得年

2)以下方法均可获得该毫秒数:

Calendar.getInstance().getTimeInMillis();System.currentTimeMillis();

3)示例代码如下:

Calendar time = Calendar.getInstance();

time.set(Calendar.DAY_OF_MONTH,

time.getActualMaximum(Calendar.DAY_OF_MONTH));

7、什么时候用assert?【中等难度】

答:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。一般来说,assertion 用于保证程序最基本、关键的正确性。assertion 检查通常在开发和测试时开启。为了提高性能,在软件发布后, assertion 检查通常是关闭的。在实现中,断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为true;如果表达式计算为false,那么系统会报告一个Assertionerror。

断言用于调试目的:

assert(a > 0); // throws an Assertionerror if a <= 0

断言可以有两种形式:

assert Expression1 ;

assert Expression1 : Expression2 ;

Expression1 应该总是产生一个布尔值。

Expression2 可以是得出一个值的任意表达式;这个值用于生成显示更多调试信息的String 消息。

断言在默认情况下是禁用的,要在编译时启用断言,需使用source 1.4 标记:

javac -source 1.4 Test.java

要在运行时启用断言,可使用-enableassertions 或者-ea 标记。

要在运行时选择禁用断言,可使用-da 或者-disableassertions 标记。

要在系统类中启用断言,可使用-esa 或者-dsa 标记。还可以在包的基础上启用或者禁用断言。可以在预计正常情况下不会到达的任何位置上放置断言。断言可以用于验证传递给私有方法的参数。不过,断言不应该用于验证传递给公有方法的参数,因为不管是否启用了断言,公有方法都必须检查其参数。不过,既可以在公有方法中,也可以在非公有方法中利用断言测试后置条件。另外,断言不应该以任何方式改变程序的状态。

8、Java 中的异常处理机制的简单原理和应用?【基础】

答:当JAVA 程序违反了JAVA 的语义规则时,JAVA 虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2 种情况。一种是JAVA 类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsException;访问null 的对象时会引发NullPointerException。另一种情况就是JAVA 允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw 关键字引发异常。所有的异常都是java.lang.Thowable 的子类。

9、error 和exception 有什么区别? 【基础】

答:error 表示系统级的错误和程序不必处理的异常,是恢复不是不可能但很困难的情况下的一种严重问题;比如内存溢出,不可能指望程序能处理这样的情况;exception 表示需要捕捉或者需要程序进行处理的异常,是一种设计或实现问题;也就是说,它表示如果程序运行正常,从不会发生的情况。

感谢各位的阅读,以上就是“大数据面试题有哪些”的内容了,经过本文的学习后,相信大家对大数据面试题有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是恰卡编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

发布于 2022-01-14 22:31:08
收藏
分享
海报
0 条评论
33
上一篇:ERP软件在企业中的优势和作用有哪些 下一篇:大数据的概念是什么
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码