算法篇 (正常应该用Java做,Python代码比较短,直接写Python版本的)
题目一 input一个列表,内容是成绩,output一个列表,结果是对应的排名
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 data = [90 , 85 , 90 , 95 ] sorted_unique_data = sorted (set (data), reverse=True ) mapping = {value: rank + 1 for rank, value in enumerate (sorted_unique_data)} result = [mapping[score] for score in data] print (result)
题目二 给定一个dto list,里面包含年级、成绩、姓名,求出每个年级的平均成绩
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 dto_list = [ {"grade" : 10 , "score" : 85 , "name" : "Alice" }, {"grade" : 10 , "score" : 90 , "name" : "Bob" }, {"grade" : 11 , "score" : 75 , "name" : "Charlie" }, {"grade" : 11 , "score" : 80 , "name" : "David" }, {"grade" : 12 , "score" : 95 , "name" : "Eve" } ] grade_scores: dict [int , dict [str , int ]] = {} for dto in dto_list: grade = dto["grade" ] score = dto["score" ] if grade not in grade_scores: grade_scores[grade] = {"total_score" : 0 , "count" : 0 } grade_scores[grade]["total_score" ] += score grade_scores[grade]["count" ] += 1 for grade in grade_scores: avg_score = grade_scores[grade]["total_score" ] / grade_scores[grade]["count" ] print (f"年级 {grade} 的平均成绩是: {avg_score:.2 f} " )
SQL 篇 算法篇题目二的内容构成一张表,取出各年级平均成绩
1 2 3 4 5 6 7 SELECT grade, AVG (score) AS average_score FROM students GROUP BY grade;
很简单,但是我忘记 SQL 语法了。。。没答上来,确实太久没写了😭
Java篇 题目一 值引用的问题。 基本数据类型会被改变,引用类型只会改变地址,不会改变对象。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public class Main { public static void main (String[] args) { String s = "123" ; int a = 1 ; changeString(s); changeInt(a); System.out.println(s); System.out.println(a); } public static void changeString (String tmp) { tmp = "234" ; } public static void changeInt (int tmp) { tmp = 3 ; } }
想要改变值只能 return 改变。
题目二 final 作用在类、方法、常量上分别有什么作用 答案
1 2 3 4 1. 修饰常量,值不可变 2. 修饰对象,值可变,引用不变 3. 修饰方法,方法不可重写 4. 修饰类,无子类不可以被继承,更不可能被重写
之前确实没想过修饰对象的问题,记录一下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 class Test { void print () { System.out.println("test" ); } } public class Main { public static void main (String[] args) { final Test a = new Test (); a = new Test (); } }
测试篇 问题一 以 UT 为例,怎么保证测试分支全部覆盖?
1 利用 True/False 标注以及 Jacoco 等测试工具综合判断。
问题二 IT 的 Case 是自己写的吗?根据什么写的?
问题三 A && B || C
,这种条件下,如果 A 是 True、B 是 False、C 是 True,最终结果是什么?
1 2 True 先看 True && False 是 False,False || True 是True。
日语篇 提 QA 的时候,像客户反映问题。指定场景回答对应的日文。
问题一 A 条件和 B 条件的顺序应该反过来,并不是先判断 A 再判断 B。
1 2 答案来自 ChatGPT A 条件と B 条件の順序は逆であるべきです。A を先に判断するのではなく、B を先に判断すべきです。
问题二 变量 X 只被使用过一次,应该放在方法内作为局部变量。
1 2 答案来自 ChatGPT 変数 X は一度しか使用されていないため、メソッド内のローカル変数として定義するべきです。