华为OD机考心得

本人是在一个勉强一本的院校毕业的,学的也并不是计算机软件方向。因为并不太满意所学的专业的就业情况,感觉互联网行业会更加有前途,于是报了个Java的培训班学习了大概一年左右,才投递的简历。本来没想着能有大厂来找,没想着被华为给捞了。虽然OD基本算是外包的形式,但是毕竟是在华为研究所内工作,也能参与到项目的开发,最关键的是钱也能给到位,所以个人觉得算是个不错的机会。

华为OD的面试首先会有一轮机考,机考是在牛客网上做编程题。总共三道题,据说是一道简单两道中等,总分400分,150分以上就算通过。因为及格分数定的不是特别高,而且在培训期间个人也断续在牛客网和力扣上刷过题,所以感觉有机会,便答应了尝试一下。

机考语言是可以自己选的,本人只会Java所以就选的Java。机考与牛可网上的模拟考试差别不大,要开摄像头,不允许切屏(也就是没法用做题的电脑百度),然后要求用手机扫一下码,然后手机就进了一个小程序,估计离开这个小程序就算作弊了。

第一道题非常简单,求括号的最大嵌套深度。也就是会给出一个有效的带括号的字符串,比如"(1+(2*3)+((8)/4))+1",然后求括号的最大嵌套深度,这个例子里就是3。既然都是有效的字符串了,那直接for循环从左到右遍历呗,遇到左括号把答案+1,遇到右括号-1,不断更新最大值就行了。力扣上有一样的题,这里就不多描述了:

https://leetcode-cn.com/problems/maximum-nesting-depth-of-the-parentheses/
AC的代码如下:

第二道题,求解连续数列,题目描述忘了,简单来说就是给一个总和,以及连续正整数的个数,然后求这几个连续正整数的值。比如说和为525,数列个数为6,那么输出应该是85,86,87,88,89,90(85+86+87+88+89+90=525)

这道题也不算难,仔细想想就是一道数学题,假设数列的第一个数为x,那么有(x)+(x+1)+(x+2)+(x+3)+(x+4)+(x+5)=525,化简一下就是6x+(1+2+3+4+5)=525,括号里的数其实就是从1开始,差为1的等差数列,那公式就是(1+2+3+4+5)=(1+5)*5/2=15,当然不知道这个公式也没事,反正让机器遍历计算一下就完了。再根据这个思路一般化,设和为S,数列个数为n,那么有n*x+n*(n-1)/2=S,推出x=(S-n*(n-1)/2)/n(不知道等差数列的求和公式的话就是x=(S-(1+2+…+n-1))/n,其实也复杂不了太多)

第三题,数组去重和排序。简单来说就是给一个乱序的数组,比如1,3,2,3,3,2,4,4,4,5 ,先去掉所有重复数字,然后按去重前数字出现的次数从多到少排序,如果出现次数一样就按第一次出现的顺序来排序。比如上面的例子最后答案就是3,4,2,1,5。个人对这个问题的思路是可以建两个map,一个记录每个数字的出现次数,另一个记录数字第一次出现的位置,完了对去重后的数组按照这两个map的记录进行排序。其实也不算难,但是当时很紧张而且也没什么时间了,就没有写出来,最后直接返回了用例里的答案,管他呢,至少也有个几分吧。

总结一下,OD的机考难度不算特别高,如果经常刷牛客和力扣上的题的话,至少及格肯定是没问题的。考题的偏好的话,基于自己做的和参考其他的OD考试帖子,感觉比较喜欢考数组和字符串的问题,大家刷题可以着重注意一下这种类型的题!

补充一下,考试一定要多点提交,哪怕不能保证AC,只有部分用例通过也要提交,提交了过了多少用例就能拿多少分,有时候离通过可能就差这么几分。
最后,祝大家考试顺利!

--------------------------------------------------------------------------
更新!
感谢各位的关注,前段时间太忙了没空和各位互动,现在更新一下后续:
先回答一下各位问的比较多的问题:
Q1. 华为机考是核心代码模式还是ACM模式:是ACM模式,也就是说需要自己构造输入输出
Q2. 机考需要手机扫码吗:需要,防止利用手机作弊
Q3. 机考可以用本地的ide吗:可以的,不过由于机考会录屏,所以最好不要在ide里套模板

