# interviews **Repository Path**: yinfn/interviews ## Basic Information - **Project Name**: interviews - **Description**: 上机面试 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-04 - **Last Updated**: 2024-12-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Interviews 上机实践面试 ## 要求 * 请使用本人最熟悉的技术栈来实现上述功能。 * 开发过程中可使用任何工具。 * 考察标准: * 功能完成度:50%。 * 功能正确性:30%。 * 源码可读性:20%。 ## 题目 请现场开发一款移动端APP,实现任务清单功能。 ### 第一部分 实现任务的『添加』、『编辑』、『完成』、『删除』四个功能。 布局参考建议(**可自由发挥**): * 应用分顶部导航栏(固定)与主内容区两部分。 * 导航栏中心位置展示标题『任务清单』。 * 导航栏右上角展示『添加』按钮。 * 主内容区展示任务列表。 * 任务项左侧展示`Checkbox`: * 未完成的任务不选中。 * 已完成的任务选中。 * 任务项右侧展示标题: * 未完成的任务文字正常显示,点击进入编辑状态。 * 已完成的任务在文字上方显示删除线,不可编辑。 * 任务项左滑展示『删除』按钮。 功能参考建议(**可自由发挥**): * 任务排序: * 按照添加顺序的倒序排列。 * 优先展示未完成任务,即所有已完成任务排到底部。 * 添加任务:点击添加按钮,在任务列表顶部添加一项新的任务项,并进入编辑状态。 * 退出编辑:若焦点离开任务项,则退出编辑模式。 * 进入编辑:点击任务的标题,则进入编辑模式。 * 完成任务:点击任务左侧的`Checkbox`,则完成当前任务。 * 删除任务:左滑任务项, 开发完成后,需安装到现场面试官提供的手机里,Android或iOS均可,两者都安装成功有加分。 ### 第二部分 若完成上一部分并由现场面试官确认后,可继续开发本实践内容: * 现场自学GraphQL。 * 现场自学docker或podman。 * 使用docker compose在本地启动GraphQL服务器。 * 根据`graphql/schema.graphqls`文件修改代码,实现从远程接口中读写数据。