秋招——Java工程师面试经验(阿里淘宝事业部)

前言九点的时候收到阿里淘宝事业部的面试电话,天气太热还来不及穿上衣服,就匆匆跑到阳台进行面试。还是那句话,有些东西如果不及时回顾,很快就忘了。春招的时候我也面过一次阿里,尤其记得当时从图书馆四楼跑到馆外,慌慌张张面了八分钟,不仅问题没答上,最后也没有向面试官咨询什么信息——这就是我人生的第一次面试,没错我面的阿里!!(再也不想做这种纸张操作了)

关于Java基础

  1. 如何理解Java当中的“一次编译到处运行”,这里会牵扯到jvm的知识,我能说的都说了,最后面试官也懂我的意识,还帮我总结了一下(他总结的是真的好?,下来还是自己写一写加深印象)

  2. Java面对对象的四大特性(抽象,封装,多态,继承),我大概说了两个,面试官就跳向下一个问题,个人觉得也是因为在阐述的时候有点拖泥带水,面试官就把问题细化

  3. 比如问到继承和多态有什么区别

  4. 再到为什么要有继承,类与类可以不要继承吗?或者说继承有什么优势

  5. 在解释多态的时候,我刚开始把对类的重写和对接口方法的实现说了进去(这是不正确的,但是面试官并没有打断我),后来我说了一个具体的代码实现的多态性,(就是一个方法中有一个参数,定义的一个基类,还没有被实例化,而里面的方法是根据你在外面调用的时候具体用哪一个类实例化的,在调用对应的实例化类中的方法,这才是多态)

  6. 说一下spring,这个感觉一般都会问,里面的IOC(DI)AOP,以及IOC只要解决了什么,不够面试官建议有空可以看一下源码

数据结构方面

  1. 说一个你最熟悉的排序算法,他的时间复杂度是多少(说了插入,虽然算法简单,但是不够流畅,对时间和空间复杂度还是不够清楚)

  2. 说了一个场景,内存只有100M,但是磁盘数据有一个G,设计一个排序算法并解决这个问题(我没有答上来,猜想说每次取100M的数据到内存中进行排序,或者设置什么缓冲队列,巴拉巴拉!我自己也很蒙蔽。不过面试官也很委婉,就相当于考察一下,然后让我下去找找这个到底考察的是什么知识点)

    扫描二维码关注公众号,回复: 8797153 查看本文章
  3. 说一下hashmap的底层实现(这个我还是说的比较详细,最后也说了jdk1.8后面当链表过长时会转化为红黑树,但是对红黑树不够了解,面试关也建议看下这部分的源码)

  4. 当我说道红黑树的时候,我引出了平衡二叉树,但是我把平衡二叉树和二叉搜索树搞反了,面试官一直问我平衡二叉树的实现,我一直说的搜索二叉树,问道复杂度的时候也不知道咋计算的(看的不够深入啊),最后面试官也是很耐心的纠正我

mysql方面的(好像就一个哎,有点想不起了,想起再更新吧)

  1. 数据库的索引有哪些(顺序,B+树,散列存储(类似于hashmap))

web方面

  1. session和cookie的区别(大致说了一下,面试官应该还觉得可以吧,就继续了)其实说到数据库的时候面试官本来计划的是半个小时,但是问道一个问题,我总会扯点其他的出来,给面试官一种意犹未尽的感觉

  2. 因为说session和cookie的区别的时候,我说道了http协议,然后就问了我返回的状态码(302,404),还好那天看了一下3开头的,404倒是遇到最多一般都是自己代码写错,或者某些数据访问有问题导致的

JVM方面的

  1. 因为在面试的过程中,面试官同样也问了我如何学习java或者其他语言的学习方式,那就实话实说呗,不过最后说到了自己买的有关于Java的书籍(java编程思想和JVM),面试官就问了我内存模型是如何分配

  2. 内存模型中那些是线程私有的(程序计数器和虚拟机栈)

  3. 垃圾回收机制的主要区域(堆,也说了一下堆还可以粗糙的分为老年代和新生代等,对于不同的区域会有不同的垃圾回收机制)

  4. 类加载的过程?类加载器有哪些?
    最后是我询问面试官的建议

  5. 坚持手中的两本书(java编程思想和JVM),看完之后一定会有很大的帮助

  6. 看完了书只能代表你应该掌握的都掌握了,但是要想与别人不同那就还需要多看看源码(spring,hashmap,等)

最后面试官给的评价是:我觉得你还是挺不错的,真的挺不错的…(我再反复问自己,你确定?我总觉得我肯定是挂了,他这样说是不是为了安慰我,??)
面试接近一个小时(时间是过的真快完全没有感觉)最后给我说大概两天就会有结果,我也只有耐心等待了,祝自己好运吧,也许下一关很难,但是比以前有进步嘛,给自己加油!!

发布了93 篇原创文章 · 获赞 26 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_38261445/article/details/100026426