最近拿到了通义千问的测试资格,用上次 对 ChatGPT 做一次技术面试 所用过的问题尝试了一下。
问:对一个系统的描述如下:系统中有大量注册用户,用户可以关注其他用户。用户可以发布消息,消息包含发布者、发布时间和可见性。消息的可见性可以是公开、不公开或仅对关注自己的用户可见。请设计这个系统的数据库表。
答:根据描述,可以设计以下数据库表:
用户表(users)
用户ID(id) -用户名(username) -密码(password) -邮箱(email) 注册时间(registration_time) 注册状态(registration_status)
关注表(follows)
关注ID(id) 关注者ID(follower_id) 被关注者ID(followed_id) 关注时间(follow_time)
消息表(messages)
消息ID(id) 发布者ID(publisher_id) 发布时间(publication_time) 消息内容(content) 可见性(visibility) 阅读状态(read_status)(未读、已读)
消息回复表(message_replies)
消息回复ID(id) 发布者ID(publisher_id) 回复时间(reply_time) 回复内容(content) 对应消息ID(message_id)
其中,用户表和关注表用于记录用户信息和用户之间的关注关系;消息表用于记录用户发布的消息;消息回复表用于记录用户对其他用户发布的消息的回复。根据需求,可以添加其他字段和相关的约束条件。
问:消息表的阅读状态和回复表是多余的,我的需求当中没有提及。请简化一下设计
答:非常抱歉,我的设计中确实存在多余的字段。根据描述,可以简化以下数据库表:
用户表(users)
用户ID(id) -用户名(username) -密码(password) -邮箱(email) 注册时间(registration_time) 注册状态(registration_status)
关注表(follows)
关注ID(id) 关注者ID(follower_id) 被关注者ID(followed_id) 关注时间(follow_time)
消息表(messages)
消息ID(id) 发布者ID(publisher_id) 发布时间(publication_time) 消息内容(content)
消息回复表(message_replies)
消息回复ID(id) 发布者ID(publisher_id) 回复时间(reply_time) 回复内容(content)
其中,用户表和关注表用于记录用户信息和用户之间的关注关系;消息表用于记录用户发布的消息;消息回复表用于记录用户对其他用户发布的消息的回复。阅读状态可以根据需要添加,如果不需要可以不用设计。希望这次设计能够满足您的需求。
总结:不论是问 ChatGPT 还是 Claude,它们给出的设计都是前面三张表。而通义千问回答当中多出来的第四个消息回复表,是它自己加戏弄出来的(挺有要性的哈,但我不需要)。虽然我给出了明确要求,系统还是没按要求去除消息回复表,说明它无法理解我的表述。总之通义千问目前基本上不具备可用性。没有必要再问下去了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。