在通过机考后会发一个性格测试,这个没什么好说的,注意选轻松快乐压力小的选项就行,接口人还特地强调了要保持前后一致。
之后就是两轮技术面了,根据接口人说的主要是会面基础知识,项目(工作)经历和手撕代码,基础知识我记得问了Java的常用关键字,接口的用法,还问到了面向对象和面向过程的区别(这个答的不是很好),手撕代码感觉是最重要的环节,两轮分别问了判断回文串和二分法,和机考不同,都是很直白的直接问算法,没有像机考那样,题干都要理解半天。大概的写一下核心代码就可以了。
面试通过后就没什么特别的了,主管聊hr聊最后就是发offer体检和入职,整个过程还是比较顺利的。

最后,希望这篇笔经能对各位有所裨益,也衷心祝愿各位能尽早入职心仪的公司!
#华为od##笔经##华为#
全部评论
同在准备机考,麻烦问一下楼主定级多少吗?
1 回复 分享
发布于 2022-02-28 18:34
帮楼主顶一下!我机考也是做出第一题,第二题只过了部分用例,第三题也是直接构造了用例里的输入输出了答案拿了几分,最后也过了,感觉是勉强过了及格线。不过后续的面试流程还是比较顺利的,面试官也没有刻意刁难,顺利入职了华为,开心😆
9 回复 分享
发布于 2022-01-08 10:13
最近也在自学,自学这段工作经历空窗期怎么办呀,实话实说吗,还是简历包装下?
4 回复 分享
发布于 2022-04-26 18:20
牛哇,是哪天考的呀,报的哪个研究所
2 回复 分享
发布于 2022-01-13 09:07
我今天刚做了第二题 第二题确实很简单😂
1 回复 分享
发布于 2022-05-14 00:07
武汉华为研究所有意向的可以留言给我
1 回复 分享
发布于 2022-01-28 14:05
这题这么简单,OD是不是是人就要啊
点赞 回复 分享
发布于 2024-02-26 11:33 河北
还是很实用的
点赞 回复 分享
发布于 2022-08-24 18:51 海南
第三题可以用LinkedHashMap保证按照插入顺序 Scanner sc = new Scanner(System.in);         int n = sc.nextInt();         int[] arr = new int[n];         for (int i = 0; i < n; i++) {             arr[i] = sc.nextInt();         }         LinkedHashMap<Integer, Integer> map = new LinkedHashMap<>();         for (int i = 0; i < n; i++) {             int key = arr[i];             map.put(key,map.getOrDefault(key,0)+1);         }         int max = 0;         for (Integer value : map.values()) {             max = Math.max(max,value);         }         while (max >0){             for (Integer key : map.keySet()) {                 if (map.get(key)==max){                     System.out.print(key+",");                 }             }             max--;         }
点赞 回复 分享
发布于 2022-06-29 22:58
楼主是目标院校吗
点赞 回复 分享
发布于 2022-06-10 18:00
你这题目也太简单了吧,动态规划都没有。
点赞 回复 分享
发布于 2022-06-04 23:50
请问大家,牛客中有个练习模式和考试模式(不提示未通过的测试用例,可提前适应正式笔试),机试时有算例不通过也不会提示哪里输出不一致么?有些corner case可能没想周全
点赞 回复 分享
发布于 2022-05-02 21:44
你好,用例过了80%但是编程运行超时了,这个算分么
点赞 回复 分享
发布于 2022-05-01 23:11
请问可以重复点提交吗?还是只能点一次?
点赞 回复 分享
发布于 2022-03-14 10:19
楼主  请问面试难嘛?🤣看面经好像必须手机算法写出来才行
点赞 回复 分享
发布于 2022-02-28 21:50
你这个题太简单了😂我碰到的好难
点赞 回复 分享
发布于 2022-02-22 23:47
你好,华为德科的用例,如果错了,有提示具体哪个用例错了吗?
点赞 回复 分享
发布于 2022-02-20 14:39
感谢分享,华为武汉研究所OD岗位 开发测试都招,欢迎私聊呀!真诚沟通,不忽悠😁
点赞 回复 分享
发布于 2022-02-18 16:10
华为招聘测试相关岗位的OD,流程审批快,有意者欢迎骚扰,工作地点:长沙、东莞 详情链接:https://www.nowcoder.com/jobs/fulltime/detail?jobId=78265
点赞 回复 分享
发布于 2022-02-09 16:17
老大,求辅导班的联系方式。
点赞 回复 分享
发布于 2022-01-28 11:59

相关推荐

喜欢核冬天的哈基米很想上市:会爆NullPointerException的
点赞 评论 收藏
分享
评论
55
134
分享

创作者周榜

更多
牛客网
牛客企业服务