试了一下华为 od 机试题

2023-01-05 09:03:12 +08:00
 YadongZhang

杭州前端岗

总共 3 道题,限时 150 分钟

1

题目描述

给出一个整数数组,找出出现频率最多的数字,输出该数字在数组中最后一个下标与第一个下标之差,如果有多个频率最高数字,输出最小下标之差。

测试用例:

[1, 2, 2, 3, 3, 4, 3, 1, 1],频率最高的有数字 1 和 3 ,但是 3 构成的数组 [3, 3, 4, 3] 长度 ( 4 )最小,所以输出 4 。

解法:

HashMap ,根据 value 排个序,找出频率最高 key, lastIndexOf - indexOf, 然后 Math.max(ans, tempMax)

总结:

这道题耗时最长,以前从未做过 HashMap 排序,最后转成数组排序的

测试通过率✅: 80%(应该是有 edge cases 没考虑到)

2

题目描述

双人自行车限重 m ,给出一组公司员工体重,每个人的体重都小于限重,求最少需要多少辆双人自行车。

解法:

排序 + 双指针

总结:

有思路了就直接 AC 了

测试通过率✅: 100%

3

题目描述

连续子列问题,一个整数数组,数据规模较大,输出和( sum )相等的连续子列构成数组的最大长度。

测试用例:

解法:

每一个元素看做一个子序列,遍历一遍

总结:

原题中文描述的,太抽象了,也没掌握过什么高级数据结构和算法,暴力解了

测试通过率✅: 56.36%(数据规模较大,算法复杂度太高,应该是超时了)


当天下午在牛客上刷了 5 道题,熟悉了一下输入输出,晚上题目发过来就做了

机考是用牛客的 ACM 模式,每道题只能提交一次,90 分钟交卷,最后得分 260

运气还算比较,基础数据结构里没有二叉树相关题目

小技巧:草稿纸上演算一次效率超高

以前面试都是盯着屏幕傻看。。。


因为简历上有超过半年空窗期,后面流程也就没往下走了,另外,因为身体原因,不大能适应加班。

有需要的就当经验帖了

7661 次点击
所在节点    职场话题
35 条回复
ajaxgoldfish
2023-01-05 09:14:46 +08:00
前端难度和 cpp 难度相差大吗,我现在算法大约也就这个水平。
BanGanExpert
2023-01-05 09:31:05 +08:00
前端都这样了?这个是面试几年的?我是没有大厂面试经历,还是大厂都是这风格吗
这难度虽然其实并不算难,就我作为 Java 工程师来看,我估计很多 3 年水货工程师是过不了的
TuneG
2023-01-05 09:38:03 +08:00
华为笔试题不区分年份的,都是一样的题,不管你是几年,都是一个系统考试,难度基本就是 leetcode 中等难度题,年份只是面试和定级的时候有用
hidemyself
2023-01-05 09:39:43 +08:00
od 就这样,机试稍微难一点,不分前后端,题都一样的。
几轮面试的题目会简单一点。
tialias
2023-01-05 09:47:34 +08:00
我当时面 od-测试,第一道就是接雨水,第二道是什么小岛动态规划的
muntoya
2023-01-05 09:48:23 +08:00
@BanGanExpert #2 哈哈,要有自信,做出这些题不需要是工程师,工程师也不会用到这些,好多应届生刷了几百题就能过了
mingszu
2023-01-05 10:01:29 +08:00
@BanGanExpert 跟几年经验没关系,刚毕业的甚至算法能力更强,毕竟人在学校没事就刷
chendl111
2023-01-05 10:11:32 +08:00
校招刷个 200 到 leetcode 水平
jincan39
2023-01-05 10:58:24 +08:00
小兄弟 为啥最近半年空窗?
mmmfj
2023-01-05 11:04:38 +08:00
之前问过 od 招聘的有空窗也没事,为什么你不继续面了
A555
2023-01-05 11:31:50 +08:00
一题不会 😅
daliusu
2023-01-05 11:36:35 +08:00
@ajaxgoldfish 华为 od 是玄学招聘,我前端同事之前做了一次瞎做也过了,感觉这个就是流程,而且都是一样的难度,只是根据实际岗位肯定会有放水情况
YadongZhang
2023-01-05 13:21:31 +08:00
@ajaxgoldfish

cpp 是指 c++ 吗?
以前还会写 hello world ,现在都不会了,不知道难度差别大不大


@jincan39

Freelance Web3 太爽了


@mmmfj

因为 od 招聘说有事,微信突然不回,问了才知道。另外,有加班,身体原因顶不住。。。
Promtheus
2023-01-05 14:33:05 +08:00
@BanGanExpert 如果没有刻意刷过题的话,大多数十年的都不见得会做。这和年限都没关系。毕竟实际开发中很少用到算法
jedihy
2023-01-05 14:36:10 +08:00
@BanGanExpert 算法题不是你工作几年就会做的。刷三个月题比三十年工作经验管用。这种 LC easy-medium 的经典题直接可以默写。
YadongZhang
2023-01-05 14:41:08 +08:00
@jedihy 太强了,羡慕可以直接默写的,我差点写哭了,写不出来嘛
7911364440
2023-01-05 15:47:15 +08:00
@YadongZhang 你刷下 leetcode 就知道了,很多题都是有套路的,想不出来也很正常。
tonytonychopper
2023-01-05 22:32:52 +08:00
OP 有空可以刷下 lc ,这几道题都算比较经典的
zanx817
2023-01-05 22:52:07 +08:00
第三题有没有第二个参数 K ,要求 sum=k 的子数组?
此时引入 prefix sum 可解。

如果没有 k 的话,这个题是 hard 难度了。目测要用 hash 。
zanx817
2023-01-05 22:56:06 +08:00
目测:第一题是典型的滑动窗口题。 OP 的解法应该是不佳的。 应引入 hash 记录频率。

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

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

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

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

© 2021 V2EX