华为OD入职经历
今儿个赶上入职一天后的清明节假期,准备花一些时间总结和介绍一下我从考研二战失利到入职华为OD报道一天后的全过程,并表达一些我个人的主观感受。
PS:刚入职一天,过了信息安全教育,所以本篇并不会涉及公司内部的情况及资料
再战不能与偶然
这一次的考研,栽在了数学。这让我想起了多年前,高一期末考数学的那个下午,盯着每个大题只能做一半的试卷,怅然若失。
回到家,倒也不失落,只是觉得很累,不想做任何和考试相关的东西,打打游戏,偶尔同好友出门闲逛,等着分数,也等着春招。
说再战不能,主要是感觉自己在家待太久了,没有收入,吃家里的、用家里的,虽然父母向来支持我的选择,但另一方面我对此产生了很多的压力。家父家母工作很辛苦,如果我再战一年,我心里会很难受。
1月底,各大学陆续开学,春招逐渐进入周期,分数还没出。偶然在群里谈及在哪找工作,想起之前使用过某求职软件,于是做了个推荐,自己也装下来看看软件现在长个啥样。和之前使用时比,这次不一样在于,进入软件的时候打开了「允许电话联系」的功能。半小时后,一个个电话接踵而至,前两个还以为是骚扰,之后尝试接了一个,问我,是不是在找工作。
听介绍说,是华为OD,一听是华为,这大厂我一非科班无工作经验本科生怕是不得行。但是对方希望我能多了解一下,我当时也确实无事可做,于是交流转到了微信。
之后做了很多交流,自己也下来也找了很多资料,看了许多评论,想搞清楚华为OD究竟是什么,也想知道对方为什么会给我打电话。
其实网络上来的反馈关键词大多是「外包」,直面的解释「OD就是外包」,而外包在我了解到的互联网行业中,并不是一个喜闻乐见的词,感觉受到了很多歧视。但对于一个非科班无工作经验又想着怎么才能上川藏线投入建设的人来说,似乎并没有什么歧视的必要或者资格。
了解的差不多了,并且能力内排除诈骗可能后,就想着试试,毕竟还是想等等成绩,而且春招也会持续一段时间,这段窗口期,想要再努力一下
笔试
笔试就是机考算法,一共三道题,前两题各100分,第三题200分,每题的分数计算取决于用例通过比例。笔试合格的分数线是150分。
我首先遇到的问题是编程语言的选择。其实我接触过并学过一段时间的编程语言还是挺多的,JavaScript、C/C++、Python、Golang、Rust。当时有些茫然,或者说,有些觉得无所谓,我不清楚要考察我的编程语言水平到哪种深度,自己对自己各语言的掌握水平自己也没底。HR推荐了C,所以就选择了C。
简要地了解了一下笔试题的难度(做了两道题),然后回头开始疯狂补习C语言,这里推荐一个网站:Linux C编程一站式学习 (akaedu.github.io)。
我开始重新审视C语言,我从最基础的地方学起。基础学习是乏味的,但语言的学习对我来说却是暗藏乐趣的,尤其是接触过的语言多了之后,我会很乐意去寻找不同语言之间的相似或不同,不仅是编程语言,自然语言也一样。我开始了解C语言的发展史,从最开始的ANSI C到C89、C99,再到新一点的C11,开始研究版本迭代增加的内容。开始去站在C语言的角度审视底层的知识,去学习一些汇编,了解汇编是怎么解释C语言的语句。又了解到结构体的泛用之处,数日地考究指针、数组指针、指针数组、函数指针、指针函数,他们指向哪里、代表什么、占了多大内存,为什么程序员使用指针作为函数的参数。我开始学习使用C语言实现基本的数据结构,去了解基本算法的智慧之处,当然,也在DFS、动态规划等算法上吃了不少苦。
学习大概持续了一周多一点,对C语言的掌握度就已经大幅超过干学完考试那会儿,接下来就是持续的刷题。刷题刚开始的时候是痛苦的,特别是,题库和笔试都在牛客上(注:笔试题并不取自题库),牛客不像leetcode只用写函数,牛客需要自己写输入读取部分,在这个问题上踩了不少坑。
整个过程持续了1个月,HR人挺不错的,每周都回来问问情况,跟进一下进度,在2月底3月初申请了笔试,笔试题目就不做赘述,难度就是牛客中等、较难的难度,值得注意的点在于有的题目很长很绕,搞清楚题目说的什么很费劲。
总之,结果是好的,通过了
面试前的准备
笔试结束等分的同时,开始准备简历以及做一个 SHL。SHL不多说,积极乐观团队友好是想看到的。而简历的修改受到了HR的巨大帮助,纠正了许多错误。
想了想,还是想说说在改简历时候产生的一些哀愁。我还是挺自信的,在简历中放上了很多本科期间的成就:修了180个学分的庞大课程体系、参加竞赛获得的奖项,甚至是一些不多,但曾给我带来过程成就感的一些土木技能。这些东西,都不适合我将要参加的面试。当我把他们悉数从简历中删去的时候我开始思考,思考这四年的努力的结果居然对我现在的求职居然一点用处也没有,怅然若失。
再有的准备就是围绕简历去复习项目中的知识点、技术点,这个时候我又去复习了C语言一些偏向应用的知识,去学习了基本的标准库、学习了一些调试的技巧、学习编译链接过程、静态库、动态库、Makefile,以及多线程编程、socket编程。
差不多3月中旬,申请了面试。
面试
流程是挺复杂的,一共有4轮面试,资格面、技术一面、技术二面、主管面,但是安排地挺紧凑,头一天晚上的资格面,第二天中午技术一面,下午技术二面,晚上跟着安排了主管面。
简要的讲一下,资格面会问一些个人的信息以及背景,技术一面和技术二面内容差不多,会围绕简历问一些八股文、项目中的技术点,主管面就是一个考究你是否有一个良好的心态、能够胜任工作、能够融入团队以及,定薪。这里不能过多描述面试内的细节。
入职
主管面结束的第二天收到了通过的消息,offer下来的很快,四五天的样子,offer通知一周后报道。
这一周非常忙、非常累。先是去市里的医院做了入职体检,结果电子版报告不合规,不得不再去一趟市里拿纸质版的报告,然后填资料的时候发现需要使用招商银行的卡做工资卡,而理我最近的招商银行又在省会,所以又辗转前往省会,中途又去解决工作住房的问题。总之花了不少的车费,而且非常累。
不过也得亏几日的辗转,按时入职了。
踏入了华为的大门,希望,能选择是正确的吧。