最近负责 Java 面试,吐槽下

2022-06-24 16:18:21 +08:00
 monkeyWie

出了个编程题作为第一题,题目很简单就是一个列表找最大值:

var list = List.of(5, 23, 6, 112, 44, 33, 31);
// 找出 list 中的最大值并输出

但是没想到这么多人卡在这题上了😓,讲道理这题如果在 leecode 上应该是 very easy 的难度吧,各位 v 友们觉得呢,是题目太难了还是面试的人太水了?

16287 次点击
所在节点    程序员
182 条回复
Suddoo
2022-06-24 17:56:49 +08:00
哈哈,这比背八股文有意思多了

开口底层原理、框架内核、JVM 调得炉火纯青,结果送分题不会写,一看就是没怎么做过项目的
misaka19000
2022-06-24 17:58:21 +08:00
一个冒泡就行了
quanjw
2022-06-24 17:59:52 +08:00
如果最大值有多个呢
ifdef
2022-06-24 18:00:01 +08:00
var max = 112
System.out.print(max)
monkeyWie
2022-06-24 18:00:05 +08:00
@NeezerGu 我个人觉得吧,那些复杂的算法写不写的出都无所谓,能理解大概的原理就行,有点偏题了啊,其实这道题就是考察简单的逻辑思维能力吧,这题目都做不出,以后业务中出现点稍微复杂的逻辑问题那不是也够呛
hjwcn
2022-06-24 18:00:20 +08:00
@daimubai 不严谨,要是全部小于 0 呢,初始话,应该是列表第一个
misaka19000
2022-06-24 18:00:36 +08:00
楼上居然还有那么多人说要排序。。。这题不需要排序😶
Mithril
2022-06-24 18:01:05 +08:00
@NeezerGu 区别很大。
快排,或者说大多数算法,虽说是用来解决某些特定问题的,但实际上提供的是解决类似问题的思路。
比如说有个列表里面有一堆商品,让你找出其中最便宜的 5 个。
如果这列表不长还好说,如果有数量非常多的话,你还先排序吗?
fzdwx
2022-06-24 18:01:11 +08:00
@misaka19000

这个不需要冒泡,只用一个 for 。。。
int max = Integer.MIN_VALUE;
for (final Integer i : list) {
if (i > max) {
max = i;
}
}
Leviathann
2022-06-24 18:01:18 +08:00
理解 reduce 的比只会 for 的更会 编程 一些
monkeyWie
2022-06-24 18:01:30 +08:00
@AlisaDestiny 不是,我也以为这题应该是都会做啊,不然怎么放在第一题,但是来的都是 3-4 年工作经验的都写不出
arvinsilm
2022-06-24 18:02:25 +08:00
@daimubai 没有考虑 List 都是负数的情况,pass ( doge
misaka19000
2022-06-24 18:04:06 +08:00
@fzdwx #88 嗯,你说的这个就是我说的冒泡啊,不断的把最大的值往后移,是不是就像水里的泡泡一样,你写的其实和我说的是同一个意思

冒泡排序的前半部分用的就是这个思想,所以我管这个叫冒泡
misaka19000
2022-06-24 18:04:57 +08:00
@fzdwx #88 你这个还可以优化,把第一个值设置为 max ,可以减少一次循环
fzdwx
2022-06-24 18:05:16 +08:00
fzdwx
2022-06-24 18:05:30 +08:00
@misaka19000 #94 开始卷了
NeezerGu
2022-06-24 18:08:13 +08:00
@monkeyWie 这倒是,毕竟算是基础了。
oneisall8955
2022-06-24 18:08:43 +08:00
一次循环 O(n)?
zamaojava
2022-06-24 18:09:45 +08:00
我不会..........
blockmin
2022-06-24 18:09:46 +08:00
简单到让人多想,但凡你要取最大的两个或以上,我都会觉得是考察 TopK 。上面说排序的,取一个还排个锤子的序

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/861954

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX