推荐:数据科学课程和书籍清单以及培训讲座


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 2517|回复: 10
收起左侧

2014-04-22 Facebook 电话面试

[复制链接] |试试Instant~ |关注本帖
johnnywsd 发表于 2014-4-23 10:48:25 | 显示全部楼层 |阅读模式

2014(4-6月) 码农类 硕士 全职@Facebook - 网上海投 - 技术电面 |Other

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干活,快来注册

x
第一题:稀疏向量的点乘。

第二题:(以Git bisect 为背景的题目, 他给解释了一下bisect是干什么的,没有听懂,不影响做题)题目抽象出来就是一个布尔型的数组,从某一项开始就全变成False了,找出第一个False的index。已知第一项一定为真,最后一项一定为假。
-google 1point3acres
楼主会在楼下附上自己的代码。

评分

2

查看全部评分

 楼主| johnnywsd 发表于 2014-4-23 10:49:57 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
第一题:

  1. class PMatrix(object):
  2.   def __init__(self, init_list):
  3.     self._pm = {} 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  4.     self.len = len(init_list). 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  5.     for idx, item in enumerate(lint_list):
  6.       if item != 0:
  7.          self._pm[idx] = item
  8.         
  9.   def get_item(self, idx):
  10.     return self._pm.get(idx, 0)
  11.   
    . 1point3acres.com/bbs
  12.   def dot_product(self, B):. 鍥磋鎴戜滑@1point 3 acres
  13.     res = 0. 鍥磋鎴戜滑@1point 3 acres
  14.     #for i in range(self.len):
  15.       #res += self.get_item(i) * B.get_item(i) 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  16.     for i in (self._pm.keys()):
  17.       res += self.get_item(i) * B.get_item(i)
  18.       return res
复制代码
回复 支持 反对

使用道具 举报

 楼主| johnnywsd 发表于 2014-4-23 10:52:57 | 显示全部楼层
关注一亩三分地微博:
Warald
第二题. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

is _good(rev)是一个给定的函数。 楼主面试的时候要求脸书的面试官使用https://coderpad.io/, 以便于运行楼主的code。一开始面试官怀疑楼主写的代码的正确性,楼主和面试官就一起写了几个test case,然后运行了一下。证明楼主是对的。
  1. def is_good(rev):
  2.   return rev < 174

  3. def bisect(good, bad):
  4.   left = good
  5.   right = bad
  6.   while left <= right:
  7.     mid = left + (right - left) / 2 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  8.     if mid > 0 and is_good(mid - 1) and not is_good(mid):
  9.       return mid
  10.     elif is_good(mid):-google 1point3acres
  11.       left = mid + 1
  12.     else:
  13.       # not is_good(mid):
  14.       right = mid - 1
  15.         
  16. res = bisect(86,594) #works :)
复制代码
回复 支持 反对

使用道具 举报

discoveryi 发表于 2014-4-23 11:06:40 | 显示全部楼层
我也是今天电面,为什么楼主比我难了那么多。。。
回复 支持 反对

使用道具 举报

 楼主| johnnywsd 发表于 2014-4-23 12:11:44 | 显示全部楼层

.1point3acres缃是嘛?你的题是什么呀。我觉得我的题已经是相当简单了。比Google, Linked什么的简单太多了。
回复 支持 反对

使用道具 举报

nathanwong 发表于 2014-4-23 12:29:15 | 显示全部楼层
lz, 第二题不是太明白干神马,因为python基础为0.。看不懂楼主代码,能多解释几句么?谢谢了
回复 支持 反对

使用道具 举报

 楼主| johnnywsd 发表于 2014-4-23 13:01:59 | 显示全部楼层
nathanwong 发表于 2014-4-23 12:29 . more info on 1point3acres.com
lz, 第二题不是太明白干神马,因为python基础为0.。看不懂楼主代码,能多解释几句么?谢谢了

把题目抽象一下就相当于一串由0 1 组成的数组,左半部分都是1, 有半部分都是0, 求出第一个0出现的位置。
回复 支持 反对

使用道具 举报

eusoff 发表于 2014-4-23 13:48:21 | 显示全部楼层
lz是13fall的?这是找internship还是fulltime. visit 1point3acres.com for more.
谢谢。。。
回复 支持 反对

使用道具 举报

 楼主| johnnywsd 发表于 2014-4-23 14:20:12 | 显示全部楼层
eusoff 发表于 2014-4-23 13:48
lz是13fall的?这是找internship还是fulltime.鐣欏璁哄潧-涓浜-涓夊垎鍦
谢谢。。。

full-time 12fall
回复 支持 反对

使用道具 举报

小红帽zq 发表于 2014-5-23 10:13:12 | 显示全部楼层
这题目真的是看人,有人出的挺简单的,有的烙印出得就很难
回复 支持 反对

使用道具 举报

 楼主| johnnywsd 发表于 2014-11-25 05:15:40 | 显示全部楼层
lz就是个jb
回复 支持 反对

使用道具 举报

本版积分规则

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-7-24 05:10

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表