面Facebook E5降E4,6年老司机心态崩了…

  • 面Facebook E5降E4,6年老司机心态崩了…已关闭评论
  • A+
所属分类:Facebook营销推广
广告也精彩

一般FB内部2年左右就能3升4了,现在妥妥downlevel了。只因系统设计面试不够strong,还被说是:过度设计!

“过度设计”是许多面试者的通病,这代表:

1.设计者缺乏对业务和需求的精准理解;

2.没有对功能做出权衡取舍,忽略了复合成本,最后很可能投入巨大但收益甚微。

因此,“过度设计”在面试中也被视为RedFlag。另外,系统设计面试中还有几个常见的错误需要注意:

没弄清需求就给方案

思维狭窄,考虑不全面

固执己见,不懂得变通

“聊天系统”回回考,通过却很少

来看一道FB系统设计原题:“设计一个Snapchat/whatsapp”其实谷歌/亚麻/微软等很多公司都考过,能顺利通过的却很少,都说见过这道题,面完却还是跪,原因很可能是:

不懂得和面试官交流需求(比如日活多少?需要什么功能等)

日常"拧螺丝",缺乏完整的系统设计经验(没有做过完整的系统,面试容易卡壳)

没有优化经验,不知道怎么将系统优化成高可用、高扩展

虽然系统设计的难点在没有标准答案,但也并不是毫无方法可循的。

九章的老师(同时也是硅谷大厂的资深架构师)总结出了一套**“万能公式”——4S分析法.

1Scenario场景:需要设计哪些功能,到什么程度?**

系统设计面试中,不加思考迅速给方案是大忌,正确的做法是与面试官沟通需求,收集构建系统所需的所有信息。比如你可以问这些问题:

我们要构建哪些特定功能?

该产品有多少用户?

公司预计将以多快的速度扩大规模?

公司的技术栈是什么?您可以利用哪些现有服务来简化设计?

2Service服务:将大系统拆分为小服务

根据第一步收集的需求,为每个需求添加一个服务,再归并相同的服务,你需要把面试官当做一起工作的伙伴,及时要求反馈:

依据需求添加服务。

对于同一类问题的逻辑处理归并在一个Service中。

把整个System细分为若干个小的Service。

3Storage存储:数据如何存储与访问

拆分完小服务后,你需要考虑数据如何存储与访问,做出一个可以work的solution:

对每个Service选择合适的存储结构。

细化数据表单。

画图展示数据存储和读取的流程。

4Scale升级:解决缺陷,处理可能遇到的问题

最后一步,面试官会和你确定系统瓶颈并讨论改进方式,这时千万不要说自己的设计是完美的,总会有一些需要改进的地方。

因为这是展示你批判性思维并留下好印象的绝佳机会。

错误案例(服务器故障,网络丢失等)值得讨论。

如何监视指标和错误日志?如何推出系统?

后续如何扩展系统?

这套4S分析法,可以套用绝大部分面试当中的系统设计,将难点逐一击破。

具体如何在有限的条件内构建有细节/有整体框架的worksolution,欢迎大家免费试听体验:《系统架构设计2020版》

像刷算法题一样学系统设计

另外,课程还搭配了42道ladder,都是精选的大厂高频系统设计题,这可是其他同类课程没有的专属福利!

真正做到像刷算法题一样学习系统设计,4周就能掌握系统设计的核心知识。

L4变L5,只差一道系统设计

面试review时,系统设计的面试官通常拥有最高话语权。

也就是,这轮的面试官决定你能否通过,也决定了你的Level和Package。系统设计答拿到strong,升一级或者涨薪都是非常有希望的。

我们的一位学员面谷歌L4,被recruiter要求加面一轮系统设计,最后幸运的通过并拿到了L5,包裹直接多了5万刀!Facebook买专页赞刷粉丝,点赞,观看量,评论,加微信ins1520

weinxin
微信:ins1520
Instagram、YouTube、Facebook买粉丝点赞请加我们微信。