欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

2024 华为 OD 面试实操代码问题

最编程 2024-04-19 18:56:21
...

        很多小伙伴后台私信我,让我出一些面试中的手撕代码题。

        一般面试的时候每一轮技术面都会出一到两个手撕代码题,这些题的特点就是,非常短小,易于理解。不可能会再出阅读理解一样的机试题的。但是这些题目也非常注意基本功,注意细节的处理,一般都是easy+medium题目。但是大家一定要注意,因为大部分面试官上面一开始就会让你做题,直接看你所有的做题过程(防止有人水平一般,机试就网上找的答案的蒙混过关),手撕代码题会给你后面的面试定一个基调。

        如果你机试成绩很高,而面试上来一个easy题写的都磕磕绊绊的,估计基本上你的面试也结束了,可能后面面试官随便出几个简单的八股就是不很想问了,毕竟招你进去也不是背八股文的。

        不过面试这东西因人而异,也有小伙伴就反馈面试官很随和,做不出来的题目还会给你提示,给你讲逻辑让你实现。

        总之,希望大家面试顺利咯。(目录中的出现频率是统计于:牛客网、脉脉、****、华为OD面试QQ群等各种网络途径)

序号 题目 出现频率
1 求1-n的最小公倍数 ????????
2 判断是ipv4还是ipv6地址 ????????
3 旋转矩阵 ????????
4 字符串的排列 ????????????
5 最长不重复子串 ????????????????
6 字符串压缩 ????????????????????
7 换零钱 ????????????
8 数组元素TOP1 ????????????????
9 反转每对括号间的字符串 ????????
10 字符串的数字和 ????????????
11 长度最小的子数组 ????????????
12 加油站 ????????
13 判断一个数字能否分解为几个连续自然数之和 ????????
14 分发糖果 ????????????
15 字母异位词分组 ????????
16 合法的括号 ????????????????
17 最大连续1的个数 ????????
18 判断链表是否有环 ????????????????
19 岛屿的周长 ????????????
20 括号内字符串翻转 ????????????????
21 单词拆分 ????????
22 求素数个数 ????????????????
23 救生艇 ????????
24 LRU实现 ????
25 实现备忘录系统 ????????
26 判断回文串 ????????
27 求岛屿个数 ????????????
28 切割回文串最小切割次数 ????
29 给定一个字符串,判断是否能够分为三个回文子串 ????
30 O(n)时间内求和为target两个数 ????????????
31 八进制求和 ????????
32 单链表相交 ????????????
33 移除K位数字,求最小数 ????????
34 最长公共前缀 ????????????????
35 行星碰撞 ????????
36 十八进制数比较大小 ????????
37 非减序列查找目标值 ????????????
38 实现一个简易版计算器 ????????
39 找最大连续子串 ????????
40 最长的连续绿色衣服的士兵 ????????
41 Linux 路径处理 ????
42 判断最长回文子串 ????????????
43 三数之和 ????????
44 二叉树最大路径和 ????????????
45 乘电梯最小花费时间 ????????????
46 简单表达式化简 ????????
47 钱币兑换问题 ????????
48 最大子数组和 ????????????????
49 更新中。。。

​编辑

网上采集的比较有用的两个面经,希望对你有所帮助

        1、第一个是hr电话面试, 其实也就是od的hr致电, 简单了解一下个人情况, 问我要一些个人信息, 这块没啥问题;

        2、第二个就是机考了, 根据我提供的信息, od的hr给我发了一个机考的链接, 并告诉我7天内有效, 之后差不多5天吧, 在牛客和力扣上刷了差不多20道题左右, 合计着时间差不多了, 就去机考, 整个考试的过程中需要打开摄像头, 然后也会锁手机, 考试时间150分钟, 一共是三道题. 说实在的我抽到的题目不难, 差不多力扣的简单**2* + 中等*1, 前两个是数组和字符串相关的排序类题目, 第三题是一个摇骰子, 就是定好起始状态, 经过一系列操作后骰子个面的数字这样. 没有碰到动态背包这类的问题(这类题目讲道理我目前这个水平看答案都费劲...), 最后380分过了.

       3、第三个是性格测试, 机考后的第二天, od的hr就给我申请了机考链接, 然后我当天就去做了性格测试. 听说很多大哥都挂在了这个性格测试上, 作为过来人吐槽一下, 这个性格测试真的难选, 很多答案都自己不太符合的但是硬要选一个最符合和最不符合. 这里建议大家还是按自己的心来, 不要前后矛盾, 这样过的几率大一些. 然后这个测试做完, 当天就能知道结果.

       4、第四个是技术一面, 性格测试过了, 马不停蹄的安排了技术面试, 然后因为面试官时间有点紧, 就把技术一面和二面安排在了一起, 给我了3天时间准备. 然后到了技术一面, 先是和我聊之前工作的项目问题, 然后考了一些Java基础, 当时有点紧张, 回答了70%差不多吧, 然后就是手撕代码, 给了我30分钟, 当时有点紧张, 我题目看了5分钟愣是没看明白... 后来面试官也和我分析了这道题, 是一个判断+删除的题目, 类似“aaabcbcbc”-->“”, 然后当时的时间我只做出来一半, 后面和面试官讲了一下思路, 就结束了...

       5、然后马不停蹄的开始第五个, 技术二面, 说实话一面的时候题目没写出来搞的我有点紧张, 技术二面上来就是做题, 好家伙, 是一个和二维数组有关的类型判断, 判断二维数组中是否存在某个值, 加上对这个值的一些操作等等, 然而我最后还是没做出来, 做了差不多90%, 然后面试官说时间差不多了, 让我给说一下思路, 然后我就把思路给他说了, 然后这时候面试官说了一句看我机考分数挺高的啊, 让我给他讲一下机考的解题思路把, 好家伙, 我感觉面试官怀疑我是不是自己写的. 然后我就把机考的一些解题过程和思路和他说了. 在之后就问了我一些Java相关的问题, 就结束了....

        面到这里, 其实我感觉自己已经挂了, 因为2个手撕代码我都没做出来, 然后Java基础我回答的也不是很好, 比如锁的原理、类加载过程、spring的自动装配等, 当时面完心态爆炸, 关了电脑去打游戏了, 准备第二天试试别的公司.

