前两天同事参加了阿里天猫的3面,现将他的面试过程发布出来以供有志之士参考,主要包括:GC回收+RedisHash算法+架构部署+秒杀等。
1
阿里天猫一面
自我介绍
jvm GC原理,JVM怎么回收内存
ConcurrentHashMap是怎么解决并发问题的?
HashMap怎么从链表转换为红黑树?如果存入的是null键,放在桶的哪个位置?
谈谈Synchronized与ReentrantLock的区别
再谈谈 threadLocal的实际应用
Java的内存模型,Java8做了什么修改
线程池中的几种重要的参数及流程说明
一次web请求响应中,那个部分最耗时,tcp握手?业务逻辑处理?网络延迟?数据库查询?浏览器解析?
如何进行JVM调优?有哪些方法?
2
阿里天猫二面
如何理解内存泄漏问题?有哪些情况会导致内存泄露?如何解决?
怎么理解强一致性、单调一致性和最终一致性?
分布式锁有哪些解决方案?
如何解决Redi缓存穿透的问题?
Redis hash算法用的是什么?
Redis集群方案应该怎么做?都有哪些方案?
3
阿里天猫三面
谈谈你的参与的项目
能否画出整个项目的架构设计图,尽量包含流程、部署等
分布式系统设计你会考虑哪些策略?
有遇见过服务器雪崩的场景?如何避免?
谈谈你对天猫双11秒杀的设计?
为什么想来阿里天猫?
未来3年有什么职业规划?