📅  最后修改于: 2023-12-03 15:36:05.944000             🧑  作者: Mango
本文是我在亚马逊公司参加的一次面试经历,面试设置为145(校外),以下是我在面试中遇到的问题和我的回答。
我的项目是一个基于 SpringBoot 的在线购物商城,包括前台商城和后台管理系统。我主要负责了商城的前台部分开发,使用了 SpringBoot、MyBatis、Redis 等技术。
HTTP 协议是一个基于请求和响应的协议,使用 URI 来定位资源。它包含了请求报文和响应报文,报文中包含了请求方式、请求头、请求体和响应码等信息。
HTTP 状态码是服务器对于客户端请求的响应状态,常见的状态码有 200、404、500 等。其中,200 表示成功,404 表示未找到资源,500 表示服务器内部错误。
分布式系统是由多个独立计算机组成的系统,通过网络连接进行通信和协调工作,提高了系统的可伸缩性、可靠性和高可用性。分布式系统的核心思想是将一个大问题分解成若干个小问题,由多台机器同时处理,最终汇总结果。
我通过使用分布式锁来保证数据的一致性,避免出现覆盖问题。在代码中,我使用了 Redis 实现了分布式锁。当多个线程需要对同一数据进行操作时,会同时尝试获取锁,只有获取锁成功的线程才能执行对数据的操作。这样可以避免多个线程同时修改同一数据,导致数据被覆盖的问题。
这次面试虽然有些紧张,但是也让我对于自己的技术水平有了一个更清晰的认知。同时也发现了自己的不足之处,希望能够更好的提升自己的技能,为未来的工作打下坚实的基础。