java研发工程师,通过实习校招顺利拿到实习offer,这次通过笔试的有1000多人,录取了130人左右。
自我介绍
我是某985院校计算机学院的一名硕士,本科也是毕业于该校。读书期间,没有编程大赛获奖经历,也没有很好的项目经历,也没有获得国奖。本科期间成绩平平,基础很一般,考研第一次也没上,二战高分过线。研究生读的是专硕,没有研究方向,实验室也很一般,项目没有感觉学到了什么东西。我是搞java研发的,都是自学,没有参加开源项目,也不了解SSH,也不熟悉Linux。
找实习     
对于一名专硕,时间有限,所以找实习、找工作,我准备得比较早,开学前6月份进实验室就开始准备找实习、找工作,上学期一直在看thinking in java,看的很细,做了很多笔记,把所有的例子都写了一遍,同时还做了一些oj,看了《编程之美》。下学期开学就准备找实习,由于是二战,对操作系统、数据结构、网络等知识(书本上)记得很清楚,所以我只看了《java面试宝典》,另外百度了很多java面试题,数据库面试题,并且自己做了很详细的笔记,平时都在复习。
3月份是内推,阿里巴巴我一共内推了4次,4各部门,结果都是一样的,全部一面挂掉。后面实习校招还找了腾讯,趋势科技,蘑菇街,笔试全国,但是一面全挂。再后来就参加了阿里巴巴的在线笔试,通过后预约了面试时间,然后就开始准备那次面试。之前虽然面试都挂了,但是我都认真的总结了挂的原因,对于里面涉及的知识点,我也全部都查了并且做笔记整理了。在面试开始之前,我把我能想到的,能找到的面试资料都认真的复习了,下面是实习校招面试的情况。
 声明:有些问题的回答是我个人的答案,我也不知道对错,希望不要给你带来误导

一面

由阿里的人员把我带到面试官桌子前面,坐下之后,我把简历交给面试官,然后面试官说了一下面试的流程,说有三面,第一面由他面试,通过之后就马上二面,二面通过了还有HR面(后来发现不是这样的,我只有2面,二面是2个面试官,一个问技术一个是HR,就是二三面一起进行),然后叫我做自我介绍。

