拼多多一面
3.14号暑期实习一面,一半多时间在写题。
1. 自我介绍
2. 问了项目是不是都是网上的,我说是,然后就开始写题
3. 两个有序数组的最长公共子序列(子序列是连续的)
1. 动态规划,没有用到有序的性质,不满足时间复杂度要求
2. 简单场景,两个数组无重复数字(二分查找 m*logn)
```java
public int longestCommonSubSequence2(int[] v1, int[] v2) {
int m = v1.length, n = v2.length;
int ans = 0;
int i = 0;
while (i < m) {
int start = binSearch(v2, v1[i]);
if (v2[start] != v1[i]) {
i++;
continue;
}
int l = 1;
while (true) {
if (i + l >= m) break;
int end = binSearch(v2, v1[i + l]);
if (end - start != l || v2[end] != v1[i + l]) break;
l++;
}
ans = Math.max(ans, l);
i = i + l;
}
return ans;
}
3. 进阶场景,有重复数字(没写出来)。
4.开始问RPC
别人如何使用这个 RPC
RPC 调用流程
netty 是如何使用 tcp 连接的?
如何标记这是自己的请求,(用requestid进行区分)
多线程并发写产生的冲突问题
netty 的优势