tp-link 提前批二面面经
总时长30min
自我介绍
1. mysql主从复制原理
2. mysql读写分离
3. mysql和redis数据一致性
4. threadlocal使用&项目中实现
5. 线程安全的实现
同步代码块 同步方法 Lock锁机制
6. java反射机制在SSM框架的实现
Spring IOC 看过源码可知,Spring框架会先解析XML配置文得件得到全类名,然后通过这个全类名来得到Class对象,完成后面的反射调用的动作。
7. Java泛型作用
是一种语法糖,在编译阶段完成类型的转换的工作,避免在运行时强制类型转换而出现ClassCastException类型转化异常
算法:
牛客-NC41-最长无重复子数组
思路: 哈希表+双指针
利用双指针模拟一个滑动窗口。初始化该窗口为(left, right]。所以left从-1开始。窗口不断往右扩大。因为我们要的是无重复子数组,因此,遇到有重复的数字,在窗口左侧进行缩小。
在每次滑动时,对窗口的大小进行比较,保留最大的长度。
public class Solution{
public int maxLength(int[] arr){
if(arr.length < 2){
return arr.length;
}
HashMap<Integer, Integer> window = new HashMap<>();
int res = 0;
// 双指针模拟滑动窗口
int left = -1;
for(int right = 0; right < arr.length; right++){
// 遇到重复数字
if(window.containsKey(arr[right])){
// 不能直接更新left,而是比较,尽可能缩小left
left = Math.max(left, window.get(arr[right]));
}
// 更新窗口大小
res = Math.max(res, right-left);
// 将右指针元素及下标放入哈希表中
window.put(arr[right], right);
}
return res;
}
}
自我介绍
1. mysql主从复制原理
2. mysql读写分离
3. mysql和redis数据一致性
4. threadlocal使用&项目中实现
5. 线程安全的实现
同步代码块 同步方法 Lock锁机制
6. java反射机制在SSM框架的实现
Spring IOC 看过源码可知,Spring框架会先解析XML配置文得件得到全类名,然后通过这个全类名来得到Class对象,完成后面的反射调用的动作。
7. Java泛型作用
是一种语法糖,在编译阶段完成类型的转换的工作,避免在运行时强制类型转换而出现ClassCastException类型转化异常
算法:
牛客-NC41-最长无重复子数组
思路: 哈希表+双指针
利用双指针模拟一个滑动窗口。初始化该窗口为(left, right]。所以left从-1开始。窗口不断往右扩大。因为我们要的是无重复子数组,因此,遇到有重复的数字,在窗口左侧进行缩小。
在每次滑动时,对窗口的大小进行比较,保留最大的长度。
public class Solution{
public int maxLength(int[] arr){
if(arr.length < 2){
return arr.length;
}
HashMap<Integer, Integer> window = new HashMap<>();
int res = 0;
// 双指针模拟滑动窗口
int left = -1;
for(int right = 0; right < arr.length; right++){
// 遇到重复数字
if(window.containsKey(arr[right])){
// 不能直接更新left,而是比较,尽可能缩小left
left = Math.max(left, window.get(arr[right]));
}
// 更新窗口大小
res = Math.max(res, right-left);
// 将右指针元素及下标放入哈希表中
window.put(arr[right], right);
}
return res;
}
}