`

Facebook系统设计准备

 
阅读更多

转自:http://www.mitbbs.com/article_t1/JobHunting/32741713_0_1.html

提供内推,社招校招皆可,天朝美帝皆可,如有兴趣,请发简历到fbrefer@163.com
申请码工职位的,请至少保证刷完一遍leetcode,或同等水平
最近一年申请过的,由于公司政策,请不要再申请

关于面试流程
社招的话
电面1-2轮,一般就是coding
onsite一般是4轮,2轮coding,1轮design,1轮behavior+coding
校招的话,那轮design也变成coding了

关于准备
1) algo/coding
建议大家刷一下leetcode,基本上cover到了大多数常见面试题,而且有可能碰到原题
。需要注意的是,仅仅解出来,做到bug free可能是不够的。代码的质量和速度也非常
重要。网上有一些别人给出的答案可以参考,尽量做到代码简洁清晰。速度上leetcode
上所有题都做到10分钟以内写完。

2) design
解这种题是个*交流*的过程,或者说是给出方案然后获取反馈的不断循环的过程。
一般的流程:
首先你要问清楚requirement;
然后可以讲一下high level architecture,就是分成哪几个component,互相之间如果
interact,在白板上画一画;
之后面试官可能会让你深入某个component detail讨论;
也有可能变换requirement让你重新设计

另外,f家还喜欢让你估算机器之类的,做一些back-of-envelopme calculation。所以
最好对一些计算机相关的基本常数,fb的用户量等等有个大概的了解。

准备的时候建议看看fb的design高频题。一方面有可能面试的时候刚好碰到这几个
topic,另一方面其实很多design都是相通的。
之前有个帖子讲这个,原帖已经被删了,这儿有个备份http://blog.csdn.net/sigh1988/article/details/9790337

另外补充一点我收集的材料

a) 首先你可以从整体上了解一下facebook的architecture
http://www.quora.com/Facebook-Engineering/What-is-Facebooks-arc
http://www.ece.lsu.edu/hpca-18/files/HPCA2012_Facebook_Keynote.
http://www.quora.com/Facebook-Engineering/What-have-been-Facebo
除了下面给出的一些资料,fb engineering page里还有很多不错的内容
https://www.facebook.com/Engineering

b) news feed
这里有个talk
http://www.infoq.com/presentations/Facebook-News-Feed
对应的slides
http://readme.skplanet.com/wp-content/uploads/2012/11/0-3_Faceb
还有一些quora上的讨论
http://www.quora.com/Activity-Streams/What-are-the-scaling-issu
http://www.quora.com/What-are-best-practices-for-building-somet
http://www.quora.com/What-is-the-best-storage-solution-for-buil

c) facebook chat
这里有两个notes,其中第二个里面还有相应的tech talk links
https://www.facebook.com/notes/facebook-engineering/facebook-chat/14218138919
https://www.facebook.com/notes/facebook-engineering/chat-stability-and-scalability/51412338919

d) typeahead search & graph search
关于typeahead search的tech talk和notes
https://www.facebook.com/video/video.php?v=432864835468
https://www.facebook.com/note.php?note_id=365915113919
https://www.facebook.com/note.php?note_id=389105248919

关于graph search的paper, tech talk, notes。其中paper很值得一看。
http://db.disi.unitn.eu/pages/VLDBProgram/pdf/industry/p871-cur
https://newsroom.fb.com/Photos-and-B-Roll/4362/Graph-Search-Whiteboard
https://www.facebook.com/note.php?note_id=10151240856103920
https://www.facebook.com/note.php?note_id=10151347573598920
https://www.facebook.com/note.php?note_id=10151361720763920
https://www.facebook.com/note.php?note_id=10151432733048920
https://www.facebook.com/note.php?note_id=10151755593228920

e) facebook messages
两个tech talks
http://www.youtube.com/watch?v=XAuwAHWpzPc
http://www.infoq.com/presentations/HBase-at-Facebook
以及eng notes
https://www.facebook.com/note.php?note_id=10150148835363920
https://www.facebook.com/note.php?note_id=10150162742108920

f) photo storage
相关的papers和notes
https://www.usenix.org/conference/osdi10/finding-needle-haystack-facebooks-photo-storage
https://www.usenix.org/legacy/events/osdi10/tech/full_papers/Beaver.pdf
https://www.usenix.org/legacy/events/osdi10/tech/slides/beaver.pdf
https://www.facebook.com/note.php?note_id=76191543919

g) social graph data store
相关的note, video, paper
https://www.facebook.com/notes/facebook-engineering/tao-the-power-of-the-graph/10151525983993920
https://www.usenix.org/conference/atc13/technical-sessions/presentation/bronson
http://www.cs.cmu.edu/~pavlo/courses/fall2013/static/papers/117

h) tiny URL
这里有一些讨论
http://n00tc0d3r.blogspot.com/2013/09/big-data-tinyurl.html
http://stackoverflow.com/questions/742013/how-to-code-a-url-sho
http://stackoverflow.com/questions/3376163/what-are-the-things-

i) POI
参考这里
http://www.slideshare.net/mmalone/scaling-gis-data-in-nonrelati
http://www.mitbbs.ca/article_t/JobHunting/32476139.html

3) behavior,建议大家了解一下fb的culture,准备一下常见的behavior questions,
面试之前rehearsal一下。

最后面试临近的时候,可以再刷刷面经,找找感觉。像glassdoor, mitbbs/jobhunting

, careercup,这些上面就有很多。 

分享到:
评论

相关推荐

    system_design:系统设计问题的准备链接和资源

    系统设计准备 如何准备和回答系统设计问题 客观的 学习和实施大规模分布式系统并不容易。 我不想给人一种可以在一个月内学到的东西的印象。 该存储库旨在实现的目标是,让软件工程师和学生大致了解设计大规模设计的...

    system-design

    系统设计基础知识/基础知识 课程内容 文章 免费资源付费资源 系统设计面试题SDE-1(经验丰富),SDE-2及更高版本的系统设计面试问题的精选清单。 我亲自从Geeksforgeeks,Careercup和其他面试准备站点中整理了所有...

    cat-forum:一个与CAT考试相关的问题论坛

    CAT论坛是MNTC CAT论坛的内容管理系统,这是CAT准备的网络论坛。 我们使用heroku进行部署。 它是用Ruby on Rails编写的,并使用Bootstrap进行UI设计。 我们使用haml作为HTML模板引擎。 一些旧模板以简单HTML编写...

    leetcode中国-BUPTCareerPublic:BUPTCCareerPublic

    leetcode中国 英国求职咨询会 很多同学都在向我们的学长学姐打听英国求职的情况, 那么我们就打算集中办一场求职咨询会了!...系统设计和做算法题(leetcode medium-hard难度). 另一种稍微软一些, 就是金融公司的技术岗位

    vuejsfire-hackathon-starter:基于vue.js和Firebase的Hackathon入门套件

    准备好ES6 单文件组件 内置用户模块 Twitter / Facebook验证 内置通知系统 精美的设计和体验 响应式用户界面 配料 页面加载器 Google字体中的字体 开发入门 克隆此仓库。 在创建一个项目。 请注意,该应用程序还将...

    三维建模渲染工具 Maxon CINEMA 4D Studio S22.016 中文多语版.zip

    Maxon CINEMA 4D Studio...紧跟现今趋势,为YouTube、Facebook、Oculus或Vive 渲染立体360° VR 视频。 新媒体核心 所有的格式都会在新媒体核心中导入和渲染 使用GIFs和MP4s作为纹理直接渲染为MP4、DDS和增强OpenEXR。

    Hadoop权威指南(中文版)2015上传.rar

    与其他系统相比 关系型数据库管理系统 网格计算 志愿计算 1.3.4 Hadoop 发展简史 Apache Hadoop和Hadoop生态圈 第2章 关于MapReduce 一个气象数据集 数据的格式 使用Unix工具进行数据分析 使用Hadoop分析数据 map...

    Hadoop权威指南 第二版(中文版)

    Hadoop分布式文件系统;Hadoop的I/O、MapReduce应用程序开发;MapReduce的工作机制;MapReduce的类型和格式;MapReduce的特性;如何构建Hadoop集群,如何管理Hadoop;Pig简介;Hbase简介;Hive简介;ZooKeeper简介;...

    gatsby-portfolio

    盖茨比首发:伴侣 Gatsby与Contentful CMS集成的可访问且快速的产品组合入门。 目标受众是开发人员 :...社交分享(Twitter,Facebook,Google,LinkedIn) 开发者工具: eslint prettier Google Analytics(分析

    gatsby-starter-mate:Gatsby与Contentful CMS集成的可访问且快速的投资组合启动器

    例如,该演示随附了基于用户名的帖子的集成 :victory_hand:特征 :hammer_and_wrench: :样式化的组件系统打字稿CMS与内容准备好PWA 搜索引擎优化响应式设计来自图标部署友好中型整合社交分享(Twitter,Facebook,...

    Leads Extractor - Social Media-crx插件

    准备获得无限的潜在客户了吗? 购买无限量套餐,您可以随时取消。 PS:寻找B2B Leads> Google Maps Edition? 在https://www.leads-extractor.com/google-maps-edition-guide/上进行检查。此扩展工作原理:1.在...

    欧拉公式求圆周率的matlab代码-interview:破解下一次编码面试的资源

    Bueno)–在Facebook上获得职位[] Daniel Blumenthal –如何为技术面试做准备[] David Byttow –美国广播公司:一直在编码[] David Byttow –迈向Google的四个步骤,没有学位[] 托马斯·弗里德曼(Thomas L. ...

    美国人工智能发展现状介绍.docx

    建议美国交通部(DOT)不断完善监管框架,将全自动车辆和无人机(包括新型交通工具设计)安全整合入交通系统,相关部门应考虑人工智能与网络安全的相互影响。最新发布的这两份报告显示出白宫不急于对人工智能研发进行...

    人工智能国外现状是怎样的.docx

    建议美国交通部(DOT)不断完善监管框架,将全自动车辆和无人机(包括新型交通工具设计)安全整合入交通系统,相关部门应考虑人工智能与网络安全的相互影响。最新发布的这两份报告显示出白宫不急于对人工智能研发进行...

    大数据离线计算.pdf

    ⼤数据离线计算 离线计算概述 所谓⼤数据离线计算,就是利⽤⼤数据的技术栈(主要是Hadoop),在计算开始前准备好所有输⼊数据,该输⼊数据不会产⽣变化,且 在解决⼀个问题后就要⽴即得到计算结果的计算模式。...

    大数据调研报告(多篇).docx

    Facebook的Open Compute Project就在业界树立了榜样,Open Compute Project利用开源社区的理念改善服务器硬件以及机架的设计。其数据中心PUE值也是领先与业内的其他对手。 而在具有大数据处理需求的企业中%的日数据...

    新一代人工智能发展规划.doc

    美国有很多著名的IT跨国企业,如谷歌、Facebook、微软、IBM等,都将人工智能技 术作为企业的核心战略,持续投入巨资并招聘领军人才,强力涉足该领域。 在技术方向上,美国将机器人技术列为警惕技术,主攻军用机器人...

    SparkChess-crx插件

    借助完全可以保护儿童安全的在线游戏和聊天系统,您还可以使用标准化的FEN系统导入和导出SmartChess游戏,该系统可让您重新创建任何棋盘配置,以便在其他地方继续玩游戏; 甚至使用国际象棋套装! 特点:*从不同的...

    人工智能读书笔记.docx

    智能主体(Intelligent agent)的研究与设计学科。智能主体市值一个可以观察周围环境并作出行动以达成目的的系统。 2. 自动新闻撰稿:2011年思科前工程师Robbie Allen发明的Wordsmith作家平台,2014年已经撰写超过...

    《iPhone开发实战》.(Christopher Allen).pdf

    3.6.2 facebook iphone页面37 3.7 支持非iphone用户38 3.8 小结39 第4章 高级webkit和文本web应用程序40 4.1 webkit简介40 4.1.1 新的html元素41 4.1.2 新的css元素41 4.2 css变换、过渡和动画43 ...

Global site tag (gtag.js) - Google Analytics