没想到第二天, od的hr找我, 说我面试过了, wtf? 我当时人有点懵, 这都可以啊! 然后hr和我说让我准备一下资料, 后面安排hr面试和技术主管面试, 和我说这俩基本就是走个流程, 几乎可以预定offer了!

        6、然后到了第六个hr面, 就是简单的聊聊工作经历, 聊聊为什么会来华为, 聊聊大学等等. 差不多30分钟结束, 就在我以为hr面轻松过去之后, 没十分钟, od的hr通知我hr面挂了... wtf?

        之后去询问原因, 被告知原来是因为之前的工作经历, 因为跳槽频繁, 被认定为不稳定所以拒了(之前在一家公司工作最长的也只有一年).

知道了原因后心情复杂, 只能说意料之外情理之中吧... 我可能是我打听了这么多人中, 第一个倒在hr面的, 朋友们都说没想到... od的hr也很尴尬, 她也以为稳过, 结果... 之后的主管面理所当然取消了.

        之后过了一天, od的hr和我说, 换了一个部门, 让我再试试. 后续时间等她通知. 不过我自己感觉可能会因为我的工作经历再次挂掉.

第零轮面试 ——  性格测评
这轮原本我是不想算是一轮的,因为我个人觉得最没有难度的一轮;但据一轮面试我的小哥说,还真有不少人在这一轮被刷掉了;所以建议大家不要掉以轻心;

        其实大家都能理解,程序员人群中,其实还真的是存在蛮多一些不爱讲话,不爱跟别人分享,更谈不上能切合上华为的那种“狼性思维”; 若您的性格确实比较内敛,或者觉得自己的思维上跟华为无法匹配的(在清楚自己是怎样的人的情况下),多去网上了解华为的做事方式,做题时,捂住自己的良心,选择那些你不想选的答案吧,如果你想进入下一轮面试的话。

第一轮面试 —— 基础面试
大概都是Java基础、数据库、Spring底层原理、分布式、多线程;(Java基础相关就没什么参考值了,纯粹看个人准备程度和面试官)。

        然后就是一些 项目中遇到的难题 和解决方案; 这一点据面试小哥透露,必问,大家可以提前准备;跟实际工作结合,准备好一些有质量一点的问题和解决方案(背背背~熟);

在这里呢,必须要说明一下,我以前公司也跟华为有过合作;从那时候接触华为的人,都是一群非常有耐心且非常nice的人;包括一面遇到的这位小哥,面试完我之后给了我很多面试经验,教我如何好好准备下面几轮面试,多刷算法等等;还非常有耐心地跟我解释华为OD在华为内部跟正式员工没有差别对待等等…非常感谢他!

第二、三轮 —— 技术面试+主管面试
两轮的技术面试,我比较惨,为了节省时间,两轮一起上,一共面了接近3个小时;基础问题、技术探讨、笔试算法题狂轰滥炸…希望大家能坚持住。由于是疫情原因,是通过zoom进行视频面试(算法题时需要共享电脑屏幕);好在两位主管也是超级nice的人,年纪大概40左右,面试过程非常随和,也会引导我说出具体的想法。抛开结果而言,能有机会跟两位年薪上百万的技术大牛花接近3小时的时间跟我“探讨”技术问题,受益也非浅啊。

技术主管面试后,技术主管会进行技术定级,将*结果交给人事;人事一轮就不多说了,因为她比较直接地根据上面的定级、咨询个人情况后给出定薪,基本称不上面试。