Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[功能] 支持混合部门面试功能 #13

Open
XmmShp opened this issue Feb 18, 2025 · 2 comments
Open

[功能] 支持混合部门面试功能 #13

XmmShp opened this issue Feb 18, 2025 · 2 comments
Labels
enhancement New feature or request info-needed Need more info to locate the problem, feature, etc

Comments

@XmmShp
Copy link
Contributor

XmmShp commented Feb 18, 2025

您的功能建议是否与某个问题相关?

当前仅允许用户选择单一部门开展面试,希望在开展面试时支持多选,部分学生组织会在一场面试中混合几个部门的面试

描述您想要的解决方案

描述您考虑过的替代方案

No response

补充说明

No response

@XmmShp XmmShp added the enhancement New feature or request label Feb 18, 2025
@x6eull
Copy link
Collaborator

x6eull commented Feb 18, 2025

混合部门面试一直是比较难做的功能之一。

在系统上,我们预留了默认部门的设计,在不添加部门志愿题时,所有报名者将分配到默认部门,以便统一管理。(为了避免和创建的有效部门冲突,该部门目前处于隐藏状态)该设计主要是考虑到结构上有多部门但进行统一面试的组织,其可以使用普通的选择题来填写意向部门,以避免创建独立志愿。

由于目前是每个志愿独立管理,并和面试安排一对一关联,要考虑混合面试,必须解决以下问题:

  • 是否可以使用“默认部门”来统一面试?如果是统一面试,但需要分别管理志愿,是否可以考虑添加统一面试的设计而非一般的混合部门面试?如果是主要统一面试+部分部门特殊处理,是否可以使用多个表单并添加类似关联的功能?
  • 如果意向部门和面试的部门重叠数量为复数如何处理?
  • 目前,部门id是面试表字段之一,如何迁移到存储复数部门,且在保证性能的同时又不添加复杂性?

@x6eull x6eull added the info-needed Need more info to locate the problem, feature, etc label Feb 18, 2025
@XmmShp
Copy link
Contributor Author

XmmShp commented Feb 18, 2025

  1. 默认部门是一个优秀的设计,尤其是对于小型学生组织(例如:社团)
  2. 混合部门面试功能主要是针对“面试安排”环节的设计:比如一个具有ABC三个部门的组织,可能会安排AB,AC,BC的混合面试
  3. 在“用户报名面试”这一语境中,用户和面试的关系应该有且仅有“可参加”和“不可参加”,即志愿和面试安排有交集就应该为“可参加”,至于面试内如何面试是相关组织应该讨论的问题
  4. 原则上,当通过ABC志愿的面试者参加一场AB的混合面试后,面试者在该阶段应该只允许参加C部门的面试(这一点有待商榷,可能有些组织方案不同,或许可以配置一个可选开关?)
  5. 对于数据库字段设计
    1. 新建一张join表用于join部门和面试
    2. 使用字符串模拟保存数组数据
    3. 用uint32/uint64,位压缩保存0-31/63号部门的信息,判断重叠也只需要and一下(缺陷是把部门数量限制在了32/64个以内)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request info-needed Need more info to locate the problem, feature, etc
Projects
None yet
Development

No branches or pull requests

2 participants