华为OD-24届考研空档-Python面经

背景信息

本科毕业合肥工业大学能源化学工程专业,24届毕业生,两次跨考计算机22408,均失败,今年国科大复试被刷之后,就开始专心准备od机试和面试。

机考前刷题准备

我是4月初开始刷算法题,5月11号上机考试。如果之前没怎么刷过算法题,我十分建议先刷leetcode热门100题,因为这里面题目都是按类型分类,比如栈、图、二叉树、回溯、dp等,可以系统性的弥补知识短板,并且里面有很多大佬分享题解。

对于刷题的策略,我个人的建议是:

1、刷题一定要先自己分析题目不要直接看答案,尝试自己把题目做出来,哪怕你的复杂度很高,性能很差,代码很冗杂,这个过程是锻炼你把自己的思考变成代码的能力。

2、对一个题目除了要关注他的暴力解法,还要关注它的最优解法,不要用一个很暴力的方法解决了以后,就不管这题了,仍然要去看看题解,看看大佬是怎么做的,学习他们的方法。不要怕在这上面浪费时间,你学的后面都会让你受益的。他们会有很多巧思,这些巧思可能以后会发现很多题都能用。

按我如上刷完leetcode题库h100后,你的代码能力已经得到很大的提升了,但是仍然要去刷od题库,毕竟考试题都是题库里抽。但你刷完题库也不现实,考试题库都会有对应的,你跟HR问清楚后刷对应的题库就行。另外要说的是,题库的题目如果你去CSDN上是要花钱买题库的,一般作者也会给你准备在线刷题环境。不买题库你只能看到题目,而不会有答案。如果你不想费事,可以考虑去买题库,但我不会给你具体买谁的专栏,我不是卖题的。

但我是没有花一分钱买任何题库,我可以给你一条性价比并且非常能锻炼你代码能力的路。你可以先打开CSDN题库,因为你只能看到题目,可以把题目复制下来浏览器搜索,大部分题其实是有人分享自己的答案的,但答案都是他们自己写的,性能可能并不会很好,而且用的编程语言不一定是你考试的,但至少可以给你提供一个解题思路。你搜完题目后不要看答案,只看题目,先独立解决题目,然后在你的本地IDE编写代码解题,先通过用例,然后在尝试其他用例判断代码稳定性如何。当然你也可以把你写的代码让deepseek或者GPT看看有没有什么问题(AI有时也会有错误,不要全信,只作为参考)

od的题目应用型很强,比起怎么做出od题库的算法题,你最先要搞定的是能不能读懂题目和正确理解题目的意思。

现在od机考要求很严,建议机考前把电脑可能弹窗的应用通知权限全关掉,手机进应用权限管理把APP通知权限权关掉,电话短信暂时设置为不接受任何来电和对短信。如果题不难,你在网站不用调试就能把题做出来,就直接在网站做,不用切到IDE了,我全程没有切屏,如果要切屏到IDE,用快捷键去切不漏桌面。

机考(5月12日)

a.分披萨(15/100)

这题不怎么会,不知道怎么解,但是还是用我的思路去试了试,通过了15%的用例(所以有时候100分的题目反而比200分的难)。

b.第二题(100/100)

是扩散,初始给一个m*n的全0矩阵,然后给两个坐标点设置为1,(第二个坐标点可能不是有效坐标),1每单位时间内向四周扩散1个单位把0变成1,问最短多久可以把所有0变成1,和疫情扩散一样的解法,很简单。

c.第三题(200/200)

是根据词库分割字符串,给定第一个需要分割的字符串,字符串中有标点符号,仅用于分割句子,无意义。给第二个字符串词库,以','分割,每个单位都是词库中的单词。分割时优先选择词库中最长的单词,比如iloveyou,词库中有i,love,ilove,you,则需要分割成ilove,you而不是分割成i,love,you,这个用滑动窗口做比较简单。

最终315/400,还算可以。

性格测试(5月13日)

HR会给你辅导性格测试的题目怎么答,知乎上也有性格测试的攻略。要认真准备一下,虽然简单,但是这个挂了要等一年半才能再来。

HR面(5月14日)

自我介绍,学了哪些知识,意向哪里工作,期望薪资,考研经历,为什么没上岸,为什么选择od,有没有工作经历,是否还在找其他工作。如实回答就好,如果问你还考不考研,回答不会再考就行了。

技术一面(5月20日)

1、上来先问工作经验和项目情况:我说前段时间准备考研,还没有工作经验,项目有两个,一个是本科化工竞赛的,一个是准备考研复试做的深度学习项目。

2、介绍一下深度学习项目:是一个基于resnet的图像分类项目,介绍了项目目的,项目原理,项目用了哪些优化方法,达到了什么结果,性能怎么样。

3、手撕代码:跳跃游戏 之后就是八股问答环节了分为两方面、一方面是408,另一方面是Python基础知识。

408:

1、数据结构算法篇:

①介绍堆排序

②排序算法的稳定性与不稳定性

③链表和数组哪个访问效率更高

④介绍完全二叉树

2、操作系统篇

①介绍多线程

