华为OD机考两度过关,非科班应届生自学20天成功上岸!
个人背景:
211本,目标院校,24应届,没有实习,没有参加过工作,应用数学专业,学过C语言、Python等,但都忘干净了。简历上主要有两个项目,都是团队项目,代码也都不是我写的。翻出来用chatgpt梳理了一下。在网上也都搜得到别人做的。
- 时间线:
6.14在boss上加了光产品线这个部门的人,发了简历,让我刷一下题(还没毕业)
6.17给了身份证号
6.25拿到毕业证,中间催了我两次机考,我都感觉没有准备好,同时还在投其他公司,没有怎么刷题
7.19报名的OD课程,认真跟了课程,每天听完课,做一下作业题
8.9(第一次机考) 因为刷的是24D卷,要换24E卷了,我怕白刷题了,就赶紧考,考之前我刷了三天D卷真题,刷题过程中有一些我觉得好难做应该不会考的题,我都记在了一张纸上暂时没做,最后这张纸上考了两个。
考试:1、虚拟游戏 2、提取字符串中最长数学表达式 3、电脑病毒感染 三个hard题,看到的时候我都麻了,前两个是我记录在纸上觉得不会考的,最后一个根本没见过。最后第一个通过了93.3%,第二个22.5%(错在没有区分空白字符和空格字符),第三个我直接输出2通过了20%。原本应该是155低分飘过的,但是考试的时候我没打开录屏,我调了半小时也没打开,就点了跳过,但是不能跳过!!!这次机考成绩就作废了。【后面我发现我打不开录屏是因为点“共享”之前要点一下窗口那个图像】(最好不要周五考,不然要等下周一才能看成绩)
8.12这个部门的人帮我去看了成绩,说是录屏没打开要申请一下重测。
8.15部门的人和我说不能申请重测,只有断电断网的情况可以。这一天我问了许老师,许老师说可以帮我找到重考的部门,但是我的身份证号被锁定了,我去找部门的人释放我的身份证号,他说他帮我联系了猎手,也在帮我找重考的部门,所以我再等了几天。
8.20我问了猎手她还没有找到能重考的,于是我和部门的人讲了,他就释放了我的身份证号。但是这中间有个插曲,我告诉了许老师这边可以释放身份证号,但是释放之后我没有立即告诉许老师,所以我被“公共开发部”获取了,之后我就走的这个部门。【所以释放身份证号要立马联系许老师获取】
之后公共开发部有给我打过两次电话,问了一下我重考的原因。
**8.29(第二次机考)**公共开发部的HR加了我微信,当天就给我发了重考的链接。重考的卷子是24E卷,我完全没有做过,但是只能硬着头皮上了。下午我就考了。
考试:1、找单入口空闲区域 2、拔河比赛 3、士兵过河 第一题用BFS通过了80%,第二题就是身高体重排序通过了100%,第三题船上一次可以坐1或2个人,每个人过河时间不一样,过了河又可以回来,感觉要用dp,但我一点都没做出来。算了一下应该是180分。
9.2号通知我机考通过了,收集了材料:学籍验证报告、双证、六级成绩、身份证等。当天发了综测,我晚上做的,做了一个小时,不用开摄像头,我对照着老师的综文档做的,每一页两个题,每个题三条描述,在三条描述里选“最符合”和“最不符合”的。
9.3通知我综测通过了
9.5上午十点资格面。我背了文档里资面的题目。面我的是华为的部门的人,他迟到了12分钟。先让我自我介绍,我从项目经历和社会实践两个方面介绍的,不知道为啥我好紧张,紧张得声音都在抖,但其实完全不必要,面试官很温柔。他听完自我介绍说看我社会实践还挺多的(其实有几个是我编造的,只要能大概说出工作内容就行),问我有没有担任过班干部,我又编造了一个。然后问我是什么岗位,我说是算法,他说算法学历要求很高,一般都是博士,起码也要硕士,然后说我如果代码一般的话后面可以转测试,我都说好。然后他问我为啥没考研,问了一下家里有几个人,父母干什么的。面试非常简短,大约就十来分钟,我回答问题时还想发散一下多说一点,但好像完全不需要。最后反问的问题我就问了一下这个部门是干啥的。
资面通过后我原本想拖一下技术面的,因为我感觉我完全没准备好,项目我都说不十分清楚,手撕我也怕撕不出来。但是HR说流程有时间限制,然后她说先给我安排一轮自己部门的面试官感受一下难度。
由于怕OD通不过,这中间我也在找别的工作,9.9-9.14我找了个公司上班,所以刷题的时间很少,技术面也是安排在了晚上七点。
技术面准备:文档中的八股每个问题我都搜了一下,看了一下。
9.9晚技术一面:相当糟糕的体验,我先自我介绍只讲了两个项目经历,然后他开始问问题,问的全是相当实际的题目,问我什么和什么之间传输数据怎样保护数据,处理大量的数据时怎样保护数据,我一个都没答出来,而且题目我也听不懂,我感觉面试官也很为难,他努力想问一些我知道的题目。他们那边好像要做记录,所以边问他会边低着头写字,(所以其实可以一边搜一下,起码不会这么尴尬)。最后他给了我一个题目做,“有效的括号”,发在聊天框,只有一个测试用例,复制到自己的ide做,做的时候要共享桌面。我写完通过了他给的用例之后,他问我怎样知道一个程序是正确的,我说用更多的测试用例,我get到了应该是要改一下程序,于是直接改用例,再运行,改了两次之后就可以了。面了四十五分钟。
第二天通知我技术一面通过了,但是面试官评价比较一般。
9.10晚技术二面:相当舒适的体验。这一个面试官非常温柔,开始直接和我说有两个题目,让我选一个做,一个是生成字符串全排列,一个是最大岛屿面积。我选了全排列做了,做完让我讲了一下就可以了。然后让我在我的桌面共享了一下我的简历,他直接看着简历问。问了一些项目问题,都不难,不知道是不是他们要做记录,感觉技术面的面试官都会关注模型输入的是什么,输出的是什么。问到有的地方怎么实现的,我说用的函数,但我忘了,面试官也说没事。大约四十分钟面完了。面完半小时HR就告诉我通过了
两轮技术面最后反问我都忘记了要问问题,都说的我没有问题。
9.11主管面:约的是晚上七点面试,但是主管迟到了半个小时,他先介绍了他自己,说很抱歉迟到了,然后我自我介绍,讲了项目、社会实践、学生干部经历(编的),他着重问了一下学生干部经历,问我在部门招生上做过什么工作,我又编造了,然后稍微问了一点点项目(不超过技术面),问我除了Python还会什么语言,我说学过C语言;于是问我python和C语言有什么区别,我说python比较简短,他问我能不能举一点具体的例子,我说我C语言是大一学的,实在是不太记得了。然后他说工作语言主要是Java,问我怎么看,我说我可以学,他补充说语言都是相通的。最后问了我一下我找工作的情况,为什么秋招春招没找到工作,我解释了一下考研耽误了秋招,加上今年就业形势不太好,春招没找到,看到OD觉得不错所以报了个课程学习了一下。最后又跟我道歉他迟到了。
许老师注:以后如果遇到类似问题,可以不用谈报课/培训班的事情,可以直接说是自学的即可。
9.12好像是二面的面试官给我打电话,说主管面通过了,问了一下我的薪资,说了他们那边可以给到多少,这里他们给出的是年包,我当时在上班有点没反应过来,其实应该可以谈一下。年包是按(每月基础工资+绩效)*14薪算的。
9.18审批通过
9.19收到offer,需要提供一些材料,预约体检,要这些材料都审核通过了才能入职。
**总的来说,**技术上我没有什么技术,听课刷题的时间大约是20天,其他时候在一边找工作一边租房子。真题刷了一百多个,leetcode100做了六十多个,刷了大概两到三遍,刷题我没有刷链表和树,后面也没有考。
总体感受是只要机考通过了,后面的面试会比想象中容易一点,然后机考了的话hr会催促你参加后面的面试。每次面试的时候我都会把简历放在电脑前看着讲,会顺畅一点。两轮技术面都没有问到文档里的八股,感觉很看面试官的风格,有的严格一点有的随意一点。