阿里巴巴面经 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. 关于多线程是否有了解,多线程访问共享变量的方式,上锁的方式有哪些

  1. 锁是怎么保证共享变量的安全的,我说到了总线嗅探机制
  2. 借着我说的volatile 从头问到尾,问到了底层原理,线程的三大特性,volatile的原子操作
  3. 既然volatile仅保证了可见性和有序性,怎么解决原子性

 9. 我提到正在看并发编程,他问我打算怎么学,有什么计划,还捎带问了一下我的证书(OCP)

 

......不知道是否能有后续

 

 

 

posted on 2019-08-29 14:03  HeQingze  阅读(228)  评论(0)    收藏  举报