②多线程竞争怎么保证一致性和正确性

③死锁

④内核态与用户态

⑤进程有哪些状态

3、计算机网络篇

①ARP

②TCP与UDP区别

③上面两个哪个效率更高

④子网掩码

⑤A、B、C、D、E类ipv4地址的范围

 Python:

1、类方法和实例方法区别

2、类方法和实例方法具体应用(举例)

3、__new__和__init__区别

4、深浅拷贝

5、哪些数据类型可变哪些不可变

6、可变与不可变类型区别

7、Python多线程

8、Python是否是脚本语言

9、Python是面向对象编程还是面向过程编程

10、为什么是面向对象

11、函数传入列表用什么参数*

12、传入字典用什么参数** 

目前只记得这么多可能有几个忘了,将近30个问题有两个没答上来,忘记怎么表述了面试官会根据你简历写的内容问问题,所以你简历上的东西写的多少要了解些,不能很陌生。

定级D1,可能面试官觉得我学的都还比较基础,算法题太简单,导致我没什么发挥的空间。

技术二面(5月29日)

就问了问C语言编程内存管理的问题和遇到的一些坑。问了下数组和链表区别。问了用过哪些库做过哪些项目,然后介绍一下怎么做的项目,我讲解了一下resnet的深度学习项目。问我做了哪些工作,有没有遇到什么难题,我说遇到过,比如,训练稳定性以及泛化能力不强,于是采用一些方法优化性能。问我为什么要做这些优化工作,我说我只学了CNN,复试面试的老师可能会觉得我知识面不够广,于是想多做一点工作,以此弥补知识面不够广的问题。

算法题是leetcodeh100,三数之和。

这次算法题有地方发挥了,我用的算法和面试官所知道的算法不一样,并且做了很多性能上的优化,时间复杂度低很多,面试官对我评价比较好,因此定级D2,也导致需要加面一轮。

技术三面(6月15日)

等的有点久,但最终约到了面试官。

手撕代码:算法题是od题库里的一道题,和我之前刷过猴子摘蟠桃这道题目解法一样的,印象还比较深,考的是最大展厅人数限制。用二分法+贪心策略20min不到解决了。

八股问答:问的东西不难,问过数据库,但我说了解的不多,他就不多问。然后Python的数据类型,深浅拷贝。问了一下自己计算机知识的短板是什么,和以后未来想提升的方向。我把我的情况说全,考研,学过哪些知识,经历,然后面试官根据我的信息挑几个问问,但是问的不多。

薪资定级

技术三面过后,等到两天之后的周一,前面三位面试官开会讨论我最终的定级。

下午四点,HR告诉我待会主管会打电话过来,谈薪资的事情。

主管打电话确实只谈了薪资,刚开始就告诉我可以给我的薪资,有点低于我的预期,根据主管描述我应该是定D1级,主管问了问我的预期薪资,表示假如定级高一级的话确实能定到我的预期薪资,但是最终三位面试官合议后的定级还是定D1,此外主管表示会帮我争取一下,但幅度不会很大。

下午五点,主管再次来电话告诉我最终争取的结果,多加了1k。我表示已经可以接受了,毕竟我是非科班+零经验,可能面试表现的并不是那么好,但有这个工作已经比化工强不少了。

主管面(6月16日)

晚上7点40的面试。先自我介绍。

自己相对于应届生和有一年工作能力的人有什么优势。

自己最近一年干了什么。

压力和困难最大的时候是什么时候,怎么解决的。

本科期间有没有和同学或者师兄师姐做过什么课题项目。

为什么从化工行业跳到计算机行业,你在工作选择上是怎么博弈的。

可能还有,但想不起来了。

反问是,华为的培养体系。

我这里有两个回答写出来了,给大家一个参考。

1、问:自己相对于应届生和有一年工作经验的人有什么优势。

答:首先这两年我是一直有在学习新东西,相比于应届生,他们大四课程任务少,在学新东西上可能有所懈怠,我能更快适应去学新东西,熟悉公司业务流程,对于已经有一年工作经验的人,我谈不上多大的优势,但是我的学习能力是比较强的,潜力高,从我的考研经历,以及机考成绩到面试官的评价可以证实这一点。

2、问:为什么从化工行业跳到计算机行业,是化工行业就业不好吗,你在工作选择上是怎么博弈的。

答:首先化工行业就业率是比计算机好很多的,化工行业的薪资相比于计算机确实会低些,但并没有让我难以接受,但让我选择离开化工行业最大的一个因素是要倒班。其次,在我看来化工企业它的职级晋升是比较固化死板的,并且工作对我能力的锻炼和提升是比较小的,我难以通过工作提高自身能力,获得更高的发展空间。我的性格还是比较喜欢自由一点的工作,能够在工作中锻炼自己能力,以此谋求更好的发展机会,我更倾向于这样的工作。然后我自己其实从高中毕业就开始接触计算机的东西,刚开始是Python,大二学C语言,后来考研学计算机的核心课程,之后为了准备考研复试又学深度学习知识,可能我的一些同学并不理解我为什么要去学这些,但这是我一直以来的兴趣所在。

