视源股份CVTE 8.17 web后台开发笔试
20道选择题 + 2道编程题 + 1道问答题
选择题考得非常非常细,基本上每个选项之间差异不大,难度还是有的,而且其中有多选题。以下记录了我不太确定的一些题目
- 给出IPv4地址求出兼容的IPv6地址
- 给出子网掩码,求最大可以连接多少台主机
- 给出非连通无向图的边数,求至少需要多少个顶点
- java弱引用能转换为强引用吗?
- MySQL的关键字执行顺序
- synchronized是否具有传递性(父类方法加了synchronized,子类方法是否也继承)
编程题(给的是一个txt文本框,0代码提示,第一题还能自动补充括号,第二题真的就是个txt,很考验你的编码能力,核心代码模式。)
1. lc128 最长连续序列
public int longestConsecutive(int[] nums) { if (nums.length < 2) { return nums.length; } Arrays.sort(nums); int temp = 1; int result = 1; for (int i = 1;i < nums.length;i++) { int diff = nums[i] - nums[i - 1]; // 去重 if (diff == 0) { continue; } // 连续 if (diff == 1) { temp++; }else { // 不连续 result = Math.max(result, temp); temp = 1; } } return Math.max(result, temp); }
2. 有一个文件里面存储了全国人口的年龄,年龄之间用逗号分隔,需要统计每个年龄的人数,年龄范围0~110 (没什么难度主要就是考验一下变成基本功,看看没有ide的情况能否写出来,使用io记得捕捉异常即可)
import java.util.*; public class Test { public static Object count(String filePath) { try (BufferedReader br = new BufferedReader(new FileReader(new File(filePath)))) { String info = br.readLine(); String[] ages = info.split(","); long[] result = new long[111]; for (String age : ages) { int index = Integer.parseInt(age); result[index] = result[index]++; } return result; } catch (Exception e) { e.printStackTrace(); } return null; } }
问答题
给了一个业务系统,分析其高并发的场景有哪些,如果提高QPS和保证高可用,一些数据怎么保证实时性and准确性。
总的来说,考得太细了,知识盲区还是存在的,编程题不给调试的话基本上出点小问题就没了。估计凉凉了
#广州视源电子科技股份有限公司##Java##后端开发##秋招##笔经#