最近拿到了通义千问的测试资格,用上次 对 ChatGPT 做一次技术面试 所用过的问题尝试了一下。


问:对一个系统的描述如下:系统中有大量注册用户,用户可以关注其他用户。用户可以发布消息,消息包含发布者、发布时间和可见性。消息的可见性可以是公开、不公开或仅对关注自己的用户可见。请设计这个系统的数据库表。

答:根据描述,可以设计以下数据库表:

  1. 用户表(users)

     用户ID(id) -用户名(username) -密码(password) -邮箱(email)
     注册时间(registration_time)
     注册状态(registration_status)
  2. 关注表(follows)

     关注ID(id)
     关注者ID(follower_id)
     被关注者ID(followed_id)
     关注时间(follow_time)
  3. 消息表(messages)

     消息ID(id)
     发布者ID(publisher_id)
     发布时间(publication_time)
     消息内容(content)
     可见性(visibility)
     阅读状态(read_status)(未读、已读)
  4. 消息回复表(message_replies)

     消息回复ID(id)
     发布者ID(publisher_id)
     回复时间(reply_time)
     回复内容(content)
     对应消息ID(message_id)

    其中,用户表和关注表用于记录用户信息和用户之间的关注关系;消息表用于记录用户发布的消息;消息回复表用于记录用户对其他用户发布的消息的回复。根据需求,可以添加其他字段和相关的约束条件。


问:消息表的阅读状态和回复表是多余的,我的需求当中没有提及。请简化一下设计

答:非常抱歉,我的设计中确实存在多余的字段。根据描述,可以简化以下数据库表:

  1. 用户表(users)

     用户ID(id) -用户名(username) -密码(password) -邮箱(email)
     注册时间(registration_time)
     注册状态(registration_status)
  2. 关注表(follows)

     关注ID(id)
     关注者ID(follower_id)
     被关注者ID(followed_id)
     关注时间(follow_time)
  3. 消息表(messages)

     消息ID(id)
     发布者ID(publisher_id)
     发布时间(publication_time)
     消息内容(content)
  4. 消息回复表(message_replies)

     消息回复ID(id)
     发布者ID(publisher_id)
     回复时间(reply_time)
     回复内容(content)

    其中,用户表和关注表用于记录用户信息和用户之间的关注关系;消息表用于记录用户发布的消息;消息回复表用于记录用户对其他用户发布的消息的回复。阅读状态可以根据需要添加,如果不需要可以不用设计。希望这次设计能够满足您的需求。


总结:不论是问 ChatGPT 还是 Claude,它们给出的设计都是前面三张表。而通义千问回答当中多出来的第四个消息回复表,是它自己加戏弄出来的(挺有要性的哈,但我不需要)。虽然我给出了明确要求,系统还是没按要求去除消息回复表,说明它无法理解我的表述。总之通义千问目前基本上不具备可用性。没有必要再问下去了。


捏造的信仰
2.8k 声望272 粉丝

Java 开发人员