2025年spark面试题面试题(spark面试题目)

spark面试题面试题(spark面试题目)答案 解析 String 是 final 的 因此不能修改 所以诸如 substring concat 这些方法 不会修改 strValue 变量存储的值 字符串会存在字符串常量池 new String ABCDEFG 先在常量池中查找 若没有则创建 ABCDEFG 而后通过 new 在堆内存中创建对象 把 ABCDEFG 拷贝赋值 故创建常量池和堆内存中两个对象 两个对象的地址值不一样 答案 解析 先在常量池中创建 abc 变量 s1 指向它 而后在创建 s2 时




答案:


解析:
String是final的,因此不能修改,所以诸如substring()、concat()这些方法,不会修改strValue变量存储的值。

字符串会存在字符串常量池。new String("ABCDEFG")先在常量池中查找,若没有则创建"ABCDEFG",而后通过new在堆内存中创建对象,把"ABCDEFG"拷贝赋值。故创建常量池和堆内存中两个对象,两个对象的地址值不一样。


答案:


解析:

先在常量池中创建"abc",变量s1指向它,而后在创建s2时,由于常量池中已经存在"abc",只需s2指向它,而不需要再创建。因此s1和s2指向的内存地址是一样的,所以第一个结果为true。而equals方法经过重写后操作为"比较此字符串内容时候相同"所以第二个结果为true。

解析:

new String("abc")先在常量池中查找,若没有则创建"abc",而后通过new在堆内存中创建对象,把"abc"拷贝赋值。String定义为初始化一个新创建的 String 对象,表示一个与该参数相同的字符序列;换句话说,新创建的字符串是该参数字符串的一个副本。故创建常量池和堆内存中两个对象,两个对象的地址值不一样。


答案:


解析:
比较的是内存地址,String的equals方法重写了Object的equals方法,String的equals方法比较的是字符串的内容是否相同。


答案:


解析:
本题主要考察java中常量优化机制,编译时s1已经成为“abc”在常量池中查找创建,s2不需要再创建。


答案:


解析:
Java 语言提供对字符串串联符号(”+”)和其他对象到字符串的转换的特殊支持。字符串串联是通过 StringBuilder(或 StringBuffer)类及其 append 方法实现的,字符串转换是通过 toString 方法实现的。在本题中,先在常量池中创建”ab“,地址指向s1,再创建”abc”,指向s2。对于s3,先创建StringBuilder(或 StringBuffer)对象,通过append连接得到“abc”,再调用toString()转换得到的地址指向s3。故(s3==s2)为false.

数组元素从左至右两两比较,较大值移到右边,每一趟比较后,最大值会移到最右边。



每次从数组中选择最小的元素,置换到有序组中。



逻辑上把数组分成和,每次从取出一个元素,在中找到插入位置然后插入。









类 ---- ---- String 字符串常量 StringBuffer 字符串变量 线程安全 StringBuilder 字符串变量 非线程安全
集合类型 特点 List 元素有序,可重复 Set 元素无序,不可重复 Map 双列集合,一次存一对键值对,键不能重复 Queue 元素先进先出,不允许随机访问队列中的元素

List的实现类:

  • 数组实现, 查找快, 增删慢。由于是数组实现, 在增和删的时候会牵扯到数组增容, 以及拷贝元素。所以慢。数组是可以直接按索引查找, 所以查找时较快。
  • 链表实现, 增删快, 查找慢。由于链表实现, 增加时只要让前一个元素记住自己就可以, 删除时让前一个元素记住后一个元素, 后一个元素记住前一个元素。 这样的增删效率较高。但查询时需要一个一个的遍历, 所以效率较低。
  • 和ArrayList原理相同, 但线程安全, 效率略低和ArrayList实现方式相同, 但考虑了线程安全问题, 所以效率略低。

Set的实现类:

  • 线程不安全,存取速度快。底层是以hash表实现的
  • 红-黑树的数据结构,默认对元素进行自然排序(String)。如果在比较的时候两个对象返回值为0,那么元素重复。
  • 会保存元素插入的顺序

