#综合面经#同主题阅读:四个月骑驴找马终于结束,发面经回馈本版

http://www.mitbbs.com/article_t1/JobHunting/32824165_0_1.html


从7月份到现在,磕磕盼盼终于拿到了FB的offer,准备从了。就此做个总结,希望能对

还在找工作的朋友们有所帮助...

准备: lc(没刷完,但是有些高频题做了好几遍,还有水中的鱼的博客),cc150(先
刷了一遍,然后又看了好几遍,反复看了书中的一些不错的解法),g4g(稍稍做了一
些题),各大面经、版上大牛总结帖。我不是new grad(2年工作经验),所以简历上的
工作时的projects好好准备了一下。

整体感觉就是:
1. 被拒多半还是实力问题+少许运气问题。onsite interview最好保证每一轮都不差(
哪怕都没有很突出),否则就很容易悲剧。所以还是得要多做题甚至多面试找感觉
2. 最有用的是lc+面经+大牛总结,面试时至少有30%-50%会遇到类似甚至一样的
3. bug free很难做到,也没啥必要. 之前有人说FB要求bug free被吓到了,但是感觉
思路+clean code更重要
4. 在三三面试官面前不要害怕,反正你做的多好他们都可以想办法阴你,还不如放松
心态跟他们好好一战

L(电面跪了)
HR分组的时候有点奇怪,分到了类似Site Reliability的职位,后又跟HR沟通了一下,
结果电面时感觉还是很奇怪,先是问了一堆database和networking的基础问题,然后又
问了一道跟算法毫无关系的题。感觉很不适应,只能硬着头皮上。附上原题:
public abstract class pBuffer {

  protected final int BLOCK_SIZE = 1024;
  protected final int BLOCK_COUNT = 1024;

  protected byte[] buffer = new byte[BLOCK_COUNT * BLOCK_SIZE]; // A sample 
1mb buffer, to be allocated in 1k chunks. Other sizes are definitely 
possible. How do things change if it's a 1GB buffer?

  public pBuffer() {
    fillBufferFromFile(); // Reads the buffer from file and dumps the 
contents into the array, restoring the state to what it was when onShutdown(
) was called
  }

  // Returns a Location for a free block of the buffer, suitable for passing
to put, get, and free
  public abstract Location allocate() throws NoAvailableSpaceException;

  // Stores up to BLOCK_SIZE bytes of data in location l. Data beyond BLOCK_
SIZE bytes should be truncated
  public abstract void put(Location l, byte[] data);

  // Returns the BLOCK_SIZE bytes of data stored at location l, or null if l
is unallocated
  public abstract byte[] get(Location l);

  // Indicates that an area of the buffer is no longer needed, and can be 
reused
  public abstract void free(Location l);

  // Called on shutdown
  private void onShutdown() {
    writeBufferToFile(); // writes the full contents of the buffer to disk, 
for reading when later invoked by the constructor
  }
}

T(无电面)
最诡异了,他们的内推系统似乎把我弄成了另外一个人,然后收到了信说没有match的
team,HR也从来没找过我,很遗憾。

X(offer)
一家朋友内推的startup,因为个人原因不说名字了,startup效率高,2轮电面+1轮
onsite(5个人)2-3周就都搞定了。题目大多不记得了,很多lc类似的题,比如:
1. binary tree max path sum (lc)
2. maximal square (lc - maximal rectangle)

Blendlabs(过了电面,准备把onsite拒掉了)
不错的startup,engineers都很nice,可惜我准备从了FB,打算把这家的onsite拒了。
题目就记下来了2道,比较简单:
1. Valid Parentheses
2. 给一组员工上班/下班时间,返回每个时间点正在上班的员工的数量

machinezone(电面跪了)
HR电话一上来就问了好多数据库的基础问题,他们似乎在找database administrator之
类的,毫无准备之下还是跪了。不过还是感谢版上朋友内推!

G(先跪了onsite,后来另外一个HR找我面另外一个职位,正在等offer)
现在想想onsite的题目其实都比较routine,悲剧了主要还是自己有1-2轮(总共有5轮
)发挥不好,上面经:
1. BST delete item
2. Game of Life (绝对高频题啊!)
3. 给定平面上一堆点,找出通过点最多的直线
4. 根据List1的顺序排序List2
5. 给一个整数矩阵,计算某submatrix所有点的数之和 (多次请求,所以要预处理)
6. maximal rectangle
7. candy crush相关的半设计半coding题
另一个职位就没啥好说了,coding题都比较简单

二西格玛(onsite跪了)
如版上朋友所说,phone interview超简单,onsite极其变态。Recruiter也很搞笑,早
期的时候热情如火,onsite结束后完全消失,面试时信誓旦旦1周内给回复,然后我发
邮件完全不回,半个多月以后收到邮件拒信,发邮件问原因再无消息,让人感觉就是等
着面一堆人,然后选其中1-2个。
他们面试流程比较routine,上午3轮coding+design,要是面不好中午吃完饭就可以回
家了,下午3轮manager面coding+projects+culture fit, 下午的coding主要就看面试
心情了,感觉不是在题库里找的题。他们问的方向包括:
1. JUnit Test (给一个类,多个methods,让你debug)
2. Bit operation
3. Iterator操作 (给一个数组,根据某些特定限制写一个iterator)
4. Tree Operation (类似lc原题Binary Tree level order traversal)
5. Game of Life
6. System design (类似FB的,但是更简单一点)

FB(Offer)
最后一个就是FB了,1轮电面+1轮onsite(4个人)。onsite4个人就是经典的2 ninja (
coding), 1 pirate (system design), 1 jedi(projects+behavior+coding). 因为要
从了,就不说细节了。一点点提示,版上其他人提供的面经+系统设计总结非常非常有
用,一定要看啊!


另外找人内推或自己投了但是石沉大海的公司,主要是几家热门startup: A/U/P/RF. 
还有trip advisor.

希望版上还在找工作的朋友们一切顺利,早日收到心仪的offer!
--
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值