快手一面面试题

快手Java后端面试问题记录

  1. jvm定义了几种线程的状态(枚举)
  2. wait的作用
  3. 手写semaphore,使用object中的wait和notify方法。提供一个get和release方法
  4. 简述Java中的atomic原子操作的实现方式
  5. nio和bio的区别
  6. netty的线程模型是什么
  7. netty有俩组线程池分别是什么
  8. 简单介绍一下eureka
  9. eureka服务器集群状态下如何进行相互的数据交互

算法 给定一个字符串“catanddog”和一个字符串集合Set dic = {“cat”, “ca”, “and”, “dog”},判断dic中是否可以取出一个子集,这个子集可以组成给定字符串。
例如:catanddog在dic中
catandrow则不在当中
catanddogandrow也不在当中

总结:面试过程中回答问题不够干脆,可能也是因为自己没想好吧。以后回答问题一定要现在心里想好答案,力争做到条例清晰。另外快手的面试官问问题可能都比较偏向源码方向。有些东西需要看过源码才知道。

项目相关的问题若干

你可能感兴趣的:(面经)