先扯扯皮

首先做一个简单的自我介绍,主要包括学校经历和工作经历。我工作经历只有两年,大部分时间都是在做产品设计和UI/UX Design,因此隔着电话都能感受到面试官的shock。

最近原来实习时候的Boss联系我,说他跳槽到了阿里,问我有没有兴趣面一个Java后台开发岗位.

考虑到我只工作了一年,现在去阿里肯定要降薪,因此也没有太强烈的意愿。但出于提升自我的角度考虑,咱也不想的年薪百万,50万也是可以的啊()就这样参加了面试.,下面是我的面试经历。(文末有我自己的小宝库分享哦)

阿里一面:

1、先介绍一下自己吧

2、说一下自己的优缺点

3、具体讲一下之前做过的项目

4、你觉得项目里给你最大的挑战是什么?

5、Hashmap为什么不用平衡树?

6、AQS知道吗?知道哪一些呢?讲一讲。

7、CLH同步队列是怎么实现非公平和公平的?

8、ReetrantLock和synchronized的区别

9、讲一下JVM的内存结构

10、JVM 里 new 对象时,堆会发生抢占吗?你是怎么去设计JVM的堆的线程安全的?

11、讲一下redis的数据结构

12、redis缓存同步问题

13、讲一讲MySQL的索引结构

14、你有什么问题要问我吗?

【开始还很紧张,但是越到后面越感觉舒服就】

阿里二面:

1、根据项目问了一些细节问题

2、说一下HashMap的数据结构

3、红黑树和AVL树有什么区别?

4、如何才能得到一个线程安全的HashMap?

5、讲一下JVM常用垃圾回收器

6、redis分布式锁

7、再描述一下你之前的项目吧

8、你觉得这个项目的亮点在哪里呢?

9、你设计的数据库遵循的范式?

10、你有没有什么问题?

阿里三面:

1、又聊项目

2、在项目中,并发量大的情况下,如何才能够保证数据的一致性?

3、elasticsearch为什么检索快,它的底层数据结构是怎么样的?

4、JVM内存模型

5、netty应用在哪些中间件和框架中呢?

6、线程池的参数

7、讲一下B树和B+树的区别

8、为什么要用redis做缓存?

9、了解Springboot吗?那讲一下Springboot的启动流程吧

10、如何解决bean的循环依赖问题?

11、Java有哪些队列?

12、讲一讲Spring和Springboot的区别

13、最近看了什么书?为什么?

14、你平时是怎么学习Java的呢?

阿里HR面:

1、愿意去杭州发展么?我说要考虑,hr就问主要考虑什么问题?

2、从技术角度来说,你觉得你跟你同学比怎么样?

3、你的父母怎么看待你的;

4、个人优势;

5、与同事沟通的时候,如果遇到冲突了如何解决?

15、工作中觉得哪方面欠缺?

16、有问题要问么?

17、期望薪水;

18、为什么要离开现在的公司?

总结

1. 阿里的面试官都挺好,面试的内容是我面试那么多家以来最全面的,问题也没有特别刁钻,都比较符合工作场景。

2. 项目很重要,项目是敲门砖也是面试的大头,如果我没有简历上的两个项目的话,估计简历都很难被捞起来,而且进入到3面。很多面试题都是从项目角度去提问的,而且回答的时候也可以结合项目回答,这个很加分。

3. 除了项目所用技术之外,也要关注项目的业务以及架构,最好是能融合在一起讲清楚。

4. 只有多面试,你才能将原有的「我以为」思维变成「原来是这样」。很多东西并不是你想的那样,需要有人去给你当头棒喝才会醒悟。

七、最后

最后在这边跟大家分享我总结出来的一线大厂Java面试题,希望能给后续想要去面试阿里巴巴等一线互联网大厂的小伙伴一些帮助!

获取方式:

点赞+关注后私信【资料】来免费获取到吧~