十分幸运 拿到阿里云的offer,感谢周围无数人对我的支持和鼓励,所以写篇面经希望可以帮助大家。

面试中,运气占很大一部分的,所以你们若是没有通过,一定不要气馁,继续加油。

每个努力的人 都值得钦佩,无论结果如何。

我说点面试中的小技巧,可以帮助你更好发挥,(注意,这个方法比较适合我,不一定适合你哇)

完全可以将学到的知识讲给自己(或者讲给别人),若是自己(别人)听你的讲述 能够听懂(使用自己的话去讲,而不要有专业术语),那么说明 你已经学好了。其原理就是 费曼学习法。感兴趣的人可以去了解下。

我个人习惯于 将一个知识点 分解为  xxx是什么,xxx有什么用,如何实现这个功能的(核心的工作流程),缺点是什么(以及为什么有这个缺点,缺点如何补救)。

举个例子, CMS垃圾回收器回收时为什么有内存碎片 , 首先分解为CMS是什么,内存碎片是什么?CMS垃圾回收器有什么用和Serial ParNew Parallel 等比较,优势,CMS是如何工作的,来实现尽可能降低响应时间的,为什么CMS有这个缺点,它是如何取舍的,如何补救这个缺点。

这些子问题都回答好,那么基本上这个问题就学的可以了。

这样可以检测你是否学好,而且,若是你都没法条理清晰地讲给自己,那怎么条理清晰地讲给面试官呢?

接下来就写下三次面试题目:

阿里一面:

1.个人介绍

2.项目介绍,项目介绍首先讲最好的项目,因为后面的项目可能都没时间去讲。

3.数据库 联合索引 用法

4.Spring IOC初始化过程

5.ConcurrentHashMap实现原理

6.CAS操作

7.ReentrantLock和Synchronized区别

8.CMS垃圾回收过程

9.Full GC次数太多了,如何优化。

10.直接内存 如何 管理的

11.线程池 参数。

线程创建的过程。有几种方法。

线程资源如何回收的。

一个题目:如何将一个二叉树,转为有序的双向链表。

阿里二面

1.自我介绍

2.项目介绍

3.堆和栈介绍

4.线程安全

5.乐观锁悲观锁

6.TCP三次握手

7.socket通信有关,select epoll

8.项目中的难点有哪些

我答得是:使用一个组合的设计模式 去解决文章多级分类的问题。

交叉面

1.自我介绍

2.项目介绍

3.做这个项目的动机

4.TCP UDP  IP  ICMP

5.知不知道一个应用层协议,运输层既没有使用TCP,也没有使用UDP

6.二叉树中求最长路径。

递归的方式去实现。

先求左子树深度,后求右子树深度。相加减一,那么就是以当前结点为转折点的解。

然后递归求左子树的解,和右子树的解。返回当前解,左子树解,右子树解中最大的解。时间复杂度为O(n*logn)

其实可以优化到O(n) ,其实不必求两个子树的解,只需要求较深子树的解即可。

7.有什么想问我的吗?

//您觉得成为一个顶尖高手,最重要的是什么呢?

兴趣。做自己感兴趣的事,就不会很疲惫,也会很开心。  //这一点我深有同感。

抓住你的兴趣,做你想做的事,自己驱动自己进步。

//很感谢您的建议。

hr面试

1.自我介绍。

2.项目介绍。项目中难点。得过啥奖没。

3.项目有什么不足?

4.前面的面试 发挥怎么样?

5.前面的面试难度怎样?

愿大家都能拿到自己理想的offer。

作者:如何进阿里

本文来源于牛客网

——————————

牛客网(www.nowcoder.com)

- 互联网名企笔试真题

- 校招求职笔经&面经

- 程序员求职实习信息

- 程序员学习交流社区

