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;
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
09-30 19:49
起名星人:蛮离谱的,直接要求转投销售
投递汇川技术等公司10个岗位
点赞 评论 收藏
分享
1 3 评论
分享
牛客网
牛客企业服务