印象中这似乎是 Facebook 第一次来浙大校园做交流。

前不久,也参加了 Google 的校园宣讲,G 的两大宣讲主题是 Google 介绍和模拟面试。印象最深的是无敌的一家三口每年 100w 封顶的豪华医保(配偶不限男女 LOL)。这次 Facebook 的结构类似:

Tech Talk: Ranking News Feed for 1.2 Billon People

Workshop: Crush Your Coding Interview

两位主讲人都很棒,下面是自己的简要记录。

Crush Your Coding Interview

主讲人: Frank Qixing Du。本科复旦,研究生清华、在 fb 做 mobile 开发。

Frank 主要介绍了如何针对性准备 Facebook 的面试,从中可以看得出 F 的企业文化。

面试准备:流程,资料,沟通。主要分四块:

  1. 简历
  2. 获得面试
  3. coding,过去的项目
  4. 面试之后

简历

  • 基础信息:blabla,填写 GPA 最好附上满绩比重(据说有的学校满分是 4,而 ZJU 就是 5),毕业时间(便于 hr 筛选简历)……

  • 个人的故事:展现经验、个人影响和对事物的激情。

    经验方面:包括工业界经验,兴趣经验项目,github 等等。侧重三点:

    1. 做了什么;
    2. 做的东西的影响;
    3. 具体,简短,一页之内

    一些常用表达词汇:build,optimize,improve 等。

  • 诚恳的 highlight 自己的成就~

获得面试

  1. chat with recruiter
  2. 一到两轮
  3. on site / 电面 (2015 年会有一批 facebook 员工到中国来现场面试)

面试:stay clam and think out loud

  • tackle hard problem 的能力
  • trade-offs 的权衡能力
  • 沟通能力,表达代码的思路
  • 检测 limits:知识的深度、广度。要坦诚的说自己不知道

不会考脑经急转弯,着重在 数据结构、算法实现上。

  1. 学会提问题:明确题目的条件限制等
  2. 写出能运行的代码
  3. 不断优化

现场出题感受下处理过程: 数组的 size 是 N,存 1-N 之间的数,判断是否有重复。

  • 不要立即写代码,先明确思路,再写代码。
  • Done is better than perfect

关于项目:

  • 要准备的常见问题:最近做的项目,最有挑战的项目,最喜欢的项目
  • context:一两句话交代背景,action:做了什么,result:项目带来的影响

面试之后

准备一到两个问题:

  • you are interviewing the company as well
  • Focus on what you concerned most

总结

  • think out loud
  • 问许多问题
  • 检测代码能否运行!corner case 等,debug。清晰,健壮。
  • be yourself

Ranking News Feed for 1.2 Billon People

主讲人:Meihong Wang。本科浙大,现在是 Engineering Manager,团队在做 New Feed。

Meihong 学长从项目组的动机、News Feed 架构以及企业文化三个角度做了介绍。

MOTIVATION

一些数据:

  • 550M daily user
  • 5B page loads/day
  • publish <1s
  • Fetch Rank time < 200ms
  • 2000 candidate stories per day per user -> rank them

ARCHITECTURE

Actor -logging -> user action storage <- query -> viewer

Pull model:push 耗资源太多

Feed Evaluation:机器学习,概率模型,预测

Culture

  • Make the world more open and connected
  • 6k 员工,3k 工程师。世界四个工程办公室:Menlo Park,Seattle,New York, London
  • THE HACKER WAY:在一个产品上,不断的改进迭代。
  • We move fast
  • Hackthons:一两个月有一场
  • 工作一年以上,可以跳到另一个 team 做一个月。鼓励去不同组,了解整个公司。
  • 公司的架构是扁平、网状的,工程师的 title 一样,就是 Software Engineer
  • 职业发展:为期 8 周的 Bootcamp;English 1v1 辅导;各种 camp,方便了解公司技术;免费洗衣服,免费食物等……

问题环节

只摘录了一些来得及和自己感兴趣的问题:

  • 我问道 Facebook 怎么看待“全栈工程师”,Frank 透露了他对业界流行 full-stack 的看法:“full stack is bull shit”,是一个噱头,startup 公司更需要。fb 对此没有特别的倾向性。当然,他们也有厉害的同事确实是 full-stack 的。
  • 工作强度,比国内大多数公司要清闲,币硅谷大多数公司要强。
  • 一周一次组会,一周一次 manger 半小时约谈
  • 2015 年,只要合格就招,没有人数限制。中国学生在 F 的口碑很好。
  • 工程师级别:3-8。研究生是 3,博士 4, 5 开始是 senior 级别,但是大家 title 都一样。
  • 工程师文化
  • 21 天年假

 原文地址:http://biaobiaoqi.me/blog/2014/05/22/facebook-tech-talk-and-workshop/
 版权声明:自由转载-非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0

