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

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

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

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

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

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

【第三题】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 有哪些实现类,具体区别有哪些

【第十五题】关于vi

【第十六题】两个很大的数相加怎么处理

分析:由于有进位和个位不对齐,因此选择将两个数先转为字符串,翻转后进行相加然后向后进位。这里翻转的过程也可以用栈来实现。
难点:1、字符转数字相加;2、进位的保存与处理;3、数字转字符串。

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91322 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年2月26日
下一篇 2021年2月26日

相关推荐