大三学生如何跨专业拿到阿里和网易等大厂offer?看完你就知道了

一个多月来大大小小也面试过几家公司,从一开始的接到面试电话就惶恐不安,说话都不利索,到后来的还算能和面试官侃侃而谈,能够就面试中的一些开放性问题提出自己的解法。窃以为自己在不断的面试中还是有进步的,不论是技术上的还是自我表达和与人沟通上的。

回想起自已过去的一个月面过的公司其实应该是挺多的了,大大小小应该参加过十几场面试,电话面试也有,视频面试也有,这里总结一点:自我表达很重要!因为有的时候很多知识点并不是自己不知道,而是自己表达不好,比如项目中的一些细节,一些算法思路的口述,一些基础知识的描述,这些东西都是需要一个很好的语言组织能力去表达给面试官的,如果表达不清,面试官可能会觉得你基础知识不扎实,或者觉得你很难沟通,所以通过不断地面试,

总结每场面试,回忆在面试中知识点欠缺的地方或者是表述不到位的地方,有针对性地去补充欠缺的知识点,思考下次面试的时候应该怎样去更好地表述,这一点是很重要的。所以面过几次之后,吃过了表达上的亏,后面我开始对收到的每一个面试电话录音,面试完后再反复听自己的录音,从一个旁观者的角度去看待整场面试,对每一个面试官提到的问题,思考他为什么会这么问,他想知道什么,我应该怎样去更好地表述自己的观点。这样不断地纠正自己的表达,之后的几场面试,不管是头条的还是腾讯的,都变得游刃有余了,至少没有犯表达上的错误。下面我也总结一下面试过程中面试官常问的一些问题:
大三学生如何跨专业拿到阿里和网易等大厂offer?看完你就知道了

阿里

一面:阿里一面是处女面(偷笑),接到阿里一面电话的时候真的很方,我是年后投的简历,没想到还没投一个星期就收到了一面电话,我还想先面几家小公司攒攒面试经验然后再去打阿里这个大boss呢,然而阿里完全不给我机会。当时投简历的时候看见牛客网上有内推不管三七二十一就投了,而且投的还是JAVA岗,我一个只会C++的连JAVA语法都没看过的人去投了阿里的JAVA岗(哈哈哈现在想想那个时候简历投得真是草率)。接到面试电话的时候我在爬山,当时以为不会这么早收到面试电话,就和表弟去三清山玩了,晚上刚回到酒店就收到了面试电话,一看是浙江杭州打过来的就知道大事不妙,然后心里开始方,几乎是颤抖的手拿起电话接通(其实当时内心是拒绝接这个面试电话的,因为真的没有一点点防备,但是没有办法只能硬上了)。

对方的第一个问题是:我看你简历上写的都是C++的项目啊,JAVA你会吗?

我:不会。

面试官:要不这样,我给你一晚上的时间看JAVA,明天上午我再打电话过来面你JAVA?

我:不行,其实你可以问我C++和Linux的一些东西啊,这些东西我还是比较熟悉的。(其实我的内心独白是:这是什么操作,一晚上学JAVA,怎么可能嘛,再说我现在还在外面,周围连台电脑都没有,三清山上也没有网吧啊,怎么学,当时只想把话题绕开)

面试官:但是我们公司目前招的是JAVA的啊,嗯,C++,让我想想啊。。。

(面试官开始陷入沉思,我感觉一面还没开始就要挂了orz,都是当时投简历的时候脑子进的水)

面试官:堆排序你了解吗,说说堆排序的过程吧。

我:balabala。。。

面试官:B树和B+树了解吗?

我:balabala。。。

面试官:现在假设有很多的数据,怎样用B树或B+树来提高查询的效率?

(其实一开始听到这个题目我是很懵逼的,这是个什么题,条件这么模糊,自己平常琢磨出来的题吗,喵喵喵。但是没办法,只能硬答了)

我:用B+树建索引,balabala。。。有的没的说了一大堆。

面试官:假设现在内存太小,但是数据量太大,内存装不下索引怎么办?

(我现在更懵逼了,完全不知道该怎么办,但还是硬着头皮答了)

然后我们就内存装不下索引这个问题深入地探讨了20多分钟,好吧其实全程感觉我都在说一些有的没的,也不知道答没答到点子上,我后来才知道这一类海量数据的问题其实都有一类通用的解法:https://github.com/linw7/Skill-Tree。然而我当时并不知道,然后面试官看我可能实在也答不出来什么了,这个问题就先放过我了。

面试官:我看你项目上有用TF-IDF算法,这个算法解释一下?

我:balabala。。。(我对我用到的算法还是很了解的)

面试官:你还用到了simhash算法,解释一下?

我:balabala。。。(项目中的算法问题从来不怵)

面试官:Linux中都有哪些锁,你举例说一下?

我:balabala。。。(Linux系统编程还是不虚的)

当时还问了一些别的记不太清了,比如问了一些当时为什么做这个项目,项目中遇到的问题是怎么解决的,还问了多线程并发编程注意事项等等。

面试官:好了,今天的面试就到这里了,你还有什么想问我的吗?

我:请问您平常做的工作是什么呢?

面试官:我主要是负责蚂蚁金服金融业务这一块,balabala。。。