自我介绍:按照简历上面信息的顺序来介绍自己,我的先是个人信息,然后是本科以及研究生的入学时间专业,接着说自己掌握的技能,然后就是项目,说项目的时候,说着说着,面试官就叫我停,然后问项目的东西,刚开始有点紧张,说话好快,自己思路也乱了,可能就没说清楚,然后面试官给我一张纸,叫我画一下流程,画好给他解释清楚后,他问了几个项目的问题,问项目中你主要做什么,做了多久,整个项目的代码量有多大,你写了多少代码,我说一万多行。面试官说我代码量太少,然后我说除了做项目,我平时自学java很多,写了好多程序。然后他就开始问java的问题,第一个问题是写出java.lang.Object中所有的方法,然后我马上写了hashcode()、equal(),toString()、3个wait()、notify()、notifyAll()、finalize()、getClass()(当时还在想是getClass还是getName,自言自语的说出来了,然后面试官笑着说还有个clone()),这个问题就算结束了。然后他又问了看过了哪些java的源码,我说看了Map,List之类的,还看过String的一些源码,他就马上叫我跟他讲讲hashMap的底层是实现,我就画出来了那个拉链法(貌似java的hashMap是这个方法)解决冲突的的散列表,说散列表是一个Node类型的table数组,每个数组元素也是一个链表的首节点,对于一个键值对,通过计算key的hashcode映射到table数组中,对于不同的值一般是不同的下标,对于同样的hashcode,就形成一个链表查找的时候先是计算hashcode,然后查找在table中的下标,找到后在链表中查找。这个说完,他又问了hashMap扩容,我说hashMap默认容量是16,每次扩容容量乘2,先开辟新的空间,然后复制过去。然后他又问了,如果hash的冲突碰撞太多会怎样,我说会影响查找性能,然后给他画了怎样影响,接着他又问是不是线程安全的。这个问完他又问了反射的东西,我详细地说了两种反射创建新对象的方法。接着他叫我说说java里面的runtime exception,然后我跟他讲了一些出现runtime exception的情况,还说对于这些异常,一般不去处理。这些回答完,他都比较满意,然后看着我简历随口说了一句,java里面原生类型int多大,可能太紧张我很快的说到32字节,o(╯□╰)o,我马上改口说说错了是32位。面试官笑着说,你吓到我了,不过我问得问题你都回答的很快,还不错。java的知识基本问完了,然后问我知不知道一些开源的框架如SSH,这是我的硬伤,声音很小的说没有。他也没继续问下去。接着他又问我网络方面的东西,问在网络五层结构中,ARP协议属于哪一层,于是我在纸上写出来了5层(这时候他还是盯着简历),可能真是太紧张,我把应用层写成了用户层,然后他说你先说说哪五层,说了之后我说应该是网络层和传输层中的一层,然后他笑了,我就随便说了一个(最后知道错了),然后说ARP协议是干什么的,又叫我说说解析的过程,我先说了IP地址最长前缀匹配的,然后真是记不起来,卡住了,他就说你们平时没研究这么细是吧,我马上说是的,但是我们对TCP研究的多一些。然后他又问我http协议是不是有状态的,这个我有回答错了,囧,然后我又说了http1.0和http1.1的区别。网络知识感觉没java基础知识回答得好,这个过了之后,转向算法了。第一个算法是矩阵的就地逆置,这个好说,第二个是堆排序,给了一组数据,说说堆排序的过程,这个里面也出了一点点问题,主要是交换的时候,但是大部分都是对的,讲的也清晰,接着他又问了堆排序的那棵树是不是AVL树,我说是的,然后我说从原理上讲,堆排序是对数组的操作,双亲的下标关系是通过AVL树的结构得到的,接着他又问,那怎样判断一棵树是不是二叉平衡树,叫我写代码,我说我先想想,他说可以,那你说打算采用什么思路,然后我说递归,就是是写了,把递归程序写好(判断高度的没写,思路很简单)后,我就跟他讲了思路,然后我说还要记录一下高度,他说思路对了就可以。接着他还问我,每天花多少时间做项目,多少时间学习?我说50%以上的时间都在自学。那如果你做的项目不是自己喜欢做的怎么办呢?这个问题很好回答,因为我做的就是不感兴趣的东西(这么说他笑了),但是我还是会把它做好,作为程序员,就要尽量少的Bug。然后他问我,你了解java虚拟机吗?我说了解,然后他问平时遇到了哪些oom,我说我让每个区域都溢出过,然后简单讲了每个区域怎么溢出,然后他就问我堆溢出的时候怎样去处理的,我说运行的时候设置参数,生成堆转储快照文件,然后去分析这个文件,他说你用什么分析的,我说eclipse memory analyzer,然后我就说了怎样使用,还给他画了对象引用的大小的计算(shallow size、retained size)之类的。然后他说,如果那jar包里面的对象出现了oom该怎么办,然后就随便说自己的想法,JVM方面就问完了。然后他问数据库查询中,where条件后面A != B 与 A > B哪个效率高,有索引,然后我就说A>B,跟他说索引是B树或者B+树,A != B会放弃索引(这句话不严谨),相当于查找失败的情况,而A > B会。。。。这个回答完他就问我有没有什么问题想问他,问了几个之后,整个过程50分钟,就出来等结果,10分钟出结果,结果说准备二面,然后就等着二面叫我。

