一次阿里面试记录

面试最理想的状态,不应该是临时抱佛脚,面试好多家练手,背题目。
应当是将自己的所学融会贯通后,自然应对所有问题,计算机说到底不过是:数据结构 + 算法 + 设计思想
即使没遇到过的场景问题,其原理和解决思路大多是一致的,只要硬件没有迎来革命性的发展,软件的思想终归就那么多了

遇到的阿里的面试官都比较注重实战,大多就一个场景问题,在探讨解决方案中引出各种基础知识,面试体验很好,问题记录如下:

  • 怎样设计一个爬虫系统?
  • 怎样防止爬取的url中有环?
  • 讲一讲布隆过滤器
  • 缓存失效时,怎样防止瞬间大量请求进入DB?
  • 手写二叉树合并
  • 手写二叉树层序遍历
  • 手写二叉树中序遍历
  • 设计模式有哪些分类?分别用于解决哪一类问题?
  • 说一说模板模式和命令模式的区别
  • JDK 的IO包中大量使用了哪种模式?
  • 说说Java的泛型
  • 说说异步非阻塞IO
  • 说说TCP和UDP分别是怎样断开连接的
  • 说说LSM树的原理
  • 说说LSM的写放大和读放大,以及有没有优化措施
  • 说收kafka性能如此之高的原因
  • 说说kafka的消息有序性
  • 说说zk和paxos的区别
  • 说说mysql主从复制和读写分离的概念
  • 说说serverless
  • 讲讲HDFS的设计原理
  • 说说分布式锁超时时间的问题
  • 说说redis的哨兵和redis集群
  • 怎样设计一个LRU缓存?
  • 硬盘顺序写比硬盘随机写快多少?
  • 说说nginx的负载均衡
  • Java的hashmap为什么不是线程安全的?
  • ThreadLocal是怎样实现的?
  • 线程池的工作原理?
  • paxos或者zk是怎样应对脑裂的?

你可能感兴趣的:(java,面试,阿里,Java)