阿里 Java后端 暑期实习 四面 面经
- 自我介绍
- 讲解JDK中的集合
- 描述ArrayList的底层实现及其与LinkedList的区别和使用场景
- 解释HashMap的底层结构及其hash过程
- 比较TreeMap和HashMap的区别及其使用场景
- 为什么要使用Redis?
- Redis是否支持事务?
- Redis的过期淘汰策略
- 如何确定瓶颈是否是带宽问题?
- 常用的Linux指令有哪些?
- 还知道哪些缓存中间件?
- 如何保证Redis和MySQL的数据一致性?
- 追问:这些方式有什么问题?
- 什么是死锁?如何解决死锁?
- 什么是线程安全?
- 如何在实际中判断是否会出现线程安全问题?
- 原子类的底层实现是怎样的?
- CAS(Compare-And-Swap)有什么问题?
- Bean是线程安全的吗?Spring采取了哪些线程安全措施?
- 为什么要使用Spring?
- 详细讲解Spring的IOC和AOP
- 解释RPC框架的组成部分
- 既然有心跳机制,客户端和服务器是长连接的吗?
- 如果是长连接,每次都会去Zookeeper中进行服务发现吗?
- 讲解序列化
- 还知道哪些市面上的RPC框架?
- 是否看过Dubbo的源码?
- 你认为你做的RPC在哪些方面比Dubbo更好?
- 了解设计模式吗?
- JDK中体现了哪些设计模式?
- 能否抽象地讲解装饰器模式?
- 有没有参与过开源项目?
- 有没有利用所学知识实际解决过什么问题?
- 有没有自己写过脚本?
- 平时喜欢做什么?
- 有没有参加过马拉松比赛?
- 觉得最有成就感的事情是什么?
#软件开发笔面经##牛客创作赏金赛#