感觉一面面试官人很好,问的问题都是按照简历上面来的,而且面试过程气氛都不错。
二面
二面是两个面试官,一个是高技术的,一个是HR。二面感觉人少多了,就几组面试官。
二面一进来也是自我介绍,说了好多,感觉要没话说的时候,面试官开始问了,全部都是项目的问题(我的项目不好,跟找实习没关系),问项目多少人开发?你做哪个模块?为什么你做那个模块?详细的说一些业务流程,为什么要使用XXX编译器?项目做出来多少人使用?我的项目中使用的数据库的存储过程,他问了,为什么要使用存储过程?存储过程又有哪些问题呢?当你写完一个很长(天!他说几千行的)的存储过程的时候,你想过了怎么样去优化、怎样去设计效率跟高吗?在你们做那个项目之后,你想过哪些方法可以让你们那个项目效果更好吗?做完你那个项目,你觉得你从中学到了什么吗?最大的收获是什么?我看你还有个项目用了C#,那你跟我说说C#和java的区别吧。说说字节码class文件是什么东西,java文件是怎么运行的,这点问的非常细。android跟java什么关系?可不可以不要android只要java(这个问题真奇葩)?你还了解JVM是吧,那你说说堆更加细的分区吧(这个是唯一一个具体的,我能回答的问题),你看过什么java书籍(thinking in java),你说说为什么java里面所有的类都直接或者间接继承Object类,这个那个书上讲过吧,我通过我自己的理解说了一些。还为了我了解开源框架参加过开源项目没有(泪。。。)。他问问题当中,HR时不时也问一些问题,穿插着。然后HR问我,我看你之前参加过内推,你觉得你为什么会失败,我说了几点自己的原因(技术不够、项目不好),HR说就这些吗?我说,恩(也不该只觉得自己差,还要分析下客观原因的)。然后HR又问,我看你本科成绩中等,你能解释下吗?(我本科实验班,小班排名,最后还刷了不少人,跟他说了,他理解了),那你研究生为什么也是中等呢?(这个为什么这么重要啊??填写的时候没很在意),我说我填简历的时候,成绩只出来几门,本着诚信的原则,我不敢浮夸自己,所以写中等。那现在出来了吗?我说大部分都出来了,他说那排名呢?我想了想,他说有没有前30%?我说有前20%(这个确实也都属实)。然后他问,除了内推受打击,你还收到了什么其他的打击?我说了二战的时候,因为我一战是单科不过线,二战压力很大什么的。中间我说了一句话:越努力,越幸运(这句话跟技术面试官产生了共鸣!!)。我说现在我平时就经常看书,写代码,很努力,就是有之前的经验。还问了看过英文书没有之类的。HR的问题就问完了,接着叫我问他们问题,我就问了技术的面试官做什么,为什么不问我技术方面的东西。他说,当然不问技术啊,这些都是一面问的问题,还跟我说我们对应届生要求不是很高,也不是考察你会多少东西,而是对于一个你不曾遇到过的很大的问题你的解决方式,这也是一种能力。然后还说我很想去阿里巴巴工作,问了他的建议。他说我技术不广但是还蛮深的,叫我多看点书,多学点其他的。还说就像你说的:越努力,越幸运。在他面试的人当中,90%的都说自己看过thinking in java,你要从别人当中脱颖而出,就要多看一点只有10%(甚至更少)的人看的书,而且你内推挂了也不能怪我们要求严格。。。。说完,我接着说,不管你们要求多严格,你们最终都会招到那些人,去不了也是实力不够。他马上说是的,确实这样。然后我说,我就是要努力的成为你们想要的那一批人,如果这次挂了,我也会好好准备秋天的招聘的。接着他们就说,今天的面试就到此为止吧。
二面问的问题都很抽象,我也把我能说的能想的都说了,整个过程也没什么停顿,我感觉面的还可以,出来就等结果,整个过程接近1小时,出来10分钟后收到短信说今天面试结束,然后回去等结果。
回去之后,心里还是有点紧张,在网上去查结果还是面试中,就只有等了(听说,浏览器内审查元素可以看到状态,一个data-reldata变量)。第二天上午,收到短信和邮件,说通过全部面试,邀请参加圆桌沙龙,就是分部门,了解文化之类的。
总结
    为了这次面试准备了好久,感觉前面的内推对我有很大帮助,让我习惯了阿里面试的过程,还学到了很多的知识。从面试中,我觉得有几点要注意的:1.基础知识,Java的基础知识,一些源码,JVM的相关知识,算法必须得了解一些,网络要好好看看,还有就是数据库知识也很重要。2.项目,我的项目对找工作基本是没有任何帮助的,但是也要对项目很熟悉,里面的原理也要很清楚的知道。
      这次面试顺利的通过了,我觉得还是很大的运气成分,问的大部分问题基本上是我会有。建议大家多看点书,多学习,多写写代码。
最后,希望写的能给你带来帮助,希望大家都能拿到好的offer!

