面试题复习
- 电脑硬件
- 2025-09-04 12:21:02

1. 双向链表数据结构
双向链表(Doubly Linked List)是一种链表数据结构,它的每个节点除了包含数据域外,还包含两个指针,一个指向前一个节点(前驱节点),另一个指向后一个节点(后继节点)。这种结构使得双向链表在遍历和操作上更加灵活,既可以正向遍历,也可以反向遍历。 以下是双向链表的基本特点和常见操作: 特点 节点结构:每个节点包含三个部分:数据元素、指向前一个节点的指针(prev)和指向后一个节点的指针(next)。 双向遍历:可以从链表的头节点开始正向遍历,也可以从尾节点开始反向遍历。 插入和删除操作:在双向链表中插入和删除节点相对简单,因为可以通过前驱和后继指针直接定位到相关节点。 常见操作 插入节点: 在头部插入:创建新节点,将新节点的 next 指针指向原头节点,原头节点的 prev 指针指向新节点,然后将头指针指向新节点。 在尾部插入:创建新节点,将尾节点的 next 指针指向新节点,新节点的 prev 指针指向尾节点,然后将尾节点更新为新节点。 在指定节点后插入:创建新节点,新节点的 next 指针指向指定节点的 next 节点,新节点的 prev 指针指向指定节点,指定节点的 next 节点的 prev 指针指向新节点,指定节点的 next 指针指向新节点。 删除节点: 删除头节点:将头指针指向原头节点的 next 节点,原头节点的 next 节点的 prev 指针设为 null。 删除尾节点:将尾节点的 prev 节点的 next 指针设为 null,尾节点更新为原尾节点的 prev 节点。 删除指定节点:将指定节点的 prev 节点的 next 指针指向指定节点的 next 节点,指定节点的 next 节点的 prev 指针指向指定节点的 prev 节点。 遍历链表: 正向遍历:从头部开始,通过 next 指针逐个访问节点,直到节点为 null。 反向遍历:从尾部开始,通过 prev 指针逐个访问节点,直到节点为 null。
2. http所有状态码,及解决方法HTTP 状态码是用于表示 HTTP 请求的结果的三位数字代码,分为 5 个类别,分别以 1 - 5 开头。以下是详细介绍及部分状态码常见的解决方法: 1xx(信息性状态码) 这些状态码表示临时的响应,客户端通常只需等待下一个响应。 100 Continue: 含义:客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。 解决方法:一般无需客户端做额外处理,继续发送请求剩余部分即可。 2xx(成功状态码) 表示请求已成功被服务器接收、理解、并接受。 200 OK: 含义:请求成功,请求所希望的响应头或数据体将随此响应返回。 解决方法:正常处理响应数据。 201 Created: 含义:请求已经被实现,而且有一个新的资源已经依据请求的需要而建立,且其 URI 已经随 Location 头信息返回。 解决方法:可根据 Location 头信息访问新创建的资源。 204 No Content: 含义:服务器成功处理了请求,但不需要返回任何实体内容。 解决方法:无需处理响应数据,可根据业务逻辑进行后续操作。 3xx(重定向状态码) 表示需要客户端采取进一步的操作才能完成请求。 301 Moved Permanently: 含义:被请求的资源已永久移动到新 URI,客户端应使用新的 URI 访问。 解决方法:更新本地记录的资源 URI,使用新的 URI 重新发起请求。 302 Found: 含义:请求的资源临时从不同的 URI 响应请求。 解决方法:暂时使用响应中 Location 字段指定的 URI 重新发起请求。 304 Not Modified: 含义:表示资源未被修改,可以使用缓存的版本。 解决方法:使用本地缓存的资源。 4xx(客户端错误状态码) 表示客户端可能存在错误,妨碍了服务器的处理。 400 Bad Request: 含义:由于明显的客户端错误(如格式错误、参数缺失等),导致服务器不能或不会处理该请求。 解决方法:检查请求参数、格式等是否正确,修正后重新发起请求。 401 Unauthorized: 含义:请求需要用户验证。通常在响应中会包含一个 WWW - Authenticate 头,用于提示用户如何进行身份验证。 解决方法:提供正确的身份验证信息(如用户名和密码),重新发起请求。 403 Forbidden: 含义:服务器理解请求客户端的请求,但是拒绝执行此请求。可能是因为权限不足等原因。 解决方法:检查用户权限,联系服务器管理员获取相应权限。 404 Not Found: 含义:请求的资源未在服务器上找到。 解决方法:检查请求的 URI 是否正确,确认资源是否存在或已被移动。 405 Method Not Allowed: 含义:请求行中指定的请求方法不能被用于请求相应的资源。 解决方法:检查请求使用的 HTTP 方法(如 GET、POST 等)是否正确,使用正确的方法重新发起请求。 5xx(服务器错误状态码) 表示服务器在处理请求的过程中发生了错误。 500 Internal Server Error: 含义:服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。 解决方法:等待服务器修复问题,或者联系服务器管理员排查错误。 502 Bad Gateway: 含义:作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。 解决方法:检查网络连接,等待上游服务器恢复正常,或者联系服务器管理员处理。 503 Service Unavailable: 含义:由于临时的服务器维护或者过载,服务器当前无法处理请求。 解决方法:等待一段时间后重新发起请求,或者联系服务器管理员了解维护情况。 504 Gateway Timeout: 含义:充当网关或代理的服务器,未及时从上游服务器接收请求。 解决方法:检查网络连接,等待上游服务器响应,或者联系服务器管理员处理。
上一篇
单表数据文件坏块检查及恢复