菜鸟网络社招Java岗面经
一面:
1、面试官先让我聊了聊最近的项目,并以此为切入点,问了一下相关的知识;
2、http 协议 转 dubbo 协议怎么做的?
3、dubbo 的架构设计说一下;
4、mq 通知时,消费者没消费到怎么办
5、redis 是单线程了吗?有什么好处
6、一般设置过期时间吗,业务场景有哪些,过期策略有哪些
7、redis 持久化了解不,你们线上怎么用的
8、你们线上为什么这么用?只用AOF行不行
9、你有什么想问的?
二面:
1、二面问的技术面比较广,先让我聊了最近做的项目,以及让我讲了下项目中用到的单点登录的流程;
2、抽象类和接口你倾向用哪个?什么场景下用抽象类
3、如何更好的实现一个单例
4、synchronized 和 lock 区别
5、公平锁和非公平锁
6、怎么实现自定注解
7、类加载机制
8、如何实现自己的classloader
9、如何动态加载类
10、如何触发full gc
11、用jvm命令如何触发
12、了解过netty吗
13、微服务了解过吗,Service Mesh呢
14、五亿数据,找出数量top100
15、10G数据,在内存小于10G如何分片
16、分片处理完如何汇总
17、分布在多个节点上如何汇总
18、哈希取模如何哈希?哈希冲突怎么办?能完全解决哈希冲突吗
19、数据库乐观锁和悲观锁
20、秒杀系统如何设计?
21、redis分布式锁如何玩?超时时间如何设置
22、zk的监听原理,你来实现你怎么做
23、主动推送怎么实现
三面:
三面的形式完全出乎我意料,来了两个面试官,先做了自我介绍,便开始了面试。整个面试过程都让我在黑板上画图讲解,他们会不间断的提问并做记录。先是让我画了项目的架构图,面试官指出了我项目中存在的一些问题问我如何解决,然后穿插着对项目中用到的一些技术进行提问
1、消息如何保证一定被消费,如何没有消费到怎么办
2、Redis 怎么保证不丢数据,能不能保证严格意义的一定不会丢
3、Redis 集群,生产环境Redis 如何做数据迁移
4、一致性hash算法
5、数据库是怎么保证一定不会丢失数据的
6、浏览器敲入一个域名,尽可能详情的说下接下来网络协议层面发生了什么
7、了解过哪些锁,volatile 说下
四面:
整个过程没有聊技术细节,主要聊了一些技术的方向,业务的理解,过往的经历。
#菜鸟网络##社招##Java工程师##面经#