Facebook学长交流分享的更多相关文章

  1. Android Facebook和Twitter分享

    1. 背景 在年初的时候,公司的项目有个新的需求,在英文版的应用中加入Facebook和Twitter分享功能. 2. 完成情况 由于这个项目比较急,所以开发这个功能从预研到接入总共耗时一周.后来,在 ...

  2. Docker实践,来自沪江、滴滴、蘑菇街架构师的交流分享

    架构师小组交流会:每期选一个时下最热门的技术话题进行实践经验分享. 第一期主题:容器实践.Docker 作为当前最具颠覆性的开源技术之一,其轻量虚拟化.可移植性是CI/CD,DevOps,微服务的重要 ...

  3. Facebook三种分享方式

    一.去Facebook开发者中心注册APP,获取APP ID https://developers.facebook.com 二.导入 FBSDKCoreKit.Framework, FBSDKLog ...

  4. 关于2017届学长制作分享软件share(失物招领)的使用体验和需改进的内容

    使用体验 1.注册界面 注册界面提示明显,提示用户输入什么类型的密码,而且输入什么样的用户名不限,注册界面色调比较单一,注册内容比较少,而且比较简单,体验感比较好,但注册界面色调和设计全无,使用感一般 ...

  5. Java交流分享(522818473)

    今天来分享哈自己的技术交流群,记得还是刚接触Java建立的群,那时候学习Java很有动力,经常和群友谈论问题,现在都专注公司业务和技术这一块,很多后端框架都没用除了restful,其他都是封装的,不过 ...

  6. Asp.net core中Migration工具使用的交流分享

    a,ul>li,em{ color:deeppink !important; } h2>a{ text-decoration:none; } ul>li{ padding:3px; ...

  7. 网页上facebook分享功能的具体实现

    1,一个链接: 参数是要分享的页面的链接 代码如下: <a style="width:35px; height:40px; position:relative; top:10px; l ...

  8. 使用facebook和twitter进行分享经验总结

    凤凰涅槃,浴火重生. 在传说当中,凤凰是人世间幸福的使者,每五百年,它就要背负着积累于在人间的所有痛苦和恩怨情仇,投身于熊熊烈火中自焚,以生命和美丽的终结换取人世的祥和与幸福.同样在肉体经受了巨大的痛 ...

  9. Android Facebook和Twitter登录和分享完整版

    最近公司的软件需要改国际版,需要Facebook和Twitter的登录和分享. 本人先用Umeng的第三方社会化分享实现了该功能,但是后来一想问题来了,经过查证.Umeng只在中国和美国有服务器,那也 ...

随机推荐

  1. 手机用appnium,web自动化用eclips+webdriver2

    手机用appnium,web自动化用eclips+webdriver2 吴建清 pycharm 1.安装环境2.pycharm类似eclipse,写脚本,运行脚本3.uiautomatorviewer ...

  2. Java ThreadLocal Example(java中的ThreadLocal例子)

    Java ThreadLocal is used to create thread local variables. We know that all threads of an Object sha ...

  3. Oracle 带回滚的存储过程

    create or replace procedure PROC_insertUserAmount ( userid number, msgtype number, amountvalue numbe ...

  4. 学习C#修饰符:类修饰符和成员修饰符

    C#修饰符之类修饰符:public.internal. partial.abstract.sealed.static C#修饰符之成员修饰符:public.protected.private.inte ...

  5. 【例题 6-8 UVA - 548】Tree

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 后序遍历的最后一个是根节点. ->然后在中序遍历中找到这个节点. 分为左右两段. 然后递归上述操作就好. 题目描述好坑啊. 原 ...

  6. 判断是iphone或是ipad 和 系统版本

    //判断是iphone或是ipad等 NSLog(@"Device -- %@",[UIDevice currentDevice].model); //系统版本 NSLog(@&q ...

  7. [Node] Run Any Version of a Node Tool with npx

    As node projects evolve, new features are added all the time. This results in different errors or re ...

  8. storm-kafka编程指南

    目录 storm-kafka编程指南 一.原理及关键步骤介绍 (一)使用storm-kafka的关键步骤 1.创建ZkHosts 2.创建KafkaConfig 3.设置MultiScheme 4.创 ...

  9. js模仿块级作用域(js没有块级作用域私有作用域)

    js模仿块级作用域(js没有块级作用域私有作用域) 一.总结 1.js没有块级作用域:在for循环中定义的i,出了for循环还是有这个i变量 2.js可以模拟块级作用域:用立即执行的匿名函数:(匿名函 ...

  10. [AngularFire2] Signup and logout

    import {AuthProviders, FirebaseAuthState, FirebaseAuth, AuthMethods} from "angularfire2";i ...