快手 客户端一面 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基础需要增强

#快手面经#
全部评论
推测应该是表示层,因为表示层负责数据格式化,加密和解密
点赞 回复 分享
发布于 2023-08-07 19:46 上海

相关推荐

点赞 评论 收藏
分享
最近和朋友聊天,她说了句让我震惊的话:"我发现我连周末点外卖都开始'最优解'了,一定要赶在高峰期前下单,不然就觉得自己亏了。"这不就是典型的"班味入侵"吗?工作思维已经渗透到生活的方方面面。
小型域名服务器:啊?我一直都这样啊?我还以为是我爱贪小便宜呢?每次去实验室都得接一杯免费的开水回去,出门都得规划一下最短路径,在宿舍就吃南边的食堂,在实验室就吃北边的食堂,快递只有顺路的时候才取。
点赞 评论 收藏
分享
3 25 评论
分享
牛客网
牛客企业服务