# zs-interview-question **Repository Path**: king_max/zs-interview-question ## Basic Information - **Project Name**: zs-interview-question - **Description**: 用于回答“桌识基金”公司的面试题 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-31 - **Last Updated**: 2025-05-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # zs-interview-question #### 介绍 用于回答“桌识基金”公司的面试题 #### 第一题 这个有向无环图 (DAG) 依赖解析器的设计考虑了以下几个方面: 数据结构选择: - 使用邻接表 (graph) 表示图的正向连接关系 - 使用逆邻接表 (reverse_graph) 表示图的反向连接关系,便于查找父节点 - 使用集合 (nodes) 存储所有节点,确保唯一性 依赖解析算法: - 使用广度优先搜索 (BFS) 收集所有依赖节点 - 使用 Kahn 算法进行拓扑排序,确保节点顺序满足依赖关系 - 反转拓扑排序结果,得到依赖顺序(从叶节点到根节点) 配置与扩展性: - 支持从 JSON 配置文件加载图结构 - 模块化设计,便于扩展其他功能(如循环检测、节点属性等) 错误处理: - 检查节点是否存在于图中 - 配置文件加载错误处理 - 提供明确的错误信息 #### 第二题 以上代码实现了一个基于 JSON-RPC 的简单应用,包括服务端和客户端。主要功能和特点: 服务端监听指定端口接收客户端请求 实现了三个远程方法: 1. add(a, b):计算两个数的和 2. division(a, b):计算两个数的商 3. system(command):执行系统命令并返回结果 支持基于用户名和密码的认证机制,密码以 SHA-256 哈希形式存储 完整的错误处理和 JSON-RPC 规范支持 使用 OpenAPI 3.0 规范定义 API 文档