校招 未知部门 / 客户端开发 / 一面

[面试日期] 2023-08-05 [面试时长] 未知
[学校背景] 未知 | 未知 [学历背景] 未知
[发布人] 面试之星官方收录
<h2>快手 客户端一面 8.4</h2> <h1>总结</h1> <p>问的很细,我又是第一次面试,非常紧张,答得非常不好,应该凉凉。不过体验蛮好的,面试官会主动解释帮帮。</p> <h1>开篇自我介绍</h1> <p>介绍完,问项目:项目有什么亮点,系统为什么这么设计,为什么用UDP</p> <h1>手撕</h1> <p>在一个数组中找是否有子数组的和==给定值,基础给出true或false就行,进阶要给出具体的子集。 当时太紧张,问了面试官一下思路,想到要用回溯,结果太久没看回溯写不出来了,只能写了个二叉树的。根节点是0,左节点是不取数组上的数,右节点是取,直到二叉树节点值==target。 考完想了想,写了一下</p> <pre><code>LinkedList&lt;Integer&gt; path = new LinkedList&lt;&gt;(); int sum = 0; List&lt;List&lt;Integer&gt;&gt; ans=new ArrayList&lt;&gt;(); public List&lt;List&lt;Integer&gt;&gt; find(int[] nums, int M) { backTracking(nums, M, 0); return ans; } private void backTracking(int[] nums, int M, int index) { if (sum &gt; M) return; if (sum == M) { ans.add(new ArrayList&lt;&gt;(path)); return; } for (int i = index; i &lt; nums.length; i++) { path.add(nums[i]); sum += nums[i]; backTracking(nums, M, i + 1); path.removeLast(); sum -= nums[i]; } } </code></pre> <h1>八股</h1> <h2>集合</h2> <p>ArrayList的底层,哈希表的底层实现,扩容机制(我把哈希和列表的扩容记反了,汗),哈希表的位置怎么确定。</p> <h2>计算机网络</h2> <p>长连接,心跳机制(问我浏览器作客户端能不能搞心跳,给我整蒙了),HTTP,HTTPS加密机制,SSL协议哪个层(这个有没有大佬说说,有说表示层,有说传输层和网络层)。</p> <h2>多线程</h2> <p>Synchronized是不是可重入锁,锁升级机制</p> <h1>面试官评价</h1> <p>高情商评价:代码写的还可以(汗),java基础需要增强</p><a>#快手面经#</a>
AI 推荐面试题