最近负责 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 友们觉得呢,是题目太难了还是面试的人太水了?

17455 次点击
所在节点    程序员
183 条回复
imycc
2022-06-24 19:18:32 +08:00
可能刷题的时候跳过了吧,你要不加大点难度,求从大到小求前 k 个数值(
boks
2022-06-24 19:18:59 +08:00
槽,我想起来之前去面试前端,面试官让我手写 vue 的 v-for 输出数组的姓名和年龄,还有 Promise 封装函数。我写完说:就这? 面试官说好多人写不出来😂
loryyang
2022-06-24 19:34:36 +08:00
你别说,我们当年面试过一个北大的同学,写不出数组反转(不是链表)
tzl
2022-06-24 19:51:39 +08:00
java 面试这么简单的吗?两年前毕业连个 java 面都没,转行 c++了,感觉亏了呀
cherryas
2022-06-24 20:24:40 +08:00
问这问题很没劲,但凡学过高强度学过会点 java 都能写出来, 真答了 for 循环在你这等于没过.
shakaraka
2022-06-24 20:28:13 +08:00
@Mexion #28 我看 op 用 Array ,就下意识用 reduce 了。
ffgrinder
2022-06-24 20:38:26 +08:00
我觉得好像大家都跑题了。这题核心就是写个 O(n)的算法吧,for 不 for 的只是实现方式?哪怕逐个 pop 都行吧(我不清楚 java 的 reduce 是不是线性时间的)。

sort 一定是不应该过的,因为在这个 case 下慢和蠢。
Bingchunmoli
2022-06-24 21:08:04 +08:00
第一反应就是冒泡。QWQ
onlineme
2022-06-24 21:35:59 +08:00
楼主我复习了冒泡算法
securityCoding
2022-06-24 21:44:58 +08:00
我出个快排算法题面试了七八个人只有一个写出来了。
AyaseEri
2022-06-24 22:09:28 +08:00
不大可能有人写不出,但是写不出确实在排查问题的能力上有所欠缺,觉得有诈问清楚就完事了。
yangbin9317
2022-06-24 22:17:14 +08:00
分析:列表中的所有数值都比最大值小

class Solution:
def findMax(self, l: List[int]) -> int:
import random
while True:
candidate = random.choice(l)
if not all(map(lambda x: x <= candidate, l)):
continue
return candidate
Foxii
2022-06-24 23:00:15 +08:00
有没有那种 就是那种
k8s 启动 list.size ()个微服务
启动完毕 kafka 推消息给中心
中心发启动倒计时消息
微服务分别跑 list.get ( i )秒的倒计时
完了用 Kafka 推过来,取第 list.size ()个的秒数
mikywei
2022-06-24 23:30:59 +08:00
java 有 var 这个数据类型吗?
lllllliiii
2022-06-24 23:33:40 +08:00
@mikywei ... 关键词这是,纯纯的刻板印象。
suxiaohuan
2022-06-24 23:50:12 +08:00
是因为 var 吧,你不出这题我都不知道 Java 还能用 var 了……
我第一反应就是不可能这么简单吧?肯定是因为 var 有什么我不了解的特性,导致直接写 for loop 会出现难以察觉的神秘 bug
不过要是反正也不知道怎么办的话,难道不该先硬写一个吗──
LGA1150
2022-06-25 00:09:24 +08:00
int max = Integer.MIN_VALUE;
for (int i : list)
max = Math.max(max, i);
LGA1150
2022-06-25 00:12:07 +08:00
@ifdef List.of() 返回的 List 是不可变对象,不能原地 sort

| java.lang.UnsupportedOperationException
| at ImmutableCollections.uoe (ImmutableCollections.java:142)
| at ImmutableCollections$AbstractImmutableList.sort (ImmutableCollections.java:261)
| at Collections.sort (Collections.java:145)
Macolor21
2022-06-25 00:24:37 +08:00
@aitaii 你二分不得先有序?不是多遍历了一层
nightwitch
2022-06-25 01:04:53 +08:00
for 循环本身就是最优解了,O(1)空间复杂度,O(n)时间复杂度,缓存友好。

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

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

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

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

© 2021 V2EX