Map的实现类:

  • 底层是哈希表数据结构,线程不安全。可以存入null键、null值。要保证键的唯一性,需要覆盖hashCode方法,和equals方法。
  • 基于哈希表又融入了链表,所以Map集合进行增删提高效率。
  • 底层是二叉树数据结构。可以对map集合中的键进行排序。需要使用Comparable或者Comparator进行比较排序。return 0,来判断键的唯一性。
  • 底层是哈希表数据结构,线程是同步的,不可以存入null键,null值。效率较低,被HashMap 替代

Queue的实现类:

  • 保存队列元素的顺序并不是按照加入队列的顺序,而是按照队列元素的大小进行重新排序,这点从它的类名也可以看出来
  • 代表一个"双端队列",双端队列可以同时从两端来添加、删除元素,因此Deque的实现类既可以当成队列使用、也可以当成栈使用。
  • 是一个基于数组的双端队列,和ArrayList类似,它们的底层都采用一个动态的、可重分配的Object[]数组来存储集合元素,当集合元素超出该数组的容量时,系统会在底层重新分配一个Object[]数组来存储集合元素
  • 链表实现, 增删快, 查找慢。
编程题:假设有n个人围成一个圈,从第一个人开始报数,数到第m个人出列,然后从出列的下一个人开始报数,数到第m个人又出列,...,如此反复知道所有人全部出列为止。设n个人的编号为1,2,3...,n,打印出出列的顺序。

char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所以,char型变量中当然可以存储汉字啦。不过,如果某个特殊的汉字没有被包含在unicode编码字符集中,那么,这个char型变量中就不能存储这个特殊汉字。补充说明:unicode编码占用两个字节,所以,char类型的变量也是占用两个字节。







name course score 张三 语文 70 李四 数学 90 李四 英语 88 王五 英语 95 ... ... ...
  • 查询学生的姓名及平均分
  • 查询每门课程都>80分的学生的姓名

static

1)主要用于修饰类的成员:。
当修饰成员变量时,成员变量,也可以通过对象名来访问;
当修饰成员方法时,成员方法,也可以通过对象名来调用;
当修饰内部类时,内部类,也可以通过对象名来访问;

2)静态方法不能访问非静态成员(变量和方法)

3)静态方法不能使用this、super

4)静态的成员优先与对象的成员存在

final

5)主要用于修饰

6)修饰成员属性时,表示是一个常量,不能被修改。如果修饰的是基本数据类型,表示值不能被修改;如果修饰的是对象,表示引用值不能被修改。

7)修饰类时,该类不能被继承。

8)修饰方法时,该方法不能被重写。

9)修饰局部变量时,该变量不能被修改。

static final
static和final可以一起使用,可简单理解成,static final的前后位置可以互换没有区别。
修饰变量时,表示一旦给值就不可修改,并且通过类名可以访问。
修饰方法时,表示不可重写,并且可以通过类名直接访问。

wait():释放资源,释放锁。是Object的方法
sleep():释放资源,不释放锁。是Thread的方法

共同点:
都可以删除表数据

区别:

语句 举例 特性 特性 drop drop table users 删除表的数据和结构,释放空间 DDL语言,DDL语言都是自动提交的且不能回滚 truncate truncate table users 删除表的数据,保留结构,释放空间 DDL语言 delete delete from users (可带where子句) 删除表的数据,保留结构,不释放空间 DML语言,可回滚

空间是指:

其它:

  • 速度比较:drop > truncate > delete
  • 释放空间的测试:建个表含自增索引的,插入几条记录,然后truncate,再插入几条记录,会发现自增索引又从1开始。但是如果用delete的话,会发现所以不是从1开始的,而是接着最后删除的记录的自增id。
  • delete语句每次删除一行,很慢
  • drop还可以用来删除数据库

NullPointerException,IndexOutOfBoundException,StackOverflowException

共同点:
1)接口和抽象类都不能实例化
2)接口和抽象类都可以有抽象方法,它们的子类必须实现抽象的方法

不同点:
3)接口只能有抽象方法,但抽象类可以同时有抽象方法和普通的方法
4)接口只能有静态常量,但抽象类可以有静态常量和成员变量。
5)接口不能有构造器或构造代码块,但抽象类可以有。


                    
编程小号
上一篇 2025-02-22 16:30
下一篇 2025-02-25 13:11

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/51163.html