阿里Java研发工程师实习面经的更多相关文章

  1. 阿里Java研发工程师实习面经,附面试技巧

    作者:如何进阿里 链接:https://www.nowcoder.com/discuss/72899?type=0&order=0&pos=17&page=1 来源:牛客网 前 ...

  2. 学生党如何拿到阿里技术offer: 《2016阿里巴巴校招内推offer之Java研发工程师(成功)》

    摘要: 这篇文章字字珠玑,这位面试的学长并非计算机相关专业,但是其技术功底足以使很多计算机专业的学生汗颜,这篇文章值得我们仔细品读,其逻辑条理清晰,问题把握透彻,语言表达精炼,为我们提供了宝贵的学习经 ...

  3. 2015年阿里实习生面试Java研发工程师 小记

    5月5日,广州,阿里实习生面试,Java研发工程师,完全被虐orz 几乎没有Java项目开发经验,接近零基础,去水了一发,毫无悬念的被刷了..RP也是杠杠的,准备过的题目一个都没被问到,算法题也是一条 ...

  4. 蚂蚁金服财富技术部,诚招Java研发工程师。校招内推!!!

    蚂蚁金服财富技术部,诚招Java研发工程师. 团队是蚂蚁金服财富技术部核心团队,支持亿级互联网交易清算,在这里不仅能学习到先进的互联网技术,也能了解许多终身受益的金融知识. 内推对象 2020届毕业生 ...

  5. Java研发工程师知识点总结

    Java研发工程师知识点总结 最近一次更新2017年12月08日 大纲 一.Java基础(语言.集合框架.OOP.设计模式等) 二.Java高级(JavaEE.框架.服务器.工具等) 三.多线程和并发 ...

  6. 专访阿里资深研发工程师窦贤明:PG与商业数据库差距并不明显

    窦贤明认为, 支持类型.功能和语法丰富,性能优良   9月24日,窦贤明将参加在北京举办的线下活动,并做主题为<Greenplum分片案例分析>的分享.值此,他分享了PG.工作上的一些经历 ...

  7. 2015年阿里巴巴蚂蚁金服校招JAVA研发工程师内推电话面试

    没想到阿里校招如此之早,虽然早已进入复习备战状态,但还是感觉有些措手不及...找了个在蚂蚁金服做HR的同学帮忙了内推,然后在最近的几天匆匆忙忙地复习JAVA(之前都把精力放在了数据结构.算法等基础上了 ...

  8. 高级Java研发工程师面试题总结

    目录 一.Java基础 二.JVM虚拟机基础 三.开源框架基础 四.分布式基础 五.设计模式基础 六.数据库基础 七.网络基础 八.数据结构和算法基础 九.Linux基础 十.其他技术基础 一.JAV ...

  9. Java研发工程师面试题

    基础题 一.String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的?1. String是字符串常量,StringBuffer和StringBu ...

随机推荐

  1. JAVA_SE基础——34.static修饰成员变量

    需求:描述一下学校的学生.  特点:都是中国人.... 测试代码1: class Student{ String name; String country = "中国"; //国籍 ...

  2. 使用cxf创建webservice 出现timeOut的问题,设置spring超时时间

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  3. Docker学习笔记 - Docker的数据卷

    一.什么是数据卷? 数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性: 数据卷可以在容器之间共享和重用 对数据卷的修改会立马生效 对数据卷的更新,不会影响镜像 数据 ...

  4. 英语词汇(2)fall down,fall off和fall over

    一.fall down,fall off和fall over都表示"摔倒.跌倒"的意思,但它们各自的含义不同. 1.fall over 落在...之上, 脸朝下跌倒 fall ov ...

  5. 访问器属性:setter()函数和getter()函数

    1.干嘛用的? getter()函数:返回有效的值 setter()函数:调用它并传入数据,这个函数决定如何处理数据 2.具备哪些属性?如何定义? configurable(默认为true),enum ...

  6. LinuxMint18使用单独分区作为Home挂载点

    安装LinuxMint时,我没有为/home选择单独的分区,所以在安装完系统之后就得手动配置一番. 首先是创建一个分区,这个很简单就不说啦. 然后就是把现有的/home下的文件移动到新的分区里面 操作 ...

  7. 控件篇:CheckedListBox的全选与反选

    private void cbXmlAll_CheckedChanged(object sender, EventArgs e) { for (int i = 0; i < cblXmlList ...

  8. digest-MD5认证

    digest-MD5认证机制是基于MD5算法的LINUX安全机制认证. 会比较用户端传送的杂凑值与使用者密码的杂凑值,以认证用户端. 但由于此机制必须读取使用者密码,因此,所有想透过digest-MD ...

  9. [js]关于call()和apply()的理解

    call 和 apply 都是为了改变某个函数运行时的 context 即上下文而存在的,换句话说,就是为了改变函数体内部 this 的指向. 因为 JavaScript 的函数存在「定义时上下文」和 ...

  10. Visual Studio的一些快捷键

    1)CTRL + W选择当前单词 2) Ctrl+F10: 运行到光标处 1.CTRL + SHIFT + B生成解决方案   2.CTRL + F7 生成编译   3. CTRL + O 打开文件  ...