2015年阿里巴巴实习面试经验相关推荐

  1. 快手算法岗日常实习面试经验

    快手算法岗日常实习面试经验 时间:2019.4.3 10:00 地点:北京市海淀区上地西路6号(快手总部)-E座 这次快手的面试一共两面,每一场面试都是先针对简历问问题然后手写一道算法题.由于我简历里 ...

  2. 我的美国(北美)计算机CS实习面试经验分享

    过去的一年多里,参加了一些面试,虽然面过的公司不多,但都从头一直走到尾.毕竟自己也是花了大量的时间和精力在这一场场的面试里.所以,就絮叨下自己的一些经验,希望能给在美国找实习找工作的同学们提供一点点帮 ...

  3. 今日头条推荐系统算法岗日常实习面试经验

    今日头条推荐系统算法岗日常实习面试经验 时间:2019年3月27日 地点:校内视频面试 一面 深度学习基础 Adam的原理.公式 (没答上来) 找了一个简书的讲解,挺好的,有需要的同学可以移步简单认识 ...

  4. 2015阿里系统工程师面试经验分享(广州站)

    这篇文章的源处是:http://user.qzone.qq.com/794884160/blog/1411125641.这个是在签意向书认识的同事,他把面试经验写在QQ空间,经过他的同意后,我把这篇文 ...

  5. 2018年互联网技术岗(数据分析)暑期实习面试经验

      此经验帖适合想找互联网相关工作的人,如数据分析.算法工程师.数据挖掘工程师等.或者是想进入BAT等互联网公司的人,我会介绍他们暑期实习招聘流程及笔面试经验等,暑期实习往往是有转正机会的.友情提醒: ...

  6. 2015华为暑期实习面试全过程

    这篇文章来的有点晚,当时候找华为实习的时间大概是:当时作者是南京某大学计算机系的一名研一的学生,因:第二环节:华为的效率也挺快的,之后第二天左右便收:第三环节::练习完没几天,华为就开始正式邀请学生到 ...

  7. 阿里巴巴五轮面试经验分享

    拿到阿里实习offer,经历了5次面试,其中4轮技术面,1轮HR面试.在这里分享一下自己的面试经验和学习心得.希望能够帮助更多的小伙伴. 我本科毕业于中南大学信管专业,真正开始学习Java是在大三下学 ...

  8. 【面试经验分享】十分值得一看! 研一下-算法实习-面试经验汇总

    青藤云安全(2月26日) 机器学习算法实习岗 微信视频面试,15分钟.主要问了下简历上做阿里云比赛的经历,后未联系,预计已挂. 主要存在的问题: 1)做的东西太简单太基础,不够看,导致面试官其实没啥可 ...

  9. 2015阿里系统工程师面试经验分享

    这篇文章的源处是:http://user.qzone.qq.com/794884160/blog/1411125641.这个是在签意向书认识的同事,他把面试经验写在QQ空间,经过他的同意后,我把这篇文 ...

最新文章

  1. vue 过滤器 格式时间秒数,js 时间日期格式化
  2. 【知识图谱】人工智能技术最重要基础设施之一,知识图谱你该学习的东西
  3. Source Insight 4.0安装教程(PS:附安装包及卸载重新安装等注意事项)
  4. HDFS Federation在美团点评的应用与改进
  5. IT餐馆—第四回 离职
  6. RFC 5961翻译
  7. 华为培训视频-AAA培训
  8. mtk x20 android 开发环境配置
  9. 小规模45万免税,免的是增值税,没有企业所得税!
  10. 西门子S7-300 PLC视频教程(百度网盘)收集于网络-供参考学习
  11. 移动吉比特H2-2光猫超级用户与密码
  12. ologit模型与logit_Logit模型与logistic模型的联系与区别?
  13. 8、大话设计模式--单例模式 、桥接模式、命令模式、职责链模式、中介者模式
  14. C# 蓝牙编程(InTheHand.Net.Personal.dll-32feet),教程地址
  15. web前端第一次作业
  16. 头条抖音后端技术3面,2021大厂Java面试题精选
  17. 免费GPS定位系统 GPSBD卫星定位监控系统Simple版
  18. 盘点2011年的网络流行语
  19. AT指令(中文详解版)
  20. 抢滩抖音、B站,快手港股IPO进程加速

热门文章

  1. 大学计算机实验演示文稿及其高级应用,东南大学《大学计算机基础》实验20幻灯片高级操作.pdf...
  2. python增加索引_python – 为numpy数组添加索引
  3. Java实现 蓝桥杯VIP 算法训练 反置数
  4. @人生最痛苦事是,在不懂爱的年龄,选择了婚姻,而在懂爱的年龄,遇到了不能在一起的人。
  5. EXCEL篇—函数基础概念【2】
  6. 2018专业就业率排行出炉,就业率最高的专业是它!
  7. Box2D C++ 碰撞
  8. 基于ThinkPHP6.0的梦亚网络验证开源源码
  9. thinkphp短信验证码功能
  10. oracle clusterware 11g,Oracle 11gR2 clusterware启动顺序