(好吧,我现在才知道自己面的是阿里的蚂蚁金服,因为官网上完全看不出来自己的简历被推给哪个部门了)

一面就这样结束了,大概40分钟,面试官让我之后多学学JAVA,说后面可能会有人面你JAVA。(我:喵喵喵,还有下一面?)。之后的几天我就一直在看JAVA,好歹是把语法掌握了。

二面:二面是在下午,收到二面电话已经是一个多星期之后了,我还以为不会有二面了呢。

二面面试官第一个问题:我看一面面试官给你评价有不会JAVA,自己有没有下去学?

我:有啊,之前几天一直在学JAVA语法,但是一个礼拜过去了还没收到面试电话,我还以为一面挂了呢,所以这几天也没怎么接着看JAVA。。。

面试官:好,那我就不问你JAVA了。(我:喵喵喵,不问了,刚学完语法现在又不问了?)。

之后问了一些计算机网络方面的,比如TCP三次握手四次挥手,TIMEWAIT状态,什么是子网掩码等。问了一些操作系统方面的比如你对操作系统的理解,库函数和系统调用的区别等。问了一下大学ACM经历(因为我简历上有写),问了一下自学计算机的历程,问了一下项目中的TF-IDF算法。最后是共享屏幕,远程编程,他让我下载一个钉钉,然后通过钉钉把题发给我,共享我的屏幕。这道编程题我写了快50分钟,(后来想想其实题目不难,主要是当时太紧张,之前也没有共享屏幕编程的经历,拿到题目的时候就很方,后来想想题是真的不难)写完后用他发来的数据测试了一下,测试用例都过了,然后把代码发给他,结束了二面。二面问问题的时间再加上敲代码的时间大概有一个半小时。二面结束的那天晚上,我躺在床上的时候忽然想到了那个题目的最优解,然而又有什么用呢当时没想出来orz,但是那会儿我并没有想过20几天之后头条一面我会再度遇到这个题目,并靠这个最优解顺利通过了一面哈哈哈哈哈(可见总结每一个面试题并将它解决掉对后面的面试有多么重要,因为你永远也不会知道下一次面试官会不会再次问到同一个问题,所以碰到问题当时不会不要紧,下去之后立马解决,就算以后不会遇到,权当拓展知识面)

二面过后10天,我得知自己挂了,自己也有反思,其实二面的时候基础知识和项目经验这一块我觉得答得都还可以,就是那道编程题50分钟才写出来真的是太伤了,阿里二面挂了之后我开始在准备面试之余去网上刷题,只是希望以后碰到这种题目脑子转得快一点。

大三学生如何跨专业拿到阿里和网易等大厂offer?看完你就知道了
网易

笔试:嗯,没错,之前就听说过网易笔试很难,而且网易比较看重学校,像我这种辣鸡211网易爸爸基本上是不考虑的。然而头铁的我还是去参加了网易的笔试。三道编程题,当时只AC了两道,最后一道直接放弃,因为我知道自己写不出来,也知道可能没几个人能写出来,因为真的是很难,有兴趣的可以去牛客网上看看今年春招网易游戏第一批笔试的最后一题,当时看到这道题,初步思路是BFS,但是知道自己写不出来,于是直接放弃。

一面:得知自己笔试过了,被安排了面试,当时我的反应是:三道题AC两道竟然就过了,果然是最后一道比较难,没几个人能做出来,这样的题反而没有什么区分度。一面问得很杂,C++,项目,操作系统都有涉及,还记得几个问题,比如C++的多态实现机制,内存对齐,const关键字用法,C++中的new和C中的malloc有什么区别,进程和线程的区别,怎样避免死锁的发生,也聊了聊项目,然后抛出一个经典编程题:一个数组,其中只有一个数字出现一次,其他数字出现两次,问如何用最快的方法找到只出现一次的那个数字。答曰:异或。他看我一下就答出来了,肯定是之前看过,又换了一个题:一个数组,其中只有一个数组出现一次,其他数字出现3次,问如何用最快的方法找到只出现一次的那个数字。(我:喵喵喵,之前看过,但是忘了)。然后墨迹了半天,最后在他的提示下给出解法,结束了一面。他说HR会在一周之内通知我面试结果,然而现在都一周多了还没消息,网易怕是挂了,其实本来对网易也没抱太大希望,只是攒波面试经验而已,通过听网易面试的录音,我发现自己在表达上面还是有些欠缺,回答一些问题的时候结结巴巴,底气不足,即使是回答自己知道的问题也显得没有自信,很容易给人一种技术不行的感觉,现在想来这也许就是网易一面挂了的原因。

原来网易并没有挂掉,今天中午收到了offer,而且一面就发offer了,算是比较开心了。

经过这次面试,我从朋友和网站特殊渠道找到了一些最新真实面试题,并且附带完整答案。
领取步骤:点击这里!!暗号****

主要有:阿里巴巴、腾讯、乐信、中国平安、丰巢科技、oppo等大厂真题,以及JVM、SPringBoot、SpringCloud、数据库、Linux、缓存、消息中间件、源码等相关面试题。
大三学生如何跨专业拿到阿里和网易等大厂offer?看完你就知道了

大三学生如何跨专业拿到阿里和网易等大厂offer?看完你就知道了

领取步骤:点击这里!!暗号****