包含基础题目和【24届研发岗附加题】
p.s:研发岗有2套试题,通过任意一套即可进入面试。建议优先做正常的研发笔试,附加题有难度,建议放在后面完成。
system.gc可以回收堆外内存吗
最小代价知道当前jvm内存中占用最多的对象是什么, 用什么命令
归并排序两个长度为10的有序表,最多需要比较多少次
threadlocal是线程安全的吗
使用threadlocal不用担心内存问题?
数据库字段不唯一时,应该使用那种索引? 普通索引
给一个整数数组和一个目标值T,找出该数组中和为2的两个数(一定存在),至少需要遍历几次数组
爬楼梯问题
一个四位数,前两个数字一样,后两个数字一样, 是一个完全平方数,门锁密码是? 7744
有DNA字符序列A和DNA字符序列B, 现在需要将A转换成B,插入一个字符消耗为x,删除一个字符消耗为y,替换一个字符消耗为z,将A转换为B最小的消耗是多少
public static int solution(String A, String B, int x, int y, int z) {
int m = A.length();
int n = B.length();
// 创建一个二维数组存储转换的最小消耗
int[][] dp = new int[m + 1][n + 1];
// 初始化第一行和第一列
for (int i = 0; i <= m; i++)
dp[i][0] = i * y;
for (int j = 0; j <= n; j++)
dp[0][j] = j * x;
// 动态规划计算最小消耗
for (int i = 1; i <= m; i++) {
for (int j = 1; j <= n; j++) {
if (A.charAt(i - 1) == B.charAt(j - 1))
dp[i][j] = dp[i - 1][j - 1];
else {
int insert = dp[i][j - 1] + x;
int delete = dp[i - 1][j] + y;
int replace = dp[i - 1][j - 1] + z;
dp[i][j] = Math.min(Math.min(insert, delete), replace);
}
}
}
return dp[m][n];
}
编写一条sql,查询test表中重复2次及以上的车牌, test表包含 id和car
SELECT car
FROM test
GROUP BY car
HAVING COUNT(car) >= 2;
现在有人员耗时表 (name, cost),汇总每个人的耗时, 求单条记录与个人汇总耗时占比,sql查出一张结果表(name,cost,用户总耗时,单项耗时占比)展示
SELECT t.name, t.cost, totals.total_cost, (t.cost / totals.total_cost) AS percentage
FROM your_table_name t
JOIN (
SELECT name, SUM(cost) AS total_cost
FROM your_table_name
GROUP BY name
) totals
ON t.name = totals.name;
一本书里有100万个单词,判断其中可能写错的单词有哪些,并给出可能正确的拼写,评估方案的时间复杂度和空间复杂度
有一个数据表,有三个字段A,B,C,一共1000万行,字段A有不同的值100万个,字段B有不同的值10万个,以字段A为行维度,字段B为列维度,得到一个100万行,10万列的一个表,在浏览器中显示这个交叉表,每页显示100行,10列,显示第一页的数据以及总页数的时间和空间复杂度是什么样的,输入页码返回对应页码数据的时间复杂度和空间复杂度是什么样的
逻辑题目:5个海盗分赃问题、村子里的疯狗问题
基本都做出来了,然后最后跟我说不匹配?不匹配你发什么笔试题浪费我时间,服了。
无法理解