阿里云开放平台一面

面试官是一位姐姐,很温柔,不会让人感到有压力。一上来先给我介绍了一下他们部门是做什么的,大概花了10分钟左右,总结来说就是提供Open API 给用户、生态合作伙伴,是他们能够快速构建云上自动化运维体系,算是核心部门。

接下来面试开始,她让我自我介绍,着重说一下做过哪些项目,里面遇到了哪些问题,是如何解决的,说要从中考察我的沟通能力。最好是讲成小白都能听懂的程度。

讲的过程中面试官问了很多细节,包括:

某个地方为什么要读写分离?如果写失败了会影响业务吗?这里你用了多线程,是怎么考虑的?为什么读写分离是可行的?

为什么使用neo4j图数据库而不是其他的?有做过调研吗?如果这块业务现在让你重新设计,你会怎么做?

服务注册为什么用zookeeper而不是k8s?redis里面存的数据是如何保证一致性的?有做额外的保证措施吗?

用kafka来实现消息通知发布,在业务中需要消息是有序的吗?怎么实现的?

这些问题我答的不是很好,近期主要背八股去了,所以一被问到细节就会懵一会儿,然后kafka那块我只是用过,具体实现原理我不知道,就也回答的很吃力。

中间问了一些八股,主要有:

redis底层数据结构;redis缓存雪崩,击穿,穿透等;持久化的两种方式和区别;内存淘汰策略;然后再次问项目里使用redis是怎么保证数据一致性的,还说使用redis最大的问题就是不能保证数据的一致性,这里我回答的是先改缓存再改数据库。

说说你对微服务的理解;maven如何解决依赖冲突?A引用了B的的一个版本,C又引用B的另一个版本,B的版本是怎么确定的?scope的作用?

java的hashmap的fastfail机制(不会);synchronized会发生死锁吗?为什么?CAS锁底层实现原理;线程sleep和wait的区别,会释放对象锁吗?分别什么时候使用?jvm内存溢出和内存泄露的区别,分别有哪些场景?如何避免内存泄漏?(在finally块释放资源)看过jdk源码吗?(有,但不多。。。)

最后问了full gc和minor gc的区别以及主要的过程?

总结:项目部分拉跨了,Redis那部分答得还行,但是java那块涉及到底层原理的就答得不是很好了,更别说后面maven部分的问题了,这里完全凭以前仅有的一点印象回答的。

后面聊天的时候面试官说其实maven里还有好多问题可以问的,而且Spring,SpringMVC,SpringBoot,Mybatis,kafka这些也还有很多可以问的,感觉她的意思是我还没发力呢你就倒下了。

总体就是这样,还得加油啊。

全部评论
一起加油
3
送花
回复 分享
发布于 2023-03-12 00:04 北京
redis一致性问题那应该是先改数据库再删除缓存吗?
点赞
送花
回复 分享
发布于 2023-03-13 11:48 上海
秋招专场
校招火热招聘中
官网直投
感觉还是不错的~蹲个后续面试
点赞
送花
回复 分享
发布于 2023-03-13 12:00 山东
已经凉了
点赞
送花
回复 分享
发布于 2023-03-13 12:04 广东
哇塞聊了好多 牛哇
点赞
送花
回复 分享
发布于 2023-03-13 12:18 甘肃
之前不是有老哥说开放平台是边缘部门嘛。。
点赞
送花
回复 分享
发布于 2023-03-13 13:47 浙江
感觉已经好厉害了
点赞
送花
回复 分享
发布于 2023-03-14 19:18 江苏
请问你面的什么岗位啊
点赞
送花
回复 分享
发布于 2023-03-15 08:15 湖北

相关推荐

点赞 评论 收藏
分享
5 28 评论
分享
牛客网
牛客企业服务