46 道阿里巴巴 Java 面试题,你会几道?

简介: 做技术的有一种资历,叫做通过了阿里的面试。这些阿里Java相关问题,都是之前通过不断优秀人才的铺垫总结的,先自己弄懂了再去阿里面试,不然就是去丢脸,被虐。

做技术的有一种资历,叫做通过了阿里的面试。

这些阿里Java相关问题,都是之前通过不断优秀人才的铺垫总结的,先自己弄懂了再去阿里面试,不然就是去丢脸,被虐。

希望对大家帮助,祝面试成功,有个更好的职业规划。

1

面试常见问题

1、微信红包怎么实现。

2、海量数据分析。

3、测试职位问的线程安全和非线程安全。

4、HTTP2.0、thrift。

5、面试电话沟通可能先让自我介绍。

6、分布式事务一致性。

7、nio的底层实现。

8、jvm基础是必问的,jvm GC原理,JVM怎么回收内存。

9、Java是什么。

10、API接口与SDI接口的区别(API是提供给别人的接口)。

11、dubbo如何一条链接并发多个调用。Dubbo的原理,序列化相关问题。

12、用过哪些中间件。

13、做过工作流引擎没有。

14、以前的工作经历,自己觉得出彩的地方(钉钉)

15、线程池的一些原理,锁的机制升降级(天猫、蚂蚁)

16、从系统层面考虑,分布式从哪些纬度考虑(天猫)

17、Hadoop底层怎么实现(天猫)

18、threadLocal,线程池,hashMap/hashTable/coccurentHashMap等(天猫)

19、秒杀系统的设计(天猫)

20、虚拟机,IO相关知识点(天猫)

21、Linux的命令(天猫)

22、一个整形数组,给定一个数,在数组中找出两个数的和等于这个数,并打印出来,我写的时间复杂度高,要求O(n)。(天猫)

23、n个整数,找出连续的m个数加和是最大。(天猫)

24、更重视开源技术(蚂蚁金服上海)

25、数据库锁隐原理(蚂蚁金服网商)

26、1000个线程同时运行,怎么防止不卡(航旅)

27、并列的并发消费问题(航旅)

28、高并发量大的话怎么处理热点,数据等(蚂蚁金服)

29、如何获取一个本地服务器上可用的端口

30、流量控制相关问题(蚂蚁金服)

31、数据库TPS是多少,是否进行测试过(天猫)

32、缓存击穿有哪些方案解决(天猫)

33、Java怎么挖取回收器相关原理(财富)

34、Java的集合都有哪些,都有什么特点(信息平台)

35、分布式锁,redis缓存,spring aop,系统架构图,MySQL的特性(信息平台)

36、场景,同时给10万个人发工资,怎么样设计并发方案,能确保在1分钟内全部发完打个比方会提出类似的场景(信息平台)

本套试题仅供大家参考,没有标准答案,更多面试题请在Java技术栈微信公众号后台回复关键字:面试,为你整理了N套主流的Java技术面试题。

2

阿里HR面试时的核心问题

1、你为什么离职?

2、你怎么看待自己的职涯?(包括工作和家庭的分配,怎么平衡家庭和工作的关系、加班、选择一家公司时的考量、location等)

3、薪资期望(不要直接说数,绝不能表现出没到多少钱或者什么层级我就不去,这是味道问题不是能力问题)

3

候选人被问过的一些题目

1、项目中遇到的最大挑战是什么?怎么解决的?

2、最有成就感的事情是?

3、你为什么选择阿里?

4、说说自己性格上的优缺点(描述一下自己的性格)

5、自己觉得自己工作上的短板/优点是什么?

6、怎么看待加班(你能接受996、997、007吗)?

如果候选人的调性符合(足够官方),可以这么回答:我觉得我们要实现梦想,一定是要付出比较多努力的,所以我已经做好了准备,也愿意和小伙伴们一起战斗我是可以加班的,我现在加班强度就是比较大的。因为我喜欢这个事情,我想把这个事情做好。

7、可以接受降薪吗?

(像蚂蚁这种你懂的)如果候选人的调性符合(足够官方),可以这么回答:我也理解蚂蚁金服现在的薪资架构,我相信公司会根据我的能力给出一个合理的薪水方案,我相信只要把事情做好,该有的一定会有的对于蚂蚁这样的部门。

“我们在创造历史、我们在做一个从来没有人做过的事情,所以肯定是有难度的,肯定是要付出大量努力的 ”,面试官会特别喜欢这样的话。

本套试题仅供大家参考,没有标准答案,更多面试题请在Java技术栈微信公众号后台回复关键字:面试,为你整理了N套主流的Java技术面试题。

4

面试技巧

1、答非所问:

感觉到答案说出来对方会不待见的时候,可以这么做:有关联性的答非所问,注意强调自己的想法,争取让面试官能够共情,比如深圳的房价可以引人共情、电商相关的大平台、稳定、有上升空间等。

2、面试的状态很重要:

两个例子,上月一个成功offer的候选人,非互联网背景,公司也不是一线的,但是面试时表现出对阿里很强烈的兴趣,HR事后特地向我们提到,对这位候选人印象很深刻;

