阿里巴巴面经 Java校招提前批
一面 (电话面试 面试官非常准时 面了50分钟左右)
1. 学习Java的时候是否有做过项目,挑一个你最熟悉的介绍一下
我说的一个分布式的商城系统,着重介绍了redis、httpclient、solr以及单点登录
*尽量看着自己的简历,有层次的介绍,从架构开始,到用到的技术,着重说一下最擅长的技术
2. 根据单点登录,从头问到尾
包括token使用的什么,怎么解决多个用户同时使用系统的验证问题,如果用户有被盗号的风险怎么处理,存取redis中用户登录信息实现等等......
(面试官应该是很擅长这一方面,就着单点登录这一个话题谈了20多分钟)
3. 问了我本专业都学了什么课程,以及平时的成绩
4. String拼接字符串时创建了多少个对象
可以结合我的博客看一下这个问题,重点在底层创建的StringBuilder对象
https://www.cnblogs.com/QingzeHe/p/11325295.html
5. 看过什么源码,我说集合,他说讲一下HashMap的源码
*遇到了一个自己很有底气的问题
介绍了底层的哈希表结构,桶链表中存的Entry,存数据时的哈希冲突(拉链法),1.8之后变成红黑树,头插入和尾插入,还有初始长度,扩容机制,以及长度为什么一定是2的幂次,阈值等等...
7. 选一个最了解的框架谈一谈 笔者选了Spring
说一下你对Spring的理解
说一下Ioc容器
说一下Spring管理Bean的生命周期
8. 关于多线程是否有了解,多线程访问共享变量的方式,上锁的方式有哪些
- 锁是怎么保证共享变量的安全的,我说到了总线嗅探机制
- 借着我说的volatile 从头问到尾,问到了底层原理,线程的三大特性,volatile的原子操作
- 既然volatile仅保证了可见性和有序性,怎么解决原子性
9. 我提到正在看并发编程,他问我打算怎么学,有什么计划,还捎带问了一下我的证书(OCP)
......不知道是否能有后续
浙公网安备 33010602011771号