快手面经

9月6号快手面试。

一面:

  1. 一个算法:环形链表实现归并排序。一直不太理解环形的特殊之处,我就是直接先断开。
  2. JVM GC算法,问了一下为什么年轻代要分成1个eden和2个survior。应该是为了减少浪费的空间。
  3. 异常体系。为什么要分RuntimeException和Exception,,,现在我也没想到为什么。
  4. 说一下常用的Linux命令
  5. 线程池

二面:

  1. topK问题,我说用堆,面试官让我用一个时间复杂度更快的。
  2. TCP三次握手四次挥手的图,还要写状态。状态真是打扰了,一个都不记得。
  3. 设计一个音乐播放器,有哪些类,类之间的关系,画UML图。我现在也不是很理解他的意思
  4. 浏览器输入url到后端的过程,除了说网络部分还问了服务器做哪些处理,当时不明白,后来才知道要说通过端口找进程,然后找web容器。
  5. DNS的过程。

凉了。。。

Written on September 12, 2018