阿里面经(一面凉经)—Java后端开发
基本情况交流:
1.请介绍一下你自己
2.你在组里做什么工作,主攻什么方向,发过什么论文吗?
3.你的毕设什么方向?你觉得创新点在哪?
4.你打算申请的专利解决了什么实际问题吗?
5.你觉得自己最大的优点是什么?
6.请说出最让你自豪的一件事。
技术交流:
1.介绍一下TCP和UDP分别是什么?UDP为什么没有拥塞控制?
2.UDP又为什么不能实现可靠传输?
3.可重入锁是什么,请介绍一下?
4.引用和指针的区别?
5.了解过哪些消息中间件?分别说一下底层原理。
6.什么是Bean对象?
7.了解过Nginx嘛?你确定他是用来处理负载均衡?怎么处理的?
8.乐观锁和悲观锁介绍一下,分别适用在什么场合?
9.进程线程有什么区别?为什么进程切换代价大?线程切换代价小?
10.什么是独立地址空间,为什么进程有独立地址空间?
11.Java是编译型语言还是解释型语言?为什么不全解释?
12.介绍一下java虚拟机?
13.为什么java虚拟机可以跨平台,底层怎样实现的?
14.Spring源码有了解过吗?
15.网上的开源项目做过哪些?简单说一下。
16.BIO与NIO介绍一下,有什么区别?
17.HashMap与HashSet的底层实现?
18.介绍一下MYSQL索引?
19.介绍一下java的反射机制?
20.什么是哈希?
21.讲一下数据库事务隔离级别?可重复读和可序列化有什么区别?
22.可重复读这个级别是怎样解决不可重复读这个问题的?
23.二叉树有什么遍历方式?(这是师哥单纯为了缓解我的紧张才问的)
24.内存分页机制?
25.Linux如何查看哪个进程占用内存最大?
26.判断一篇英文文章里是否有指定单词,你怎样快速实现?
27.给定一个序列,找出两数之和等于指定数字的这俩数下标?HashSet怎样实现?
师哥建议:
1.源码,消息中间件,开源项目还是要搞一搞的。
2.每个基础底层原理你要懂为什么和怎么做,往深挖。
(我说:我这两天背了一下面经,师哥会心一笑(●'◡'●))
个人感受:
1.??????????!!!!!???!!!!!
2.为什么TCP三握四挥,5层参考模型,JVM内存分布和GC,redis一个都没问??
3.Spring源码,消息中间件,Nginx,开源项目简历上没写也问到了。(很重要)
4.师哥说话很温和,好评!!一个月后我还来!!