微软Azure组面试(部分)

第一轮

  • CAS,为什么compare和swap之间不会被别的线程干扰结果(即CAS为什么具有原子性)?参考答案1:lock前缀,缓存锁定(cache locking)。
  • 知道尾递归优化吗?
  • 有什么办法优化慢速的网络IO或者磁盘IO?
  • 如果一个系统,里面的调用耗时很长,怎样设计相关的API?我后面在想,用zk之类的分布式协调者。
  • java中能设计swap函数交换变量的值吗
  • redis能满足事务的ACID吗?

第二轮

  • 有遇到哪些OOM的情况。什么情况下java代码可能会产生内存泄漏?参考答案:查询海量数据没有分页;数据库连接没有关闭。

最后居然两轮就挂了,我要气死了。附一下其他人的微软面经:
2020 年面试记录 [Microsoft / Coupang / CoinMarketCap]
微软|微软 SDE |社招面试经验|2020|:系统设计题目,推荐 Grokking system design 和数据密集型应用系统设计这两份资料


  1. CAS(Compare-and-Swap)比较并替换 ↩︎

你可能感兴趣的:(面试,CAS)