美文网首页
阿里天猫春招内推一面凉凉

阿里天猫春招内推一面凉凉

作者: 北方有佳人_17dd | 来源:发表于2018-05-09 20:22 被阅读0次

    背景

    lz先简单的介绍一下自己:非 211,985 学校,一个小二本软件工程专业的大三学生。

    lz原本大三下学期的打算是直接参加 9 月份阿里的秋招来着,所以所做的找工作的计划都是按照 9 月份那个时间点来制定的,lz 便从寒假的时候就在那优哉游哉的做项目,一个小时能完成的活愣是拖了一天也没做完,好不快活,那叫一个悠闲。但是,3 月 1 号,看了一下阿里校招官网,发现阿里实习生招聘竟然悄无声息的开始了,lz 淡定的心一下就不淡定了,你们都知道的,就那种心理:自己虽然是打算直接参加 9 月份的秋招,但是看到别人都已经在面试了,担心秋招的坑都被实习填满了,于是乎楼主也开始了准备,准备试一下 5 月份的实习生招聘。

    有时候真的觉得自己挺幸运的。4 月 24 号看到自己的简历进入了简历评估流程,然而几天之后 4 月 28 后,看到自己的简历状态变为面试中...自己当时也是很意外,很惊喜。本以为无缘内推,即将被拒之门外,结果门卫又开了个小门。其实自己当时内心也是很纠结的,因为自己前期很多的时间在准备笔试的相关题目,面试内容准备的比较少,对于这次面试本不报太大的希望,但是又不甘心放弃这次机会,所以就还是在准备。

    面试过程

    人生中的第一次面试,由于个人准备不充分加上面试经验不足,一面三天后被拒。下面是面试经过:

    • 5 月 2 号晚上7点多的时候阿里那边打来电话(当时还在图书馆),既激动又紧张,但是随后得知是来预约面试时间,心情就平静了一些,约的 5 月 4 号(周五)的下午 3 点进行电话面试。

    • 5 月 4 号下午 3 点 8 分打来电话就开始了面试。

    面:先自我介绍一下吧。
    我:您好,我叫xxx,是xx大学软件工程专业的一名本科生,在校期间...说了我做的两个项目,以及有github,CSDN。
    面试:嗯,说一下你对阿里有哪些了解吧。
    我:我知道阿里有天猫,支付宝,阿里云,阿里妈妈,全球速卖通,淘宝等一些部门。
    面:知道Java8 有什么新特性吗?
    我:知道,Lambda表达式,简化了通过接口来写匿名内部类的方式,还有Optional用来处理空指针更加简洁。
    面:嗯。了解大数据相关的一些知识,了解hadoop吗?
    我:知道hadoop是一个海量数据存储和计算的平台。
    面:嗯。了解搜索引擎的相关知识吗?
    我:这个不了解。
    面:你知道有哪些设计模式吗?
    我:详细的说了SpringMVC的适配器模式,提了一下Spring的工厂模式,当时比较紧张,其他的像MyBatis的构建者模式,Struts2的代理模式没想的起来。
    面:嗯,那你参加过什么比赛吗?
    我:参加过两次蓝桥杯,得了两次省赛的二等奖。
    面:这个比赛是什么类型的?
    我:就是给个场景,然后用算法来解决里面的问题。
    面:能再具体点吗?
    我:...(楼主表达能力不行,陷入了10多秒的沉默),我实在说不清楚了。
    面:没事,你刚才说了那两个项目,你最熟悉哪个,介绍一下吧。
    我:xxx(是一个推荐系统)我比较熟悉,balabala开始说。
    面:项目的并发量是多少?
    我:一二百吧。(这个平时还真没注意,往小了猜了一个数,回去一测,发现猜的挺准
    面:......
    面:没关系,那你说一下项目的表是如何设计的吧。
    我:(这里我结合索引的优劣说了一下,就是索引占存储空间这方面的
    面:数据是怎么来的?
    我:为了测试方便,是手动录入的。
    面:......
    面:那你如何衡量你这个推荐系统的准确性?
    我:就是通过余弦相似度来计算得出的
    面:然后呢?
    我:...(陷入沉默
    面:就是说你这个算法算出了正确了那它就准确,算错了就不准确了吗?
    我:(恍然大悟)还要根据用户之后的购买行为与推荐的商品是否匹配来进行衡量。
    面:(这中间也问了一些问题,记不得了)你这个项目其实挺简单的。
    我:嗯。
    面:你了解LRU吗?就是最近最短未使用算法
    我:了解,学操作系统的页式存储的时候学过。
    面:那你说一下具体过程吧。
    我:然后就简单的说了一下,缓存没满的时候怎么往缓存里面放,缓存命中之后怎么调整。
    面:我这里有一组数据:1,2,3,2,1...你说一下基本过程
    我:balala,缓存已经满的时候,来一个数据先去缓存中判断一下,数据在缓存中是否存在...
    面:等下,你是说要遍历吗?这里的缓存的数据量很大,遍历可能非常耗时间。
    我:(其实这里考察的是海量数据中的查找,当时没反应过来)...嗯,暂时想不出来有什么更好的方法。
    面:没有关系,我这里有道题,你帮我看一下。
    面:这里组亿级别的商家的会员数据,我想怎么在商家的后台管理界面查询这些数据能让商家的体验更好一些?就是通过分页来查询
    我:(这里也是在考察算法,依旧没有察觉出来)可以进行分布式的存储,使用缓存Radis...
    面:可是数据量非常大,缓存可能放不下全部的数据
    我:那就一次放一些活跃的用户
    面:缓存中是没有办法进行筛选过滤的。
    我:可以把读数据和写的数据分开。
    面:你说的那是读写分离,行了,这个问题就到这吧。
    我:...
    面:你了解 TCP 3 次握手 4 次挥手的过程吗?
    我:这个还是会的,我就给他说了一下,期间还因为耳朵不小心碰到手机,还给挂断了一次...那边马上就打过来了,问了一下什么情况,我给解释了一下,然后继续回答完了。
    面:你知道B树和B+树的区别吗?
    我:这个之前也准备过,都是些成题,没啥好说的,回答的还可以。
    面:那你知道B+树和B树的应用场景吗?
    我:数据库索引,B+树善于范围查找
    面:还有吗?
    我:...不清楚了
    面:好了,你总结一下你的大学的学习情况吧
    我:给他说了,学习还行,拿过两次一等奖学金,然后一直都是自学
    面:你都是自己一个人在那闷着头学吗?
    我:(这里意识到,面试官希望我有团队合作精神,然后赶紧解释了一下)虽然本校可利用的资源很少,但是我经常去问一些别的学校的学长学姐,让他们点评一下我做的项目,以及如何去学习等等。
    面:说一下你的职业规划吧。
    我:继续深入的学习java web,期间也会接触一些大数据相关的知识,向架构师方向发展。
    面:嗯,我没有什么要问的了,你还有什么问题吗?
    我:您能评价一下我这次面试吗?我还有哪些地方做的不好,哪些地方需要提高?
    面:是这样的,你现在还处于面试流程,还需要与其他人进行评估,还不能告诉你。
    我:...
    我:那我还有下次面试的机会吗?
    面:这和上一个问题不是一样吗?你还有没有问题,没有问题这次面试就这样结束了!(愤怒状...
    我:急忙道歉,那您能对我的职业发展提一些建议吗?
    面:本科来说还算可以(我一开始还以为他是间接回答我上面的问题,以为我处于本科这个水平还可以,后来我知道我想多了...),业界主要是移动无线,高可用,大数据方面的。
    我:哦,谢谢
    面:那这次面试就这样了,再见。
    我:再见。

    后来结果大家也都知道了,三天后,5 月 7 号查看官网状态:已回绝。

    总结:

    虽然这轮面试失败了,但是也总结了一些经验教训,分享给大家:

    1. 要学会把实际场景中的问题抽象成我们经常做的那种算法题。
    阿里面试官面试的算法题可能并不是像网上有些面经里面描述的那样,很直白的问你:你说一下快排的过程吧,你说一下归并排序的流程吧。他们问的问题一般是比较贴切与所在部门的实际工作,就像优化商家的用户体验那道题一样,我当时以为考察数据库缓存,分布式,后来才知道那是在考察算法,考察在海量的数据中如何对数据进行分类查找,同时也考察抽象建模能力。

    2. 对自己的项目要有深入的掌握,不要只是停留在完成了功能就可以了,多关注一下某个功能的性能,系统的并发量是多少,系统的吞吐量是多少,客户端的平均请求等待时间是多少。
    本来以为自己有一个自己认为稍微好一点的项目会给自己的面试加分,结果因为研究的不够深入导致被面试官评价项目太过简单,这里还是要对自己所做的项目有深入的了解,还有要注意项目的并发量。后来回去之后用apache-bench测了一下并发量 -- 100的并发数,客户端的平均请求等待时间 3 秒...1000的并发数下客户端的平均请求等待时间,你们猜一下 -- 47s,后来好一顿优化才把平均请求等待时间降到了 3 秒。可能面试一些外包公司,他们不会太关注这些并发量云云的,更关注我们能否实现功能。但是对于互联网公司,系统的性能至关重要,这方面还是要多准备一些。

    3. 如果自己的项目经验不是特别丰富面试官就有可能问你一些算法上的问题了。
    再次强调项目的重要性,这次面试中一般是因为我项目掌握的并不深入导致面试官没法继续问下去,只好问算法题,结果自己在算法又踩了坑,导致中后期乏力。我想如果项目掌握的非常扎实的话,面试官应该就会一直问项目了,算法什么的可能都不问了,如果没有多少项目或者项目内容不是特别丰富就要准备准备算法,计算机基础知识,例如计算机网络什么的了,不过面的阿里的java岗的话,好像并不太关注操作系统中的进程什么的,包括我这次面试在内,我看过的很多面经都是与计算机网络有关的。

    4. 个人还觉得在面试全程都在考察表达能力。
    由于楼主在校期间一直是闷着头自己一个人学,导致沟通能力比较差,这个还是要在平时的时候多与他人交流,尽管与别人聊技术他们可能不太擅长,但是聊聊生活总没啥大问题的。

    1. 还有就是团队合作能力,阿里应该不希望招那种只会单干的人(从最后几个问题可以看得出来

    2. 算法方面的题,如果是后台方向的应该多准备那些与海量数据的处理相关的题目,向hash分流,Map-Reduce,分而治之,bitmap,etc 还有要注意时间和空间的限制。

    3. 还有在回答算法题的时候多与面试官沟通,我在回答那两个算法题的时候,全程懵逼,不知所措,也没问面试官有什么限制条件,在回答的时候才被告知一些列的限制性条件,导致被一次次的震撼到,最后彻底陷入懵逼状态。可以跟面试官请求一点时间来思考一下,在纸上写写思路(ps:这个面试官预约面试的时候告诉过我可以准备几张纸写写思路什么的,楼主当时还是反应迟钝,不知道啥意思

    4. 可以看出面试官是按照 项目 --> 算法 --> 基础知识 这个顺序来进行面试的,如果其中任何一个环节掌握的比较好,后续环节问的就会比较少,比方说项目做的比较深入,可能面试官连算法都不问了,一直问你项目。

    5. 最后的提问环节其实也很关键,像 “我这次面试表现的如何?” 这种问题,如果你本身自己都觉得自己回答的不咋地,就不要问了,问了也会让面试官很尴尬,回答你吧,怕你伤心,不回答你吧,又显得不尊重;但是如果面试全程表现的都很好的话,面试官可能就随口说一句“表现可以,有下次面试的机会” 也就没啥。对于这种问题还是要少问,更不要像我一样,最后把面试官给问恼了(其实我也是无心的...),那面试被拒也是在情理之中了。可以问一些技术上的问题,或者是地域环境啥的。

    6. 虽然失败了,但是也从中吸取了一些经验教训,虽然没有直接获得面试官的点评,但是也从面试官的只言片语中了解了一点。还是要多做好充足的准备,不要在机会降临的时候白白放它走。就像我获得内推资格一样,本不报多大的希望,结果在笔试前几周获得内推资格。只能怪自己。继续努力吧!别在下次机会降临的时候又把它放跑了。才被拒一次没啥大不了的,做好面试被拒100次的准备吧!

    相关文章

      网友评论

          本文标题:阿里天猫春招内推一面凉凉

          本文链接:https://www.haomeiwen.com/subject/jbjgrftx.html