阿里云一面
电话面,正好卡45分钟结束,回答地可以说是一坨狗屎
首先是自我介绍,然后问了一些我之前工作的经历。
然后开始问项目,先是RPC的项目
1.为什么要做RPC
2.设计RPC框架最重要的几个目标(答了效率、可用性,随口说了一个安全性,给自己挖大坑了,根本没做这块)
3.在可用性方面,框架做了哪些设计(答了做的一些容灾的策略)
4.从可用性上来讲会不会有单点问题(一开始没理解,后来才明白是问注册中心的单点问题,说了Zookeeper的集群,但是项目里确实没做,没敢多说)
5.除了集群,解决注册中心稳定性风险,还可以有哪些方式(不知道了)
6.从效率上有和Dubbo做过对比吗?(说做过JMH压测,效率差一些)
7.Dubbo性能比我的RPC好,有分析过什么原因吗?(没考虑过这个问题,答得不知所云,面试官引导了一下,问那有对比过其他RRPC框架的性能吗?Dubbo跟他们相比性能好在哪?可惜我根本不开窍)
8.然后就是问安全性,安全性的风险有哪些,怎么解决的(劝大家面试的时候管住嘴,不该说的别乱说)
然后让从另外两个业务项目里挑一个介绍,由于第一个给我问傻了,这里没敢介绍DDD的项目,介绍另外一个,其实应该介绍DDD的,反正也过不了,不如让面试官狠狠拷打一下
1.这个项目是个什么性质的项目,是真实上线有用户使用的项目吗
2.怎么理解微服务的架构
3.SpringCloud和微服务的技术栈之间怎么配合的?
4.Spring、SpringBoot和SpringCloud之间的关系
5.Bean的生命周期
6.你这个系统包含哪些微服务,划分微服务的标准是什么,为啥这么划分(又问懵了,答得很糟糕)
7.数据库、缓存还有其他一些资源的一致性是怎么保证的(本地消息表实现的分布式事务,保证最终一致性)
8.除了本地消息表,还知道哪些方案(TCC,2PC)
9.为啥不选这些方案(项目中包含非数据库资源,没法用2PC,TCC业务入侵)
10.结合场景谈谈缓存穿透、缓存击穿怎么解决的
11.线程池的参数
然后就到45分钟了,马上就结束了,连反问都没有,尴尬,不过还是挺好的,个人感觉还是收获挺多的,最近背八股较多,项目准备的确实有很多问题,可惜的就是没把DDD拿出来给拷打一下