记阿里电话面试-研发工程师(JAVA)

阿里电话面试-研发工程师(JAVA)

2015.7.22,简历提交后,每天都会查询应聘流程最新状态,可一直处于简历评估阶段,以为到等到9月份统一参加校招呢….

     2015.7.27,下午3点,接到了一个来自杭州的电话,第一反应是骚扰电话,很不情愿的接了起来,对方说:“我这边有你的一份简历,现在有没有时间面试一下?“我说:“好的,可以等我5min吗,我找个教室准备一下。对方说:”好的,那我一会再给打过来吧。我说:”,就挂断了电话。当时正在和队友讨论明天比赛路演环节的事情,刚好在实验室,于是拿着纸笔、耳机、手机,在实验室旁边的会议室安静的等电话。大约过了12min,面试官便又打来了电话。

     听他的声音,应该蛮年轻的,他说,今天主要了解一下你的基本情况,给后面的面试提供些参考(可能会有电面2,我说,好的。之后,便开始了这次电话面试。

     首先,他让我介绍一下自己,刚开始有些紧张,然后就从学习,比赛,兴趣这三个方面简单了做了一下介绍。中间被反问了一下,还有其他的吗?然后,又随便扯了一点其他的(平时准备一份自我介绍,背的熟熟的,以备不时之需)。接下来,他说,简历上提到你对数据分析、机器学习等方面比较感兴趣,如果被录取的岗位跟这些没有关系,你会在意吗?当时,我说,阿里是一个大平台,入职的第一岗位如果不是我想做的也没关系(然后扯了一大堆废话,主要是为了给自己多一些的思考时间)。然后反问他,阿里内部转换部门可以吗?他说可以,然后,我说,可以接受不是自己心仪的岗位。

     之后,他说,应聘的岗位在杭州(当时简历上写的喜欢的工作地点是上海和北京),对工作地点介意吗?然后,我又扯了一大堆(比较好听的话,比如,我们本科生对大城市只是向往,并没有什么具体的概念,现在向往北京/上海,可能以后到了杭州,说不定就喜欢杭州了呢)。他最后说了句:”好“。(成功被我忽悠)。再然后,他问我有没有实习经历,然后,我说现在纠结是否考研还是工作,所以没有出去实习。然后,他问我有没有跟学校老师做过相关的项目,我说没有。我补充道,这个假期倒是做了一个基于ASP.NET在线书店系统。接下来,就开始了本次的技术面试环节。(需要有个跟应聘职位相关的项目,不然你和面试官就没得聊了)。

     首先,他问我,你在这次项目中担任的角色以及项目是如何从无到有的。(这个问题一点压力都没有,毕竟是队长),于是,就把整个项目流程以及在项目中承担的任务全部说了下来(感觉面试官一点反应都没有,可能在提取我刚刚说的话吧)。

     果然,被我猜对了,他对我设计各个类以及如何关联各个类比较感兴趣。于是问我,设计了几个对象。然后我想了一下,开始回忆项目中的各个类,一开始说的有点太详细了,然后他打断我说,只要说对象就好了,不用说其他类,然后我又重新给他说了一下主要的对象(刚刚看了一下自己画的类图,发现少说了好几个对象,无语了)。讲完后,他问我为什么要抽象这个对象(bookItem),(我觉得就是在检验类图到底是不是你写的),他说,取消这个对象不就好了,然后又说了一下他的理由。刚开始听,还觉的蛮有道理的,但是我心里不爽啊,当时我花了大半天才想出来的,你这么一说,就把我给否定了,我怎么会高兴呢。于是我开始反驳他,给他讲了设计这个类的好处,可能表述的不太清楚,他最后给我归纳了一下,我说,是的,就是这样。

     然后,我们就购物车开始了讨论。接下来的问题,把我问蒙了,问了:1.如何处理网站的高并发访问 2.如何实现翻页查询。第一个问题,我从来没有考虑过,然后就临时想了一种方法,但是被各种否定,最后,只能说,这个我之前没有考虑过,他就没说什么了。第二个问题,我说用view实现(我都不知道view是啥,实在没的说了),查询到一部分后,删掉已经显示的,然后再提交一部分数据显示(自己感觉挺有道理的)。听完后,他说,数据库中的数据便动后,怎么更新到这里呢?我说,没办法,只能再重新查询一次数据库呗(感觉他要打我了……

     之后,问我inner joinleft join的区别,最近只用过inner join,就随便说了点,left join我就坦白了,直接说,没用过,他就没再问我什么。

     网站、数据库方面的问了这么多,然后就开始了java基础知识的询问。主要是这么几个问题吧:

      1.说一下static关键字 2.java中实现了Collection的类 3.接口和抽象类的区别

第一个问题,大家都懂的(数据成员/方法成员两方面),他后来问我,static的优点和缺点,然后,问我,如果所有的方法都是static的,不是更方便嘛我说,肯定不能这样,但是原因我不知道。

第二个问题,说实话,好久不用java了,只能说C#中挖点东西来讲了,C#中有的,java中肯定也会有吧。然后就说了有list/map(刚刚查了一下确实有listhashmap,还有一个set),然后他问我hashMap内部的数据结构(我肯定不知道,就随便说了一下,索引-value),然后他说T value可是是null嘛,我说可以(刚刚查了一下资料,感觉回答的还行吧)

     第三个问题,真把我问傻了,我就说接口在团队合作中用的比较多,提供一个规范,然后大家来实现;抽象类,没用过,然后就结束了。

     接下来,他说,有没有什么问题问他,我问了三个问题;

  1. 阿里给员工的学习机会多吗?

  2. 阿里会加班吗?压力大吗?

  3. 阿里对本科生有什么样的要求呢?

问题1:阿里对每个员工都有培训,包括技术方面的、其他方面的,对老员工、新员工都有特定的培训,发展空间不错

问题2:加班看部门而定,有的部门加班多一点,有的少一点(我感觉到,互联网公司压力都不小)

问题3

  1. java有一定的基础,知道怎么用,知道为什么这么用

  2. 有一定的项目经验

  3. 了解互联网最新的技术,如,分布式、高并发,不求研究很深入,但是必须要了解

问完后,他说今天的面试先这样吧,我说,好的。

这次电话面试持续了1小时,感觉自己发挥的一般般,毕竟对javajsp不是很了解(偶是C#/.NET的方面的)。希望这篇文章能够给大家带来帮助。

                           2015.7.27



你可能感兴趣的:(面试心得)