Java面试题:阿里

一面:算法

  • 自我介绍下本身,不超过3分钟(实际上个人自我介绍不到一分钟)数据库

  • 你感受比本科阶段本身进步了多少,有哪些进步编程

  • 研究生期间最大的进步是什么设计模式

  • 你以为你适合从事哪一个方向的开发缓存

  • synchronized与lock的区别,使用场景。看过synchronized的源码没安全

  • JVM自动内存管理,Minor GC与Full GC的触发机制session

  • 了解过JVM调优没,基本思路是什么数据结构

  • 如何设计存储海量数据的存储系统架构

  • 缓存的实现原理,设计缓存要注意什么并发

  • 淘宝热门商品信息在JVM哪一个内存区域

  • 操做系统的页式存储

  • volatile关键字的如何保证内存可见性

  • happen-before原则

  • Lucene全文搜索的原理

  • 你以为本身适合哪方面的开发,为何

  • 想去哪里实习,杭州?

二面:

  • 自我介绍下本身,不超过3分钟(个人自我介绍仍然不超过1分钟)

  • 你说你熟悉并发编程,那么你说说Java锁有哪些种类,以及区别(果真深度不同)

  • 如何保证内存可见性

  • Http请求的过程与原理

  • TCP链接的特色

  • TCP链接如何保证安全可靠的

  • 为何TCP链接须要三次握手,两次不能够吗,为何

  • AOP的原理

  • 动态代理与cglib实现的区别(这个,醉得很厉害)

  • 那么你说说代理的实现原理呗

  • 看过Spring源码没,说说Ioc容器的加载过程吧

  • 了解过字节码的编译过程吗(这个还真不知道)

三面:

  • 自我介绍,不超过3分钟(此次好像时间更久了,也就2分钟多点)

  • 说一下你对哪一个项目比较熟悉

  • 为何作这个项目

  • 项目采用了什么架构,数据库如何设计的

  • 数据库由哪些表,为何有这些表

  • 主要有哪些核心模块,模块之间如何通讯的

  • session放在哪里

  • 如何保存会话状态,有哪些方式、区别如何

  • 分布式session如何管理,你有哪些方案

  • 学过数据结构和算法吗(固然),你说说二分搜索的过程

  • 说一下快排的过程,写一下伪代码

  • 了解哪设计模式,举例说说在jdk源码哪些用到了你说的设计模式

  • 你有什么问我吗(仍然上面三个问题)

四面:

  • 自我介绍下吧

  • 作了哪些项目

  • 看你在问题中说你在杭州看到不少商贩使用付款二维码,你对支付宝怎么看

  • 天天有那么多人使用支付宝,这些数据若是给你存储,你会怎么设计呢(不是说HR不问技术问题吗?不愧是阿里的HR)

  • 为何想来支付宝实习呢

  • 你身边同窗如何评价你、老师呢

  • 若是与同事发生了意见的不一致,你会如何解决呢