前几天学院年级群里发了一个招聘华为实习生的通知,就随便投简历玩玩,其实是内推的,简历就被筛过了,发来了笔试通知。笔试一共三题 600 分,我做出了完整的第一题,第二题测试样例过了 30%,笔试也过了。又发了一个性格测试过来,发过来就做呗,然后也过了。
昨天接到电话,问我可不可以改意向城市,我填的是广州和东莞,问我接不接受深圳,有总比没有好,深圳也不是不行。然后就加了微信,约了今天晚上7点的面试。说起来,这还是我第一次视频面试,华为是让下载一个视频会议软件,然后在招聘网站上刷新,7点开始面试,跳转到视频会议软件。
先做一个自我介绍,然后问了笔试经历,问到学习成绩,问了笔试题目的思路。笔试第一题是这样描述的
给一个字符串序列 (((ab)(cd)e)f),按括号嵌套深度,逐层反转内部字符串,((badce)f) -> (ecdabf) -> fbadce
我是用2个栈来解的,其中一个栈存储括号内字符的开始位置(即左括号的位置),另一个栈存储字符串,扫描输入,每遇到一个右括号,就把位置栈出栈,并把符号栈栈顶到位置栈出栈的位置的字符串反转,最后符号栈里的就是输出。
问过笔试题,就开始让手写题目了
给n个形如
<id, score>
的键值序列,按id顺序给出每个id最高5个成绩的平均分,输入保证每个id至少有5个成绩,且0<id<1000
现在一看,很简单的一道题,力扣的简单水平吧,但是面试过程中,确实有点懵逼。我的思路是,每个id维护一个容量为5的小顶堆,堆顶是这5个成绩里的最小值,遍历 <id, score> 键值对,score 与此 id 的堆的堆顶比较,若比之小,则丢弃,比之大,则插入堆中,遍历完就求堆的平均值。但是我不会用堆,于是就用数组来表示堆,开一个 二维数组 scores[1000][5]
,表示每个 id 对应的5个最高成绩,并遍历 <id, score> 序列,更新 scores 数组。
面试的时候,用视频会议软件共享屏幕,面试官看着我写,我用自己的 IDE 写代码。我写的代码出了一点小bug,得不到正确的结果,人都吓傻了,还好面试官没有介意。
之后就纯属聊天了,随便聊了一点,都是问了不了解某个知识点,压根没有问原理。
你知道几种树。我还以为是树的存储方式,就回答二叉树和普通树,后来才反应过来是二叉树、二叉搜索树、B+树这些。问B+树怎么实现的,我不知道,只知道B+树是数据库的底层数据结构,又问数据库为什么选择B+树,这个我也不太了解,就分析了一下查找某条记录的时间复杂度是Θ(logn)
。
会不会用Linux。平时经常使用WSL,ls、cd、ps 这些命令熟悉得不能再熟悉。
了解大数据分析吗?完全不了解,对操作系统之类的知识比较感兴趣,就把话题引到了操作系统这里。
进程和线程的区别。高频考点了。
进程间的通信方式。Linux 里有信号量、共享内存、管道。
计算机网络协议栈。OSI 七层模型和现实中的四层模型。
有什么要问的。我问了面试官所在的组内有没有涉及操作系统等底层知识的岗位,面试官说他所在的组主要是做大数据的,一般用 Java 和 Python 作为主要开发语言,涉及底层的岗位并不多。
在结束之前,面试官说后续还有有业务主管聊聊我的述求,我感觉应该是稳了。
愉快地结束了面试,一分钟后收到短信,通过了一面。感觉这场面试有点水啊🤣,问的知识点也不深,而且也没有我想要的岗位。二面再了解一下吧,实在没有的话,也只能放弃了。我对去桂林小公司写纯C算法更感兴趣。
以下内容更新于2021.04.22
业务主管的二面已经凉了。
我投递的是 Cloud BU 这个部门,和业务主管聊了一会,因为意向不合,就结束了,并且转投到了其他部门。今天(2021.04.22)下午面试,聊了大概20分钟,主管挺友好的。但我确实能力不足,也没什么项目经验,很多东西都不会,被拒绝也再正常不过。其实我自己都不知道自己想做什么,每当被问到,就回答说想做底层的,做操作系统的,可是,自己真的有这个能力,或者经历吗?光看看源码就足够了吗?而且,有这种岗位的公司也不多,选择太少了,如果以后想回贵港发展的话,这些东西就没什么用了,还是得从头开始学新的知识。不得不问一句,自己到底是为什么想做这个呢?这样是不是把自己的路走窄了呢?
说一下面试的内容吧,其实算是聊天吧,我收获也挺多的。
首先是介绍自己,面试官并不想听千篇一律的自我介绍,主要是做了什么项目,参加过什么比赛。什么都没有,硬伤。
问我为什么对底层的东西感兴趣,我觉得操作系统这些底层知识可能没那么容易被淘汰。
然后聊到成绩,聊到保研和考研,以及我的选择,我为什么不考研。
我对 C 的哪方面比较精通,答案是都不精通,GG。
然后面试官就说起他所在的部门是干什么的,是做云应用的,大概是类似于对象存储这么一套东西。
然后让我提问,我问如果要进去,我该学些什么东西。面试官说了其实很多,罗列了一大堆,只要精通其中的一个,就能成为大神。
面试结束,5分钟后收到短信说面试完成,登录华为招聘网站,面试不通过。