阿里三面 46 题:java 高级 + 数据库 + 网络 + 架构设计!含答案大赠送!
阿里一面
自我介绍
链表,数组的优缺点,应用场景,查找元素的复杂度
二叉树怎么实现的
Java 中都有哪些锁
可重入锁的设计思路是什么
乐观锁和悲观锁
synchronized 机制
hashmap 原理,处理哈希冲突用的哪种方法(拉链)
还知道什么处理哈希冲突的方法(开放地址检测)
开放地址检测怎么实现的
从哈希表中删除一个元素,再加入元素时恰好与原来那个哈希冲突,这个元素会放在哪
并发容器,Hashtable 和 concurrenthashmap 区别
redis 原子操作怎么用比较好
消息队列用过哪些?
阿里二面
操作系统模块:
1、说一下并行和并发的区别
2、你知道进程吗?有进程为何还有线程?
3、操作系统是如何调度进程呢的
4、比如 linux 下我打开一个文件调用 read 函数,整个过程说的越细越好
5、同步异步阻塞非阻塞 IO 详细越好。
网络模块:
TCP 报文格式
TCP 和 UDP
拥塞控制
超时重传
三次握手
滑动窗口
常见协议的端口号
数据库模块:
索引数据结构
索引常见优化方案
存储引擎
事务(spring 框架如何实现事务的呢)
垂直拆分
分库分表
读写分离
Java 模块:
hashmap
Arraylist 和 linkedlist
voliate
线程池,如何根据 CPU 的核数来设计线程大小,如果是计算机密集型的呢,如果是 IO 密集型的呢?
countdownlatch 和 CyclicBarrier 底层实现原理
线程状态以及 API 怎么操作会发生这种转换
JVM 模块
面试官说只问三个问题:
1、内存模型以及分区,需要详细到每个区放什么
2、堆里面的分区:Eden,survival ,老年代,各自的特点。
3、垃圾回收算法,什么时候回收。
分布式:
1、redis 与 memached 选型,你更倾向于选择哪个,为什么?
2、分布式事务解决,你知道我们阿里巴巴是怎么做的吗?
3、消息队列比较和选型?
5、CAP
阿里三面
自我介绍
学习技术的方式,开源、书籍、自学、实践,具体的学习方法?
最有技术含量的项目,讲讲从架构设计再到部署的流程
常见的数据库瓶颈有哪些,怎么来优化
微信附件人这个功能怎么实现的
以上就是阿里三面题目,以下是总结出来的阿里经典面试题目,包含:集合类、多线程、JVM、spring 框架、分布式缓存、架构设计等。
阿里高级 java 经典面试 88 题和答案
答案领取方法:
点击此处链接即可免费得到这份资料啦~
评论