阿里2016校招实习生面经

时间:2021-04-17 18:54:10

         拖了这么久才下定决心写份面筋,懒癌没救。5月18日,参加了阿里的校招实习生面试。整个面试过程比较奇妙。于5月21日收到正式offer。

         先介绍下本人,非985(感觉学校很好猜)大三自动化专业,比较熟悉java。面试时间已经过去比较久很多细节都忘记了,尽最大可能回想一下。

         约的是下午面试,但是因为路痴跟随男朋友上午就到了面试场地,悠然上了个厕所发现只要签到就进入面试队列,进入一面的大厅面试官已经等了我蛮久。表达了下歉意,面试官先让我进行自我介绍,简短介绍完后正式的面试就开始了。首先面试官从项目开始询问,但是很尴尬的是由于我项目的确不多而且只有一个跟职位有直接关系,这个环节很快就结束了。接着就是基础知识,问题和我的回答如下:

1、 用过hashmap吗,hashmap的原理知道吗?

巧的是刚巧看过hashmap的源码,就把源码里面hashmap的构造给面试官讲了一下,比如实现hashmap的数据结构是数组和链表,hashmap默认的长度是多少,什么时候进行扩容等等。

2、 hashmap、hashset和hashtable有什么区别?

这也是常考的问题,我还是从源码的角度,说明hashset是由hashmap中的key值实现的,因为hashmap实现映射关系,key值不会重复,因此hashset可以实现去重复的功能。而hashtable和hashmap的区别主要体现在线程方面,捎带说了一下synchronized方法。

3、 既然说到线程了,说一下你对线程和锁的理解。

相信这个问题大家比我要熟悉我就不赘述了。

4、 你对网络了解吗,比如在地址框里输入地址,到网页显示的过程中,都会发生什么?

      这个问题我真的没有准备过,不幸且巧合的是一二面竟然问了同样的问题,实在不会我就给面试官讲了三次握手的过程。感谢两个面试官都愿意听我说完。这个问题回来稍稍一百度就可以知道答案。

         果然不能晾太久写面经,一面一些问题已经记不清了,但是一面的时间十分短暂,20分钟左右就结束了,也十分感谢一面面试官直接告知我还有二面,一出门我就收到了二面的短信。

         二面也是自我介绍,之后面试官问了我最近有没有做什么项目,我想了想最近只做了一个c#实现的示波器。没想到面试官对自动化专业的项目十分感兴趣(有点怀疑他曾经是电子及相关专业的),询问了我遇到的技术难点之后又问我怎么改进,我说求周期遇到了难点,手写了相关代码,并且用拟合的方法改进,也手写了MATLAB相关的推导公式。接下来又是基础知识的部分,问题大概如下(大部分问题好像很容易找到答案):

1、 线程阻塞和同步是怎么理解的

2、 写一下线程阻塞

我就给面试官写了一下阻塞队列实现生产者—消费者模型。

3、 用过哪些排序

4、 快速排序是怎么实现的,复杂度

5、 用过哪些类

6、 StringBuffer和StringBuilder的应用场景,区别,线程安全

7、 看过哪些技术书籍

8、 死锁是怎么产生的

9、 手写一个死锁

10、垃圾回收有哪些算法,都是怎样实现的

11、数据库用过哪些,mysql是不是面向事务的

二面结束后适逢午饭,我有一些问题答得不尽人意感觉希望不大,幸运的是吃完饭收到了hr面的短信。hr全程微笑(前两面面试官也是)让我心里十分踏实,但是问的问题普遍比较犀利。没想到的是hr让我讲了项目以及项目的细节(感觉他是技术出身),说一下我印象比较深的问题:你作为一个本科非计算机专业的学生,而阿里每年有很多清华北大或者计算机专业的学生,你认为你跟他们的竞争力在哪里?假如你同时拿到BAT的offer,你怎么选择?哈哈哈我不要贴我怎么回答的。hr面的重点应该是看你的技术热情,只要表现的足够积极,并且认同公司的文化,hr并不会难为你。

面试结束觉得自己的确很幸运,准备时间如此仓促能通过还是要感谢面试官的厚爱。把面筋写下来攒攒人品,给有需要的人。