java 跳出多重嵌套循环_「北京」刚融资过亿的电商ERP公司,掌上先机,Java面试总结...

e3f958c9e7553d7a939fe9f0aaed0ded.png

这个是前段时间面的一个公司,加了HR微信,在朋友圈看到他们最近融资了不少,是一个做CS架构的公司,做ERP的,就是财务管理软件,给各大电商平台的商户管理财务和发货信息用的。去面的时候感觉他们公司没有想象的大,不过HR说他们快搬办公地点了,融资成功,当然要大肆招人了。现在还在招,有兴趣的可以面面,前台和HR都不是很漂亮,前台小姐姐不应该都很漂亮吗?

f0c598bd8fb7d14b96b20f12a6edfe96.png

try{}里面有一个return语句,那么紧跟在这个try后的finally{}里的code会不会执行,什么时候执行?

8d9e4cd263832edd3d762d3c45a5021f.png

看上面输出,finally里的code会执行,在try里面的return执行之前执行

Java中的final关键字有哪些作用?

final修饰类时,表明这个类不能被继承

final修饰方法,表明方法不能被重写

final修饰变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改,如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象

当一个线程进入一个对象的synchronized方法后,其他线程是否可进入此对象的次方法?

不能进入

一个.java源文件中是否可以包括多个类(不是内部类)?有什么限制?

一个.java的源文件中是可以包含多个类的,但是public类只能有一个,并且类名要和文件名相同,如果有两个public类 就会报出以下的错误

7263184a55fbdf7d86f4b64261459d31.png

可以看到提示Test2应该被定义到一个Test2.java文件中

aa1237a8cd35d90e0390490bbf696e2d.png

将Test2的的public去掉,即正常并且在Test1中可以使用

6ffea1daf09de2ae74ce139fccea2439.png

最后会被编译为2个class文件

94bfe7e881a2298980832b186d5efe70.png

下列程序段,数据的结果是什么?

7450ff3d5dd6a11c9122cee12647a376.png

输入为

1

2

4

0a9f689847f85e6107ae49fac93ba4dc.png

设有一组关键词序列{5,8.14,20,31,55,78,81,93,97,11},使用二分法查找关键字93需要多少次比较

一般是让写二分查找代码,简单写一下吧,次数自己模拟一下就行

fb52f2764a8678fdd13626e5d90a01f8.png

getValue(2)的结果是10

getValue(4)的结果是18

很简单的2个题,不再说了

下面关于abstract关键字描述错误的是

abstract类的子类必须实现其超类的所有abstract方法(错误的)

看如下代码,不会报错,所以不用实现

abstract class Father { public abstract void show();}public abstract class Son extends Father{}

下面是一颗树,请用某种方式将其转为二叉树,同时写出先序遍历

树转二叉树有一个法则

(1)树中所有相同双亲结点的兄弟结点之间加一条连线;

(2)对树中不是双亲结点的第一个孩子的结点,只保留新添加的该结点与左兄弟结点之间的连线,删去该结点与双亲结点之间的连线;

(3)整理所有保留的连线,根据连线摆放成二叉树的结构,转换完成。

60d00ad7a102539ba01810f08f1e86d6.png
708e668c269c9fa06f716f40df92cd10.png

是左子树还是右子树的一个法则是,左儿子,右兄弟(儿子是左子树,兄弟是右子树)

题目中将树转为二叉树的过程如下

8b63ef9e4006bb7de5437fe9eb5d3fbd.png

写出先序遍历,上口诀

前序遍历:根,左,右

中序遍历:左,根,右

后序遍历:左,右,根

先序遍历为ABEFCGDH

在Java中,如何跳出当前的多重嵌套循环,两种方式实现?如数组int arr[][]={{1,2,3},{4,5,6,7},{8,9,5}}

找到数值5打印并跳出循环

标记退出这种方式我就不写了,写一个大多数人不知道的骚操作,这里先演示一下retry的使用

break retry 跳到retry处,且不再进入循环

continue retry 跳到retry处,且再次进入循环

break retry的使用

54f789921772e405a2a1b308c1331e10.png

continue retry的使用

383da61e0bab74efa766099688bfb96b.png

所以一种写法就是

f1fa2e94a9ab1e480959c9937e17698d.png
0c4361df1b7ded20e1ac368ada1ecd17.png

删除list中指定的所有元素,例如List();如果存储的数据是[1,2,3,2,4,5,2]删除所有数值等于2的元素?

这个需要注意的一点就是尽量不要用list.remove(),因为要注意的细节比较多,很容易出错,我也不想解释了,有兴趣的可以看一下这篇文章

https://blog.csdn.net/qq_42986107/article/details/81988470

用迭代器模式删除就行

c33ab5bdc0d20719a99db03f2e250c77.png

输出如下代码的输出结果

035d8dcbf8fb0925fc0d444f0d21898f.png

从这个题目也可以看出一个.java文件可以包括多个类

简单的类加载顺序,上口诀

  1. 父类的静态(静态代码块,静态成员变量),子类的静态(静态代码块,静态成员变量)
  2. 父类的非静态(构造代码块,非静态成员变量),父类的构造函数
  3. 子类的非静态(构造代码块,非静态成员变量),子类的构造函数

所以写出如下输出就很容易了

static Astatic BI'm A classHello AI'm B classHello B

剩下的编程题没多大难度,就不写了

2919a121a9c6242b0a6bd5c50167f21c.png

(面试真题总结)帝都,Java,日活跃用户过百万app

疯狂Java面试系列-北京望京-钢琴教育公司

C轮融资,国内领先餐饮供应链电商,美菜网,Java面试真题总结

A轮千万美元融资,三里屯soho,金融公司,懒投资,Java面试总结

关注Java识堂,持续分享北京几十家公司面试真题,有好的面试题也可能分享给我,欢迎进群

764113208 交流面试过程,欢迎加我微信zztierlie

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值