深入探讨近期面试经历:技术挑战与学习反思,帮助你在求职路上更进一步
面试经历分享
最近我参与了至少10家的面试,借此机会来发泄一下心中的烦恼。
我注意到面试官会深入探讨所使用的技术,这意味着我需要花费大量时间去补齐自己在项目中留下的知识漏洞,而补救的过程有时也会让问题变得更加复杂。
数据库面试问题
1. 数据库对比
在面试中,我被要求对MongoDB、PostgreSQL和MySQL进行比较。虽然之前在公司使用过这些数据库,但对它们的优缺点并不是很清楚,只是知道关系型数据库和非关系型数据库的基本区别。显然,我需要进一步深入研究这个主题。
2. 数据导入
面试官询问我关于数据导入的方式,尤其是如何在大数据量下实现批量导入。我提到可以对每个A批量导入其所包含的所有B物品,然而对于一个A具体有多少个B,我并没有确切的答案,最终只能含糊其辞。回想起来,我的回答似乎并不理想,未来我希望能够找到更合适的标准答案。
3. 其他问题
我还被问到了集群、索引和性能优化等问题,我对此的准备还算可以,感觉回答得也还不错。
消息队列面试问题
1. 为什么选择MQ
在被问及为什么使用消息队列时,我从MQ的优势出发,讨论了削峰、解耦和异步处理的问题。
2. 消息可靠性
我将消息可靠性分为三个阶段(生产、存储和消费),并详细阐述。这个问题在面试中经常出现,具体可以参考这篇文章《MQ 消息的可靠性、幂等性与有序性保障》。至于消息的幂等性,我觉得自己的回答并不够完善,未来需要进一步学习。
Redis 方面
1. Redisson分布式锁
在面试中,当我提到在项目中使用Redisson的限流器时,面试官对其原理进行了深入提问。我在网上查找相关资料时发现,B站的一些教程似乎并不系统,很多内容被培训机构的广告所覆盖。暂时没有找到系统讲解Redisson的好视频,希望有朋友能推荐。
Spring Cloud 相关问题
我之前的公司使用.NET,后面决定转向Java,所以学习了Nacos、Feign和Gateway等相关组件。
1. Spring Cloud与Dubbo的区别
当被问到Spring Cloud与Dubbo的区别时,我一时间感到懵逼,似乎不太能找到学习Dubbo的理由,因为我还有很多东西需要掌握。其实这个问题并不复杂,查阅一些资料就能理解,比如这篇文章《SpringCloud与Dubbo的区别与联系》。
2. Sentinel熔断机制
我发现这个知识点比我前面提到的组件更复杂,需要花费更多的时间去深入理解。