- 自我介绍(个人+学校+实习收获)
- 是否存在其他offer,或者存在流程中
- 实习拷打实习问题
- 京东结算页进行数据预热的时机是什么?
- 主站商品,点击购买弹起的结算页?
- 预热的时机是什么?
- 怎么理解结算页前台,和结算页中台?用户是否感知?
- 提供的预热接口都做了哪些事情呢?
- 结算页中台,缓存,预热流程还没有结束,我们应该怎么做?
- 缓存维度是什么?每次点开结算页是否在请求一次呢?
- 京东这边是否还在实习,没有考虑在京东转正吗?是否有提转正申请?
- 主导收单迁移说一下
- 基础知识
- 数据库知识:
- 联合索引,举例子 建立了(a,b,c) 联合索引,范围查询的时候 只用到了 a,c,索引的使用情况,并分析其原因;
- 联合索引底层数据结构是什么样子的?非叶子节点是什么的
- 实际问题:使用手机号作为主键的优缺点手机号是否有序?
- Java 语言基础
- Java 中继承和多态的概念
- Java 中访问限定修饰符的概念
- 算法题:比较版本最大值,版本号示例为:"1.2.1", "1.2",1.2.1 > 1.2
import java.util.Arrays;
public class MaxVersionFinder {
public static void main(String[] args) {
// 示例版本号数组
String[] versions = {"1.1", "1.2", "1.2.1"};
// 找出最大版本号
String maxVersion = findMaxVersion(versions);
// 输出结果
System.out.println("版本号列表: " + Arrays.toString(versions));
System.out.println("最大版本号: " + maxVersion);
}
/**
* 找出版本号数组中的最大版本号
*/
public static String findMaxVersion(String[] versions) {
if (versions == null || versions.length == 0) {
return null;
}
String maxVersion = versions[0];
for (String version : versions) {
if (compareVersions(version, maxVersion) > 0) {
maxVersion = version;
}
}
return maxVersion;
}
/**
* 比较两个版本号的大小
* @return 正数表示version1 > version2,负数表示version1 < version2,0表示相等
*/
public static int compareVersions(String version1, String version2) {
// 将版本号按"."分割成数字数组
String[] parts1 = version1.split("\\.");
String[] parts2 = version2.split("\\.");
// 取两个版本号中较长的长度作为比较的轮次
int maxLength = Math.max(parts1.length, parts2.length);
for (int i = 0; i < maxLength; i++) {
// 对于较短的版本号,超出部分视为0
int num1 = i < parts1.length ? Integer.parseInt(parts1[i]) : 0;
int num2 = i < parts2.length ? Integer.parseInt(parts2[i]) : 0;
if (num1 > num2) {
return 1;
} else if (num1 < num2) {
return -1;
}
// 如果相等则继续比较下一部分
}
// 所有部分都相等
return 0;
}
}

#发面经攒人品#