国外国内都躲不过的面试题,到底怎么答才得分?

大家都知道的是算法面试占比高,可现在系统设计面试也避无可避!

有人问:不是SDE2才问系统设计,SDE1只考察OOD吗?

往年也许如此,但今年面试的小伙伴反馈:亚麻分别在三、四轮里出现OOD和系统设计。甚至今年初有new grad也面到系统设计,实在凶残!

如今大家都在玩命刷题,仅靠算法已无法甄别“尖子生”了,而系统设计覆盖面广,考察没有标准答案,于是成了大厂“试金石”。

国外必考、国内躲不过

都知道系统设计难,这时就有小伙伴问了:我已打算今年回国发展,国内互联网公司是不是就考察考察算法呀?

“ 别闹…
系统设计,国内面试照样考! "

咱们讲座分享群的同学也验证过:

就拿国内一线大厂阿里来说好了,通常P6就要考系统设计了。这是个啥职级呢?

阿里招的应届生通常给P5,一般工作1~3年的优秀者可以升至6,现在社招几乎也都要P6以上。通常这个职级没有股票,但全职16薪,年均40W左右。

结论就是:无论国外,还是国内,躲不过就是躲不过!

既然都要考,那到底咋得分?

都说系统设计面试就是让你“造火箭”!

没错,许多面试者都有种“高屋建瓴”的感觉。往往看完网上搜的资料,脑子更不清楚了,只能哀嚎:见了鬼的,谁能告诉我到底怎么答才得分?!

今天小编就用一道Facebook真题来举例:

Design a photo reference counting system at FB scale

令狐冲老师解答

系统设计》《九章算法班》主讲老师; FLAG资深工程师

这个题是我们在《系统设计班》第一节课讲过的内容。

首先,你先不要曲解题目,你直接把题目翻译为:设计distributed counting system,就已经走偏了。

从这道题的题面来看,面试官只是要对每个photo有一个counter。这个counter干嘛的呢?你可以理解为某个photo被like的数目。这和《系统设计班》第一节Design a Twitter里说的,某个post被like,是一样的。

在这道题中,面试官主要考核你以下几个层面的东西:

【第一层】

你首先要知道是用denormailze的方法,和photo 一起存在一起,这样不用去数据库里数like。所以可能考察的就是,数据库的存放方法,服务器端用memcached或者任何cache去存储,访问都是找cache,实在是太大的数据量,才会考虑分布式。

+1 分

【第二层】

你知道这玩意儿不能每次去数据库查,得cache

+0.5分

【第三层】

这玩意儿一直在更新,被写很多次,你知道必须一直保持这个数据在cache里,不能invalidate

+0.5 分

【第四层】

你知道怎么让数据库和cache保持一致性

+2分

【第五层】

你知道 cache 里如果没有了,怎么避免数据库被冲垮(memcache lease get)

+2 分

【第六层】

一个小的优化,如果这个数据很hot,可以在server内部开一个小cache,只存及其hot的数据。

+2分

以上,看完后你是一脸懵逼

还是茅塞顿开、思路清晰?

通常面试者会遇到的共性问题有👇

不善沟通,需求都没和面试官聊明白

由于前期沟通不顺,中间越想越混乱

想给出完美答案,结果越做越大,根本答不完

……

不妨体验一下九章精细打磨的《系统设计班

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J16JaGqJ-1588848114275)(https://upload-images.jianshu.io/upload_images/21269494-484064b6ce4ad79f.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

互动形式、随时看,扫码立即免费试听

配套题库,刷学同步事半功倍

系统设计班》配套了LintCode题库,学员可获得免费访问权限,边刷边学。

题库包括:设计twitter、设计DataBase、设计爬虫、设计短URL…… 可以说涵盖了大厂系统设计高频题,怎么考怎么变,无外乎也都是问这些。

4S分析法,题题通用

前面说到,很多人陷入的误区是:我一定要做出完美的系统,可是一旦设计得太复杂就会思路卡壳/时间不够用。

其实面试官更看重的是面试的沟通过程和系统的可行性,在有限条件下展现自己的能力和知识储备,构建一个有细节,有整体框架的work solution才能加分。

在面试题中,4S分析法的有效性已经被无数九章海内外学员证实。

什么是4S分析法?

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

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

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

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

而且系统设计题答得出色,很多面试官在这一环节中,就定下你在他们心中的薪资和级别了。也就是说,还不到包裹谈判那一步,你的薪资就已经高过其他人了

展开阅读全文

没有更多推荐了,返回首页

应支付0元
点击重新获取
扫码支付

支付成功即可阅读