阿里大淘宝Java后端一面
面经八股文(40min)
-
介绍项目
-
MySQL 索引结构?B+树特点?InnoDB 和 MyISAM 区别?
-
项目有Update操作吗?并发问题如何处理?
-
Mysql层面;Java层面;
-
-
volatile 和 static 的区别?volatile 的特点?
-
用户信息特别多,怎么存储?
-
数据分片:按照id分、按照城市ip分
-
-
Redis 客户端并发模型?为什么是单线程?
-
Redis 数据类型,使用情景?
-
Redis 为什么高可用?RDB 和 AOF 持久化?
-
项目中为什么用 WebSocket?
-
TCP/IP 的建立和端口?为什么不能两次握手?
-
滑动窗口的原理和作用?
-
Java 的 IO 模型
-
ClassLoader 有什么用?双亲委托机制?
-
判断链表存在环?判断环的位置?
-
HashMap 底层结构?线程安全的 ConcurrentHashMap 的底层?
-
死锁是什么?如何避免死锁?
-
ThreadLocal 是什么?应用场景?
-
IOC 和 AOP 的实现?
-
内存限制的海量数据处理排序?
算法题(60min)
-
字符串交替打印(15min)
pattern = “abba”, str=”北京 杭州 杭州 北京” 返回 true pattern = “aabb”, str=”北京 杭州 杭州 北京” 返回 false pattern = “baab”, str=”北京 杭州 杭州 北京” 返回 true
-
多线程: 四个线程交替打印 A=1 B=2 C=3 D=4