5.22 一个半小时 20道不定项选择题 2道编程题 1道场景题场景题:mysql解决方案,学生评分总分统计。每日100万条数据,给了数据库字段:id,学生id、教师id、分数、创建时间等,需要按照日、周、月三个维度统计学生总分。现在需要给一个解决方案,要求不影响数据库性能,提高查询效率。答:学生字段,时间字段加索引; 每日统计完保存日视图,方便周查询,同理查询周视图,方便月查询。编程题1:奇怪的计数器,1 2 3 4 5计数,下一轮翻倍,1~10计数,下一轮再翻倍1~10计数,输入n,输入计数到哪个数?纯文本编程,无调试环境。类比成二叉树来计算,5个数当成一个结点,先计算出在那一层,再输出数到哪个数。编程题2:金额分配给订单问题,给了输入输出样例。(样例数据已经忘了。。)金额:[A, 30]、[B, 20]、[C,40]订单:[X,40]、[Y, 30]、[Z, 5]输出:订单:{ X[{A,30}、{B,10}]、Y[{B,10},{C,20}]、Z[C,5]}剩余金额:{[A,0] [B,0] [C,15]}输入输出类型都没给,全靠自己想。。。场景题和编程题全放在中间,把控不好时间没写完。思路大概用TreeMap记录金额、订单然后遍历计算。选择题:很多道代码块输出结果,比如创建线程输出顺序,继承输入重写方法结果,其他的大多考察Java基础知识,回想大概有修饰符protected, static final相关,HashMap相关哈希冲突,Set,多态,抽象类继承,jvm知识,mysql隔离级别,数据结构,不定项不太好选,不确定的题目有好多。。。