主管听完回复说:所以你就是希望找个能发挥你擅长的和感兴趣的东西的工作是吧,我说对的。

最终不出意外,主管面通过了。

结语

跳槽计算机是不容易的,尤其是现在的形势,无论我走哪条路都很艰难。我第一次考研考24科软,360分,懂得都懂,第二次考国科大25杭高院智能学院AI方向,357,复试被刷,懂得都懂,两次全抄顶了。我想正常人遇到这种事应该知道压力有多大吧。还好我心理承受能力强,我觉得还是有退路的,也感谢华为od给机会。我没有想太多就全心投入在华为od的刷题和面试准备中。

总之未来路还长,华为od是我的第一份工作,在这里我最希望获得的是能力的锻炼,工资并不是最重要的,其实这工资已经很不错了(对于我以及我原本所在的化工行业里)

致谢

最后要感谢香云姐姐,第一次找工作就能遇到这么善良负责的HR,这大概是我这么多不幸的经历里最幸运的事吧。对于我的很多疑惑她都是乐于解答,无论是机考,还是每一次面试,都会提前告知我注意事项,面试前都会提前提醒我参加面试。从机考到后面的五轮面试都顺利的进行,离不开她的帮助。

#Python面试分享##华为OD求捞##华为OD社招##华为ODoffer##华为OD算法#
全部评论
现在华为od机试都是双机位了吗
点赞 回复 分享
发布于 06-24 19:44 贵州
先谈工资之后再进行主管面试吗
点赞 回复 分享
发布于 06-24 17:52 安徽

相关推荐

小红书那边发了一遍,这边同时转一份,感谢牛客的牛油们的面经给到我的帮助。主要写一下从机考到最后技术面的流程和自己面试被问到的一些问题。6.18 机考 目标院校167低分通过最优投资方式 0AI处理器组合 55最佳的出牌方法 566.19 性格测试 通过这个很简单,跟着hr发的资料去做就行,网上也能找到一模一样的题库和答案。6.24 资格面试 通过简单聊聊就行,想挂很难。6.30 开发技术一面 挂上来深扒我项目,给他讲完算法流程,又开始问我细节和公式,后看我学了计组和数据结构,开始穿插问我408和python八股,最后手撕一道mid。手撕做出来了结果还是给我挂了,等了两天才上传结果,耽误时间,真是难绷。7.4 转测试换部门资格面试 通过同上次资格面,基本没有技术内容。7.12 测试技术一面 通过测试一面是我投递部门的主管来面试我,之前资格面后还通过一次电话,总体感觉还算轻松,就是手撕题目的时候回溯有点忘了导致做了三十多分钟才写完。上来先自我介绍一下,然后聊天框里给了我一道题,力扣上没找到,模版类似分割回文串,输入ababccc,返回5,分割方式为a,b,ab,c,cc,不能有重复的子串,写完后讲了一下思路,问我主要卡在哪边了。接下来问我了解了哪些关于测试的知识,大致讲了一下,然后问了问我的项目,可能之前资格面就拿到过我的简历了,后面更新的简历没有看到,介绍了下本科毕设项目(算法方面,和测试无关),然后我自己提到课设做过一些自动化测试和性能测试,简单聊了一下,让我举个例子说说测试方法,我就举了登陆窗口密码,等价类划分和边界值分析说了一下。后面可能因为是部门主管,还问了我一些场景题,团队协作方面的,没准备到导致可能回答的比较差,问了问我的薪资要求,秋招春招为什么没找到工作,为什么选择华为od,实话实说。反问问了下进去后有多久的缓冲期,以及部门要求的可信考试要达到的等级。最后就是说之后会录入面评,让我保持电话畅通等消息。7.14 测试技术二面 通过面了20分钟不到就结束了,八股问的很简单项目也问的很浅,手撕10分钟不到撕出来了,最后讲了下代码问我有没有问题就结束了。手撕题目大致是pattern=abba,s=dog cat cat dog,这种输出true,pattern里的每个字母对应s里的一个词,如果规律不一样就输出false,字典就可以解决,很简单。最后写点我的感受吧,机考的时候遇到三道没见过的题目,怎么输出还忘了,一直在调第一题的输出没调好,最后一题只剩半小时,写完提交分数刚好够,一看时间还剩一分钟,手都在抖,考完机考那天晚上一夜没睡,担心自己会不会没提交上,重复率会不会出问题,等到第二天hr告诉我结果才好好睡了一觉。后面开发技术一面挂的时候真的感觉天塌了,特别是等了两天才出结果还没过,心态直接崩了,还好hr一直告诉我没事的,测试很好过,慢慢心态才调节回来,专心准备测试的技术面,最后也是很顺利的通过了。回想起来真是太坎坷了,感觉每次都是背水一战,差一点就过不了的那种。最后结果也算不错吧,在大学里没怎么认真学习过,考研也没什么自控力最后差了好多分没进复试,能有这份工作算是最后的慰藉吧。
华为开奖710人在聊
点赞 评论 收藏
分享
评论
5
21
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务