2023华为OD面试手撕代码真题

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

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

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

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

        总之,希望大家面试顺利咯。

序号 题目
1

求1-n的最小公倍数

2 判断是ipv4还是ipv6地址
3 旋转矩阵
4 字符串的排列
5 最长不重复子串

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

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

        2、第二个就是机考了, 根据我提供的信息, od的hr给我发了一个机考的链接, 并告诉我7天内有效, 之后差不多5天吧, 在牛客和力扣上刷了差不多20道题左右, 合计着时间差不多了, 就去机考, 整个考试的过程中需要打开摄像头, 然后也会锁手机, 考试时间150分钟, 一共是三道题. 说实在的我抽到的题目不难, 差不多力扣的简单*+ 中等*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小时的时间跟我“探讨”技术问题,受益也非浅啊。

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

猜你喜欢

转载自blog.csdn.net/misayaaaaa/article/details/130419388