栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

十、Scala高频面试题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

十、Scala高频面试题

1、开发环境

        要求掌握必要的Scala开发环境搭建技能。

2 变量和数据类型

        掌握var和val的区别

        掌握数值类型(Byte、Short、Int、Long、Float、Double、Char)之间的转换关系

3 流程控制

        掌握if-else、for、while等必要的流程控制结构,掌握如何实现break、continue的功能。

4 函数式编程

        掌握高阶函数、匿名函数、函数柯里化、函数参数以及函数至简原则。

 5 面向对象 

        掌握Scala与Java继承方面的区别、单例对象(伴生对象)、特质的用法及功能。

6 集合

        掌握常用集合的使用、集合常用的计算函数。

7 模式匹配

        掌握模式匹配的用法

8 异常

        掌握异常常用操作即可

9 隐式转换

        掌握隐式方法、隐式参数、隐式类,以及隐式解析机制

10 泛型

        掌握泛型语法

11下划线使用

        1.  用于变量初始化

        在Java中,可以声明变量而不必给出初始值,在Scala中,变量在声明时必须显示指定,可以使用下划线对变量进行初始化。而且该语法只适用于成员变量,不适用于局部变量。

        2.  用于导包引入

        导包引入时使用_导入该包下所有内容,类比Java中的*。

        3.  用于将方法转变为函数

        在Scala中方法不是值,而函数是。所以一个方法不能赋值给一个val变量,而函数可以。方法可以转换为函数赋值给变量

        4.  用于模式匹配

        模式匹配中可以用下划线来作为Java中default的类比使用,也可以在匹配集合类型时,用于代表集合中元素

        5.  用于访问tuple元素

        6.  用于简写函数

        如果函数的参数在函数体只出现一次,则可以用下划线代替。

        7.  定义偏函数

        对某个多参数函数进行部分函数调用,没有传入的参数使用_代替,返回结果即为偏函数。

12 Scala 中Array,List,Tuple的差别

        同样点:

        1.长度都是固定的,不可变长

        2.早期的Scala版本号,Array、List都不能混合类型,仅仅有Tuple能够,2.8版本号以后,3者的元素都都能够混合不同的类型(转化为Any类型)

        不同点:

        1.Array 中的元素值可变,List和Tuple中的元素值不可变

        2.Array通常是先确定长度,后赋值,而List和Tuple在声明的时候就须要赋值

        3.Array取单个元素的效率非常高。而List读取单个元素的效率是O(n)

        4.List和Array的声明不须要newkeyword。而Tuple声明无论有无new 都能够

        5.当使用混合类型时,Array和List会将元素类型转化为Any类型,而Tuple则保留每个元素的初始类型

        6.訪问方式不同。Array和List的下标从0開始,且使用小括号,而Tuple的下标从1開始,切使用点加下划线的方式訪问,如:arrayTest(0), listTest(0); Tuple訪问: tupleTest._1

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/584166.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号