阿里Java研发工程师实习面经,附面试技巧
作者:如何进阿里
链接:https://www.nowcoder.com/discuss/72899?type=0&order=0&pos=17&page=1
来源:牛客网
前言
十分幸运 拿到阿里云的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!
欢迎关注我的微信公众号:“Java面试通关手册”(坚持原创,分享美文,分享各种Java学习资源,面试题,以及企业级Java实战项目回复关键字免费领取):
阿里Java研发工程师实习面经,附面试技巧的更多相关文章
- 阿里Java研发工程师实习面经
十分幸运 拿到阿里云的offer,感谢周围无数人对我的支持和鼓励,所以写篇面经希望可以帮助大家. 面试中,运气占很大一部分的,所以你们若是没有通过,一定不要气馁,继续加油. 每个努力的人 都值得钦佩, ...
- 学生党如何拿到阿里技术offer: 《2016阿里巴巴校招内推offer之Java研发工程师(成功)》
摘要: 这篇文章字字珠玑,这位面试的学长并非计算机相关专业,但是其技术功底足以使很多计算机专业的学生汗颜,这篇文章值得我们仔细品读,其逻辑条理清晰,问题把握透彻,语言表达精炼,为我们提供了宝贵的学习经 ...
- 2015年阿里实习生面试Java研发工程师 小记
5月5日,广州,阿里实习生面试,Java研发工程师,完全被虐orz 几乎没有Java项目开发经验,接近零基础,去水了一发,毫无悬念的被刷了..RP也是杠杠的,准备过的题目一个都没被问到,算法题也是一条 ...
- 蚂蚁金服财富技术部,诚招Java研发工程师。校招内推!!!
蚂蚁金服财富技术部,诚招Java研发工程师. 团队是蚂蚁金服财富技术部核心团队,支持亿级互联网交易清算,在这里不仅能学习到先进的互联网技术,也能了解许多终身受益的金融知识. 内推对象 2020届毕业生 ...
- Java研发工程师知识点总结
Java研发工程师知识点总结 最近一次更新2017年12月08日 大纲 一.Java基础(语言.集合框架.OOP.设计模式等) 二.Java高级(JavaEE.框架.服务器.工具等) 三.多线程和并发 ...
- 专访阿里资深研发工程师窦贤明:PG与商业数据库差距并不明显
窦贤明认为, 支持类型.功能和语法丰富,性能优良 9月24日,窦贤明将参加在北京举办的线下活动,并做主题为<Greenplum分片案例分析>的分享.值此,他分享了PG.工作上的一些经历 ...
- 2015年阿里巴巴蚂蚁金服校招JAVA研发工程师内推电话面试
没想到阿里校招如此之早,虽然早已进入复习备战状态,但还是感觉有些措手不及...找了个在蚂蚁金服做HR的同学帮忙了内推,然后在最近的几天匆匆忙忙地复习JAVA(之前都把精力放在了数据结构.算法等基础上了 ...
- 高级Java研发工程师面试题总结
目录 一.Java基础 二.JVM虚拟机基础 三.开源框架基础 四.分布式基础 五.设计模式基础 六.数据库基础 七.网络基础 八.数据结构和算法基础 九.Linux基础 十.其他技术基础 一.JAV ...
- Java研发工程师面试题
基础题 一.String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的?1. String是字符串常量,StringBuffer和StringBu ...
随机推荐
- vue & $data & data
vue & $data & data vm.a === vm.$data.a https://vuejs.org/v2/api/#data https://flaviocopes.co ...
- TCP建立连接与释放连接过程中的几个问题
TCP为何采用三次握手来建立连接,若采用两次握手可以吗,请说明理由? 不可以.采用三次握手是为了防止失效的连接请求报文段突然又传送到服务器,从而发生错误.当客户端发出的连接请求报文段由于某些原因没有及 ...
- 如何在VScode中添加代码片段
拿 VUE 举例,新建 VUE 文件,输入前缀,出现代码段 文件 ---> 首选项 ---> 用户代码片段 在输入框中输入 vue ,找到 vue.json ,然后在 vue.json ...
- Java虚拟机内存模型和volatile型变量
Java虚拟机内存模型 了解Java虚拟机的内存模型,有助于我们明白为什么会发生线程安全问题. 上面这幅图是<深入理解Java虚拟机-JVM高级特性与最佳实践>的书中截图. 线程共享的变量 ...
- Jmeter如何连接数据库Mysql
1. 下载jdbc 的驱动 mysql-connector-java-5.1.41-bin.jar,并将该驱动放到路径: D:\apache-jmeter-3.0\lib\ 2. 打开Jmeter 工 ...
- 简单配置AAA认证与telnet图解
不罗嗦,直接上图
- C++11Mutex(互斥锁)详解
多个线程访问同一资源时,为了保证数据的一致性,最简单的方式就是使用 mutex(互斥锁). (1).直接操作 mutex,即直接调用 mutex 的 lock / unlock 函数.此例顺带使用了 ...
- redis 命令行客户端utf8中文乱码问题
只需要你在启动redis-cli时在其后面加上--raw参数即可启动后 再显示就正常了
- [USACO09OPEN] 工作调度Work Scheduling (贪心/堆)
[USACO09OPEN] 工作调度Work Scheduling 题意翻译 约翰有太多的工作要做.为了让农场高效运转,他必须靠他的工作赚钱,每项工作花一个单位时间. 他的工作日从0时刻开始,有10^ ...
- Bootstrap 按钮下拉菜单
向下拉 <div class="dropdown"> <button class="btn btn-default" data-toggle= ...