java吧 关注:1,241,065贴子:12,714,772

公司复试问题,,求大佬解答。现场你提出具体的解决方案,比如一

只看楼主收藏回复

公司复试问题,,求大佬解答。
现场你提出具体的解决方案,比如一张表里存学生的生份证号,表中有100万条数据,让你求学生的平均年龄。求实现的思路和sql语句。


IP属地:安徽来自Android客户端1楼2020-08-16 15:30回复
    1


    IP属地:安徽来自Android客户端2楼2020-08-16 15:36
    回复
      1


      IP属地:安徽来自Android客户端3楼2020-08-16 15:46
      回复
        1


        IP属地:安徽来自Android客户端4楼2020-08-16 15:53
        回复
          董事长问技术格局也太小了吧


          IP属地:中国香港来自iPhone客户端5楼2020-08-16 17:11
          回复
            公司太小了。。面个试还能见到董事长?


            IP属地:广东来自iPhone客户端6楼2020-08-16 18:05
            回复
              把平均年龄缓存起来,不要每次求都去数据库计算。


              IP属地:广东来自Android客户端8楼2020-08-16 19:45
              回复
                这董事长挺闲


                IP属地:日本来自Android客户端9楼2020-08-16 23:23
                回复
                  搞个定时任务,每天总计一次,把结果存起来,反正100w数据的平均值,每天的数据估计都不带变的


                  IP属地:湖北来自Android客户端10楼2020-08-17 03:13
                  收起回复
                    可能


                    IP属地:重庆来自Android客户端11楼2020-08-17 05:55
                    回复
                      字符串截取获取生日,日期计算函数计算距离现在的年份获取年龄,然后计算平均值的函数就不用我说了吧


                      IP属地:福建来自Android客户端12楼2020-08-17 07:04
                      收起回复
                        连日期计算函数都不用,只计算年龄,拿现在年份减去出生年份就是年龄了


                        IP属地:福建来自Android客户端13楼2020-08-17 07:07
                        收起回复
                          如果还要考虑运算时间的话就考得深了,排序算法就要想想了


                          IP属地:澳大利亚来自iPhone客户端14楼2020-08-17 07:11
                          收起回复
                            一百万条身份证读入内存,其他什么也不做。读取当前年份,遍历身份证,取年份减当前日期所得的差求和,最后用和除以人数。时间复杂度为O(n),不懂怎么优化了。


                            来自Android客户端15楼2020-08-17 08:30
                            收起回复