【面试题分析】第三篇 花旗银行|软件工程师|面经【2轮技术+1轮hr面】(21 届秋招)|2021|(3.25-3.29)

参考面经:花旗银行|软件工程师|面经【2轮技术+1轮hr面】(21 届秋招)|2021|

【第一题】面向对象三大特征

1、继承:使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展
2、封装:根据职责将属性和方法封装到一个抽象的类中
3、多态:(以封装和继承为前提),不同的子类对象调用相同的方法,产生不同的执行结果

【第二题】继承的时候可以去访问私有对象吗?

不能,子类可以继承父类的私有成员,但子类不能访问父类的私有对象。

【第三题】java 语言中,不加任何限定符表示的是什么

默认的是只允许同一个包的类访问。

【第四题】接口不加限定词是什么状态,是包可见的么

参考链接:Java protected 关键字详解

参考链接:Java 修饰符
在这里插入图片描述
在这里插入图片描述

【第五题】final 和 finally 的差别

分析:从修饰变量、类、方法进行描述。

final: 修饰的变量是一个常量,该变量只能被赋值一次,被声明为final的变量必须在声明时给定初值。用来修饰数据时,包括成员变量和局部变量,对于成员变量来讲,必须在声明时、构造器或者初始化块中对其进行赋值。

被final修饰的类是最终类:修饰某个类时,表明阻止派生该类的子类生成;

被final修饰的方法是最终方法:不能被重写,但是可以被子类重载;

被final修饰的变量,既可以在定义时指定默认值,也可以不指定默认值。在变量的生存期中它的值不能被改变,不能对被final修饰的形参赋值。(只能赋值一次)

内部类只能访问被final修饰的局部变量。

finally:
1、通常放置在try、catch后边;

2、finally中的语句是正常执行或者处理异常后必须执行的语句,一般用来关闭(释放)物力资源(数据库连接,网络连接,磁盘文件等)。无论是否发生异常,都必须关闭,因此假如没有必要资源需要释放,可以不定义finally块。

【第六题】你会在 finally 中做返回值的操作么,比如在 eclipse 中,你尝试写过 return 语句么,在 finally 中做返回值的操作会出一些什么样的状态你知道么

参考链接:不建议在finally中使用return语句

1、finally块中的return语句会覆盖前面try、catch中的return语句,会导致很难判断方法的返回结果,容易得出错误的结论;

2、如果finally块中包含了return语句,即使前面的try或catch块抛出了异常,则调用该方法的语句也不会获得catch块重新抛出的异常,而是会得到finally块的返回值,并且不会捕获异常。

【第七题】java 在 1.7 或者 1.8 之后,还需要 finally 这个东西么,有没有其他的语法可以替代掉么,换个说法是:“1.8以后,try语句还有其他写法么?”

Jdk1.8新特性之try()catch{}

【第八题】try 后面的圆括号中,是不是只有写一个事情,比如文件输入,文件输出

从java1.7版本开始,支持使用try后面跟随()括号管理释放资源,前提是这些可关闭的资源必须实现 java.lang.AutoCloseable 接口。

可实现的操作有:流操作,socket操作

【第九题】List 有哪些实现类,具体区别有哪些

在这里插入图片描述

LinkedList:addFirst(),addLast(),getFirst(),getLast(),removeFirst(),romoveLast().这些方法使得LinkedList可以当作堆栈,队列和双向队列使用。

【第十题】LinkedList 申请内存时候是连续的么

不是。

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值