莉莉丝大数据测试实习生一面
40min
1.自我介绍
2.说一下项目的一个测试流程
3实习拷打
4.每个门店里订单数量排名前三的员工和他的订单数
❌错误解法(我的答案)Select name, count(order_id) from table desc limit 3 group by 门店id
✔gpt的解法:窗口函数
SELECT 门店id, name, COUNT(order_id) AS order_count FROM ( SELECT 门店id, name, order_id, ROW_NUMBER() OVER (PARTITION BY 门店id ORDER BY COUNT(order_id) DESC) AS rank FROM table_name GROUP BY 门店id, name ) ranked_orders WHERE rank <= 3 ORDER BY 门店id, rank;
5.标准的测试用例应该包含什么?
6.测试报表展示功能的时候发现报表上有个数据不对,应该怎么排查问题?
7.要上线了,但是还有几个重要的bug没改?
8.两个数组A, B,希望把A和B合并生成数组C,要求是1.数组C里没有重复数字,2.数组C从小到大排序。最少两种方法。
import java.util.*; public class MergeAndSort { public static List<Integer> mergeAndSort(int[] nums1, int[] nums2) { // 将两个数组合并 Set<Integer> set = new HashSet<>(); for (int num : nums1) { set.add(num); } for (int num : nums2) { set.add(num); } // 将结果从Set转换为List List<Integer> result = new ArrayList<>(set); // 排序 Collections.sort(result); return result; } public static void main(String[] args) { int[] nums1 = {1, 2, 2, 1}; int[] nums2 = {2, 3, 4}; List<Integer> result = mergeAndSort(nums1, nums2); System.out.println(result); // 输出:[1, 2, 3, 4] } }
时间复杂度:
合并与去重:将数组元素添加到 Set 中的时间复杂度是 O(n + m),其中 n 和 m 分别是两个数组的长度。
排序:排序的时间复杂度是 O(k log k),其中 k 是去重后数组的长度。
综合时间复杂度是 O(n + m + k log k)。
9.java方法重写和重载区别?
1.重写override,重载overload
2.重写是在不同的类:父类和子类,涉及到继承关系;重载是同一个类的不同方法,主要是为了提升代码灵活性;
3.重写要求方法名,参数列表,返回类型都相同,而重载只要求方法名相同;