亚马逊面试官分享亚麻面试必考点

hakunamatata11 23天前 12

作者:文泰来 九章算法《面向对象设计 OOD》金牌讲师 Amazon 资深工程师,多年面试官经验,曾斩获 Google, Facebook, Uber 等多家公司 offer

大家应该都知道今年疫情关系,大量科技公司在裁员、缩招,而我供职的 Amazon 是为数不多一直在招的,而且这次一放就是2 万技术岗

几乎每周我都要参与面试(现在是 VO ),主要负责设计面试,所以知道很多候选人遇到的问题都是一样的。趁着 WFH,我将大家最常见的问题整理出来,同时我会用具体例题解释如何评判一轮设计面试是好的

OOD 和系统设计到底区别在哪里?

在多年从事教学的过程中,同学们往往一上来就问:老师,OOD 和系统设计的区别在哪里?

在这里我先用一张图简单标明两者在面试里的区别:

需要特别强调:这 5 个方面的比较,并不是你处于哪个位置就一定会遇到 OOD 或系统设计,只是从统计学角度出发,当你在这个条件当中,被考到的概率更大。

今年就业情况非常差,包括亚麻在内的公司的面试难度都提高了,很多岗位考完一轮 OOD,还有一轮系统设计。

可以说除算法外,OOD 必考!面试官通常以此来判断一个程序员的基础和大局观。

特别强调:我今年就面过好几个 4~5 级的同学,算法答得很好,但设计亮了红灯,我们 review 以后都直接挂掉了!

菜鸟到高手,OOD 解题套路 5 步走

既然 OOD 这么重要,那问题来了:如何评判一轮 OOD 面试?评判标准是什么?

很多同学问:我知道面算法时,可以通过时间复杂度或空间复杂度来判断做的好不好。但设计题我画了一整块白板,也说了很多很多,面出来却还是懵逼的!

因为 OOD 面试覆盖面大,又没有标准答案,大家很容易有懵逼的感觉。设计类面试的要领在于沟通清楚再下手,比你一上来就做个大而全的东西更加分,这里就要用到 5C 解题法。

什么是 5C 解题法?

  • Clarify:通过和面试官交流,去除题目中歧义,确定答题范围
  • Core objects:确定题目所涉及的类,以及类之间的映射关系
  • Cases:确定题目中所需要实现的场景和功能
  • Classes:通过类图的方式,具体填充题目中设计的类
  • Correctness:检查自己的设计,是否满足关键点

免费分享课怎么听?

点击《面向对象设计 OOD》即可报名~

最新回复 (4)
返回