阿里面经总结

我的目的是总结(浓缩,精简),借鉴以下这篇阿里的面经:阿里面试回来,想和Java程序员谈一谈, 十分感谢作者。

面试准备(不断地去google相关的面试资料,现阶段只能这样了)


  • 语言基础和高级特性
    • 集合框架
    • ...
  • 框架
    • ssh
    • spring
    • spring boot
  • 高级
    • jvm
    • 并发
    • 分布式
  • 其他
    • 算法,数据结构
    • 计算机网络协议
    • 操作系统
  • 项目经验
    讲述自己的项目,面试官随机提问
    而你需要做的,就是充分、再充分的去总结自己做过的项目(尤其是最近的一两个项目),挖掘出一个甚至N个亮点,以备于到时候可以让面试官产生眼前一亮的感觉。
    如果项目没有亮点,那就开始打造亮点。

目标公司


  • 结合职业发展方向
  • 技术实力和氛围
  • 技术选型(人工智能领域,算法,数据结构)

面试策略,自身定位


  • 先不要投你的意向公司,先找几个公司探探身价

  • 还要学会引导面试官到自己擅长的领域

  • 不要在面试前刷题,不是一蹴而就的事情

  • 坦诚,不会就说不会

最后-相关书籍


  • 大话设计模式
  • 深入理解Java虚拟机
  • Java并发编程实战

附一:常见套路

1)Java的数据结构相关的类实现原理,LinkedList,ArrayList,HashMap,TreeMap
HashMap是不是有序的?
不是有序的
有没有有顺序的Map实现类
有TreeMap和LinkedHashMap
TreeMap和LinkedHashMap是如何保证它的顺序的
它们两个哪个的有序实现比较好
还有没有比它更好或者更高效的实现方式
如果你还能说出来的话,那么就你所说的实现方式肯定依然可以问你很多问题


2)Java并发包当中的类,它们都有哪些作用,以及它们的实现原理,这些类就是java.concurrent包下面的
比如面试官可能会先问你,如果想实现所有的线程一起等待某个事件的发生,当某个事件发生时,所有线程一起开始往下执行的话,有什么好的办法吗?
这个时候你可能会说可以用栅栏(Java的并发包中的CyclicBarrier),那么面试官就会继续问你,你知道它的实现原理吗?
如果你继续回答的话,面试官可能会继续问你,你还知道其它的实现方式吗?
如果你还能说出很多种实现方式的话,那么继续问你,你觉得这些方式里哪个方式更好?
如果你说出来某一个方式比较好的话,面试官依然可以继续问你,那如果让你来写的话,你觉得还有比它更好的实现方式吗?
如果你这个时候依然可以说出来你自己更好的实现方式,那么面试官肯定还会揪着这个继续问你。

为什么说面试的时候要引导面试官,原因就在这了。因为面试官的提问很多时候都是有迹可循的,你如果抓住了他的轨迹,能够猜到他下面很可能会问什么,那你在回答的时候就可以往你想要谈的方向去说。这样面试时就会显得更加从容,更加的游刃有余。


3)IO包和NIO包中的内容。这部分里面NIO会是重点,IO包大部分都会比较熟悉,因此可能会直接略过,直接问你NIO的内容。

IO包和NIO包的内容相对来说不是很多,首先NIO模型要熟悉,特别是其中的selector一定要非常清楚它的职责和实现原理。其实NIO的核心是IO线程池,一定要记住这个关键点。有的时候,面试官可能也会问你IO包的设计模式(装饰器模式),为什么要这样设计?
有的面试官还会问你有没有更好的设计,这个时候如果你不知道请果断说自己现在的水平有限,想不出来更好的设计,千万不要信口开河,随意YY。


4)Java的虚拟机的内容。这部分主要包括三部分,GC、类加载机制,以及内存。
一个GC部分简单的连环炮。
面试官可以先问你什么时候一个对象会被GC?
接着继续问你为什么要在这种时候对象才会被GC?
接着继续问你GC策略都有哪些分类?
你如果说出来了,继续问你这些策略分别都有什么优劣势?都适用于什么场景?
你继续说出来了以后,给你举个实际的场景,让你选择一个GC策略?
你如果选出来了,继续问你,为什么要选择这个策略?
下面是关于类加载机制的简单连环炮。
首先肯定是先问你Java的类加载器都有哪些?
回答了这些以后,可能会问你每个类加载器都加载哪些类?
说完以后,可能会问你这些类加载之间的父子关系是怎样的?
你在回答的时候可能会提到双亲委派模型,那么可以继续问你什么是双亲委派模型?

你解释完了以后,可能会继续问你,为什么Java的类加载器要使用双亲委派模型?
你回答完以后,可能会继续问你如何自定义自己的类加载器,自己的类加载器和Java自带的类加载器关系如何处理?
再来一个关于内存的连环炮。
首先肯定就是问你内存分为哪几部分,这些部分分别都存储哪些数据?
然后继续问你一个对象从创建到销毁都是怎么在这些部分里存活和转移的?
接着可能会问你,内存的哪些部分会参与GC的回收?
完事以后,可能还会问你Java的内存模型是怎么设计的?
你回答了以后,还会继续问你为什么要这么设计?
问完以后,还可能会让你结合内存模型的设计谈谈volatile关键字的作用?
你在谈的时候,肯定会提到可见性,那么接着可见性这三个字,还可以继续问你并发的内容。

基本上Java语言本身以及语言稍微高级点的内容就是以上部分,如果你能把以上四部分了解的非常透彻,那基本上Java这部分就没啥问题了,因为光以上的内容就够你跟面试官聊很久了。你聊这些聊得久了,自然问你其它问题的时间就会短点。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容