菜鸟集团Java开发-深圳,一面(社招)

0.面试形式

在官网投递了简历,投了三个岗位,接到其中一个岗位的面试通知,钉钉在线面试。

1. 面试题

总耗时60分钟,题目如下:

(0)自我介绍。

(1)介绍一下Spring开发项目中Bean的生命周期

(2)介绍一下动态代理,JDK动态代理和CGLib代理有什么区别?后者在哪些场景下不可用?

(3)对集合(Map、Queue、Set、List)的理解?HashMap每次扩容时为什么默认扩容一倍?知道PriorityQueue的实现原理吗?知道ConcurrentHashmap和Hashtable的底层原理和结构吗?它们分别是怎么实现线程安全的?

(4)对多线程编程的理解:可重入锁是如何实现可重入的?如果让你设计一个synchronized关键字实现同步锁,你会怎么设计?可线程池构造函数七个参数含义,你项目中队列参数设置的是哪个队列?知道哪些拒绝策略?

(5)如果让你设计一个秒杀活动,你会考虑哪些技术难点?使用哪些技术栈?你设计的方案有些“不公平”,大部分买家等待时间过长,如何使得所有买家能更快地完成结算(缓存预热、Redis)?

(6)如何保证MySQL数据库和Redis缓存的数据是一致的?项目中使用Canal,是同步了全部的数据库数据吗?

(7)项目中有哪些技术确保了项目的高可用性、可靠性?

(7)项目中有没有遇到过什么技术难点?

(8)介绍一下Seata的几种模式及其应用场景,如果能说明一下原理的话介绍一下原理。

(9)反问环节。

每个问题,面试官都尽可能深挖,看看自己了解有多深,每个问题耗时都不短,答的并不好,估计没通过。

#菜鸟##Java##Java面试##社招##阿里巴巴#
我的社招经历 文章被收录于专栏

记录本人的社招经历。

全部评论

相关推荐

评论
1
6
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务