阿里云开放平台一面

面试官是一位姐姐,很温柔,不会让人感到有压力。一上来先给我介绍了一下他们部门是做什么的,大概花了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 北京
感觉已经好厉害了
点赞 回复 分享
发布于 2023-03-14 19:18 江苏
之前不是有老哥说开放平台是边缘部门嘛。。
点赞 回复 分享
发布于 2023-03-13 13:47 浙江
哇塞聊了好多 牛哇
点赞 回复 分享
发布于 2023-03-13 12:18 甘肃
已经凉了
点赞 回复 分享
发布于 2023-03-13 12:04 广东
感觉还是不错的~蹲个后续面试
点赞 回复 分享
发布于 2023-03-13 12:00 山东
redis一致性问题那应该是先改数据库再删除缓存吗?
点赞 回复 分享
发布于 2023-03-13 11:48 上海

相关推荐

05-20 21:35
门头沟学院 Java
5.13总时长:1h30min1. 自我介绍、项目介绍2. 项目拷打:项目背景?自己完成了哪里?技术出彩的点?超卖的业务场景和解决细节?  1. 所有请求都在SET NX前面等待吗?重试的时间间隔是?有重试不就不公平了吗?锁的超时时间?为什么?一定能完成吗?  2. 为什么用Redis?不入库吗?丢了咋办?zset的数据结构是?具体实现细节是?  3. SET NX和SET EX是两步,中间挂了咋办?Spring的事务是怎么保证实现的?  4. 下一个项目:怎么分词的?3. 时间复杂度和空间复杂度怎么理解?二分查找的复杂度是多少?4. 常见的数据结构?(一开始答成数据类型被紧急叫停hhh)链表是什么?应用场景是?数组呢?哈希表的原理和结构?5. 树的结构还在哪些场景下使用?(丝滑转场到MySQL)innoDB的B+树是什么结构?xx场景下的xx字段适合建索引吗?6. HTTP和TCP分别工作在计网中的哪几层?Nginx中做TCP代理的话,能转发HTTP的请求吗?常见的HTTP状态码?HTTP返回readtimeout是为什么?(其实是处理太慢而不是连不上,答错了)7. 进程、线程、协程分别是什么?区别?8. 给代码说运行结果和原因9. Python写过吗?多进程会吗?(不会)C++写过吗?进程间通信的理论知识了解吗?10. a主机上一个进程上的一个线程要读取b主机内存中的一个数据,两个主机之间的层、数据、操作系统之类的交互过程是怎样的?如果是json报文(内存中——的话,内核态怎么从内存中取这部分数据(操作系统)?(说出了技术过程但不记得名字。。)11. Java中的垃圾回收器了解吗?讲一下。什么时候用标记-清理、标记-负值、标记-整理?12. 做题:二分查找和一个排序(感觉应该写快排但是写了归并,并且因为想优化写了20+min不知道是不是太慢了)13. 归并排序的优缺点是什么?归并和快排在复杂度上是什么区别?最坏情况下快排的复杂度?14. 反问  1. 贵公司对实习生的要求:主要看基础和学习成长能力,项目经验没那么看重  2. 很想问表现怎样,但是还是问不出口
查看18道真题和解析 阿里求职进展汇总
点赞 评论 收藏
分享
评论
6
32
分享

创作者周榜

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