作者:文泰来 九章算法《面向对象设计 OOD》金牌讲师 Amazon 资深工程师,多年面试官经验,曾斩获 Google, Facebook, Uber 等多家公司 offer
大家应该都知道今年疫情关系,大量科技公司在裁员、缩招,而我供职的 Amazon 是为数不多一直在招的,而且这次一放就是2 万技术岗。
几乎每周我都要参与面试(现在是 VO ),主要负责设计面试,所以知道很多候选人遇到的问题都是一样的。趁着 WFH,我将大家最常见的问题整理出来,同时我会用具体例题解释如何评判一轮设计面试是好的。
在多年从事教学的过程中,同学们往往一上来就问:老师,OOD 和系统设计的区别在哪里?
在这里我先用一张图简单标明两者在面试里的区别:
需要特别强调:这 5 个方面的比较,并不是你处于哪个位置就一定会遇到 OOD 或系统设计,只是从统计学角度出发,当你在这个条件当中,被考到的概率更大。
今年就业情况非常差,包括亚麻在内的公司的面试难度都提高了,很多岗位考完一轮 OOD,还有一轮系统设计。
可以说除算法外,OOD 必考!面试官通常以此来判断一个程序员的基础和大局观。
特别强调:我今年就面过好几个 4~5 级的同学,算法答得很好,但设计亮了红灯,我们 review 以后都直接挂掉了!
既然 OOD 这么重要,那问题来了:如何评判一轮 OOD 面试?评判标准是什么?
很多同学问:我知道面算法时,可以通过时间复杂度或空间复杂度来判断做的好不好。但设计题我画了一整块白板,也说了很多很多,面出来却还是懵逼的!
因为 OOD 面试覆盖面大,又没有标准答案,大家很容易有懵逼的感觉。设计类面试的要领在于沟通清楚再下手,比你一上来就做个大而全的东西更加分,这里就要用到 5C 解题法。
点击《面向对象设计 OOD》即可报名~
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.