另一位今天刚挂的候选人,两轮技术都是一举拿下,最后HR面挂了,HR给我们的反馈是,候选人刚从自己的创业公司离职,貌似情绪很低落,对自己也没什么想法。

综上所述,面试时既不要唯唯诺诺,过于被动,也不要过于夸张,而是在于展现自己对一个不错机会的尊重和争取,让面试官觉得你对他们,对这个岗位有很大的兴趣。

5

注意事项

1、阿里比绝大部分公司更看重情怀和梦想

阿里的八字箴言:乐观、聪明、皮实、自省

2、阿里里面的HR都是懂业务的,会结合对候选人的判断和业务的把控进行筛选,不要忽悠他们.......

欢迎工作一到五年的Java工程师朋友们加入Java填坑之路:860113481

群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

相关文章
|
3天前
|
缓存 安全 Java
java面试-基础语法与面向对象
本文介绍了 Java 编程中的几个核心概念。首先,详细区分了方法重载与重写的定义、发生阶段及规则;其次,分析了 `==` 与 `equals` 的区别,强调了基本类型和引用类型的比较方式;接着,对比了 `String`、`StringBuilder` 和 `StringBuffer` 的特性,包括线程安全性和性能差异;最后,讲解了 Java 异常机制,包括自定义异常的实现以及常见非检查异常的类型。这些内容对理解 Java 面向对象编程和实际开发问题解决具有重要意义。
37 15
|
2月前
|
Java 程序员
Java社招面试中的高频考点:Callable、Future与FutureTask详解
大家好,我是小米。本文主要讲解Java多线程编程中的三个重要概念:Callable、Future和FutureTask。它们在实际开发中帮助我们更灵活、高效地处理多线程任务,尤其适合社招面试场景。通过 Callable 可以定义有返回值且可能抛出异常的任务;Future 用于获取任务结果并提供取消和检查状态的功能;FutureTask 则结合了两者的优势,既可执行任务又可获取结果。掌握这些知识不仅能提升你的编程能力,还能让你在面试中脱颖而出。文中结合实例详细介绍了这三个概念的使用方法及其区别与联系。希望对大家有所帮助!
207 60
|
1月前
|
Java 程序员 开发者
Java社招面试题:一个线程运行时发生异常会怎样?
大家好,我是小米。今天分享一个经典的 Java 面试题:线程运行时发生异常,程序会怎样处理?此问题考察 Java 线程和异常处理机制的理解。线程发生异常,默认会导致线程终止,但可以通过 try-catch 捕获并处理,避免影响其他线程。未捕获的异常可通过 Thread.UncaughtExceptionHandler 处理。线程池中的异常会被自动处理,不影响任务执行。希望这篇文章能帮助你深入理解 Java 线程异常处理机制,为面试做好准备。如果你觉得有帮助,欢迎收藏、转发!
134 14
|
1月前
|
安全 Java 程序员
Java 面试必问!线程构造方法和静态块的执行线程到底是谁?
大家好,我是小米。今天聊聊Java多线程面试题:线程类的构造方法和静态块是由哪个线程调用的?构造方法由创建线程实例的主线程调用,静态块在类加载时由主线程调用。理解这些细节有助于掌握Java多线程机制。下期再见! 简介: 本文通过一个常见的Java多线程面试题,详细讲解了线程类的构造方法和静态块是由哪个线程调用的。构造方法由创建线程实例的主线程调用,静态块在类加载时由主线程调用。理解这些细节对掌握Java多线程编程至关重要。
60 13
|
2月前
|
算法 安全 Java
Java线程调度揭秘:从算法到策略,让你面试稳赢!
在社招面试中,关于线程调度和同步的相关问题常常让人感到棘手。今天,我们将深入解析Java中的线程调度算法、调度策略,探讨线程调度器、时间分片的工作原理,并带你了解常见的线程同步方法。让我们一起破解这些面试难题,提升你的Java并发编程技能!
108 16
|
2月前
|
Java 程序员 调度
Java 高级面试技巧:yield() 与 sleep() 方法的使用场景和区别
本文详细解析了 Java 中 `Thread` 类的 `yield()` 和 `sleep()` 方法,解释了它们的作用、区别及为什么是静态方法。`yield()` 让当前线程释放 CPU 时间片,给其他同等优先级线程运行机会,但不保证暂停;`sleep()` 则让线程进入休眠状态,指定时间后继续执行。两者都是静态方法,因为它们影响线程调度机制而非单一线程行为。这些知识点在面试中常被提及,掌握它们有助于更好地应对多线程编程问题。
104 9
|
2月前
|
安全 Java 程序员
Java面试必问!run() 和 start() 方法到底有啥区别?
在多线程编程中,run和 start方法常常让开发者感到困惑。为什么调用 start 才能启动线程,而直接调用 run只是普通方法调用?这篇文章将通过一个简单的例子,详细解析这两者的区别,帮助你在面试中脱颖而出,理解多线程背后的机制和原理。
92 12
|
2月前
|
监控 Dubbo Java
Java Dubbo 面试题
Java Dubbo相关基础面试题
|
2月前
|
SQL Java 数据库连接
Java MyBatis 面试题
Java MyBatis相关基础面试题
|
2月前
|
存储 监控 算法
Java JVM 面试题
Java JVM(虚拟机)相关基础面试题