首先最常见的就是上来就垒一些当下最流行的tech stacks,以及非常时髦的新技术,反正怎么炫酷怎么来。这种情况在我眼里很可能就是没有实战经验纯粹纸上谈兵的redflag。毕竟system design是模拟实际工作中的项目,如果我让你设计一个generic customer facing feature,需要去关注load balance,k8s cluster,network mesh等这些底层的infra吗?这些基本都是假定infra team已经提供了。设计更多是关注这个product本身,而不是放一些fancy的技术。有些功能确实可能被cloud service给实现了,但是设计本身考的是你如何去实现他,而是不是考你对时髦技术的了解程度。这就像算法面试要是考二分法,你可以直接call built in functions,但这就是没有面试的意义了。更何况在现实工作中,大部分公司的tech stack都不是那么自由,不是说你想选哪个fancy database就可以直接support的😂😂
回到重点,那么系统设计重点是考什么?我想你要是有实际工作开发新功能的经验,都会明白在真实的design当中,tech stack和cloud service的选择很有限,作为product team更多关注的是data model design和API接口设计。有时候甚至nosql还是relation db都没得选😂 除非你在infra,cloud相关的team,开发的产品是面向内部的developers,可能会自由选择各种fancy public service & framework。