招聘面试—关于Mysql的一点儿总结
最近半年,作为部门的面试官之一,参加了许多次招聘面试。数据库知识,尤其是对数据的增删改查等操作是软件测试人员的基本功,是面试过程中的必考项。在这其中,有一道题,是我每次面试的必考题。 题目 以Mysql为例,假设有一张数据库表 user_info ,第一列是id,用作唯一标识;第二列是 user_name ,即用户姓名;第三列是 some_data ,这是一列存储某某数值的列,比如用户的年收入、用户的年龄、用户完成的订单数等等。需求是, 找出这张表中,按第三列的数值降序排列,排在前5的所有用户记录 。 题解 显然,这道题中除了有基本的select语句、还有降序排序的基本用法,以及limit用法,因此,稍微有些基础的人便可以给出答案: select * from user_info order by some_data desc limit 0,5; 即使这道题没有涉及什么难点,但精准回答率也并不高(就我面试的情况,约为60%)。然而,写出如上答案还不算完,我会再次向候选人描述问题并确认是否回答完毕。 如果候选人表示回答完毕不需要修正,我会给出提示和引导—— 答案是否完整?是否遗漏了某些用户记录 ?这时,极个别的候选人会意识到 数值有重复 的情况。这已经不单单是Mysql的面试题了,还涉及到需求理解能力、逻辑思维能力等。 无论是否意识得到,我都会再进一步明确地提问,