当前位置: 首页 > 面试经验 >

快手 客户端一面 8.4

优质
小牛编辑
89浏览
2023-08-05

快手 客户端一面 8.4

总结

问的很细,我又是第一次面试,非常紧张,答得非常不好,应该凉凉。不过体验蛮好的,面试官会主动解释帮帮。

开篇自我介绍

介绍完,问项目:项目有什么亮点,系统为什么这么设计,为什么用UDP

手撕

在一个数组中找是否有子数组的和==给定值,基础给出true或false就行,进阶要给出具体的子集。 当时太紧张,问了面试官一下思路,想到要用回溯,结果太久没看回溯写不出来了,只能写了个二叉树的。根节点是0,左节点是不取数组上的数,右节点是取,直到二叉树节点值==target。 考完想了想,写了一下

LinkedList<Integer> path = new LinkedList<>();
int sum = 0;
List<List<Integer>> ans=new ArrayList<>();

public List<List<Integer>> find(int[] nums, int M) {
      backTracking(nums, M, 0);
      return ans;
}

private void backTracking(int[] nums, int M, int index) {
     if (sum > M) return;
     if (sum == M) {
        ans.add(new ArrayList<>(path));
        return;
     }
     for (int i = index; i < nums.length; i++) {
         path.add(nums[i]);
         sum += nums[i];
         backTracking(nums, M, i + 1);
         path.removeLast();
         sum -= nums[i];
     }
}

八股

集合

ArrayList的底层,哈希表的底层实现,扩容机制(我把哈希和列表的扩容记反了,汗),哈希表的位置怎么确定。

计算机网络

长连接,心跳机制(问我浏览器作客户端能不能搞心跳,给我整蒙了),HTTP,HTTPS加密机制,SSL协议哪个层(这个有没有大佬说说,有说表示层,有说传输层和网络层)。

多线程

Synchronized是不是可重入锁,锁升级机制

面试官评价

高情商评价:代码写的还可以(汗),java基础需要增强

#快手面经#
 类似资料: