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


一亩三分地论坛

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

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

[找工就业] 【分享】Facebook面经~转自mitbbs~

[复制链接] |试试Instant~ |关注本帖
sqzhang17 发表于 2014-7-22 01:32:48 | 显示全部楼层 |阅读模式

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

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

x
原帖在这:
http://www.mitbbs.com/article_t1/JobHunting/32739945_0_1.html

1. 给两个类A和B
class A {
public void foo (A a) {
  ...
}
}
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴class B extends A {
public void foo (B b) {
  ....1point3acres缃
}
}
问这么写会不会有问题. 1point3acres.com/bbs
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
2. 关于Database的题,假如你执行
select * from employee
employee是一个table-google 1point3acres

但是返回错误说,这个table不存在什么的,但是现在已知存在这个table,问你可能是
什么原因。
完全没有思路,就说我也不知道。。。

3. 一种字母游戏这样的
给定四个位置 _,_,_,_
然后每个位置可以选5个candidates,然后问这些candidates最多可以组成多少个有效
的词,字典是给定的。. From 1point 3acres bbs

比如,
如果字典是 [cake, bike, fake]
我们可以这样选candidates
第一个位置可以选 b,c,f,e,d 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
第二个位置 i,a,o,p,e
第三个位置 k,m,w,q,a
第四个位置 e,g,h,k,l
那这些可以组成3个有效的词 cake, bike, fake.

但是如果,这样选每个位置的candidates
第一个位置可以选 z,c,v,b,y
第二个位置 i,a,o,p,e
第三个位置 k,m,w,q,a
第四个位置 e,g,h,k,l

只能组成一个有效的词就是bike.
这样就是第一种选candidates的方法比较好。
. From 1point 3acres bbs
然后问你怎么选每个位置的candidates,最终可以让能组成的词最多。.1point3acres缃

没有什么特别好的思路,问是不是brutal search,还有更好的方法吗?答:你如果要
brutal search的话,你估算一下时间。
我就开始算时间,发现很长,然后面试官说,那你想办法优化。。。但是因为算brual
search的时间算了太长时间了,就没什么时间优化了。。。
. 1point3acres.com/bbs————————————————Over啦~~Over~~Ove~~Ov~~O~~——————————————————————

看了一下帖子~职位是entry level software engineer~
第一题大家都说可以compile~但是不符合多态性原则~应该避免~
第二题大家说缺少了database名称~应该是db.employee
第三题没太看懂~
——————————————————————————分割线啊~分割线~分割~分~——————————————————————————
有个问题想问一下大家~第一题里面这算是override吗?不是说signature需要一致吗~B类当中foo()的arguement跟A类当中的foo()的argument不一样啊~
lzd1127 发表于 2014-7-22 07:53:35 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
第一题是overloading吧 , 我试了试, 有一点有点奇怪
  1. class A {
  2.         public void foo(A a) {
  3.                 System.out.println("I am A");. more info on 1point3acres.com
  4.         }
  5. }
  6. class B extends A {-google 1point3acres
  7.         public void foo(B b) {
  8.                 System.out.println("I am B");
  9.         }. 鍥磋鎴戜滑@1point 3 acres


  10.         public static void main(String[] args) {
  11.                 A a = new A();. 1point 3acres 璁哄潧
  12.                 B b = new B();
  13.                 A c = new B();
  14.                 a.foo(a);
  15.                 a.foo(b);. from: 1point3acres.com/bbs
  16.                 a.foo(c);
  17.                 c.foo(a);
  18.                 c.foo(b);. 1point3acres.com/bbs
  19.                 c.foo(c);
  20.                 b.foo(a);.鏈枃鍘熷垱鑷1point3acres璁哄潧
  21.                 b.foo(b);
  22.                 b.foo(c);
  23.                
  24.         }
  25. }

  26. . from: 1point3acres.com/bbs
复制代码
输出
  1. I am A
  2. I am A
  3. I am A
  4. I am A
  5. I am A
  6. I am A
  7. I am A
  8. I am B.鏈枃鍘熷垱鑷1point3acres璁哄潧
  9. I am A
复制代码
其中 b.foo(b)输出B 不奇怪,但是c.foo(b)输出A是为什么啊, c 的dynamic type不是B么

补充内容 (2014-7-22 08:42):. more info on 1point3acres.com
好像就是这样的,就是和polymorphism 不一样。。
回复 支持 反对

使用道具 举报

 楼主| sqzhang17 发表于 2014-7-22 08:58:18 | 显示全部楼层
关注一亩三分地微博:
Warald
lzd1127 发表于 2014-7-22 07:53
第一题是overloading吧 , 我试了试, 有一点有点奇怪输出其中 b.foo(b)输出B 不奇怪,但是c.foo(b)输出A是 ...

嗯~我自己也写了一下~的确是override了~但是带入的argument不一样啊~为什么还override了呢~
.1point3acres缃
c的type应该就是A吧~所以每次调用都是调用A类中自己的foo方法~
回复 支持 反对

使用道具 举报

lzd1127 发表于 2014-7-22 14:17:20 | 显示全部楼层
不不不,这不是override, 在class B, 如果public void foo(B b) 换成  public void foo(A b)才是override,需要signature一样。。。
回复 支持 反对

使用道具 举报

 楼主| sqzhang17 发表于 2014-7-23 01:17:12 | 显示全部楼层
lzd1127 发表于 2014-7-22 14:17
不不不,这不是override, 在class B, 如果public void foo(B b) 换成  public void foo(A b)才是override, ...
.鐣欏璁哄潧-涓浜-涓夊垎鍦
哦哦~我觉得也是啊~嗯~
回复 支持 反对

使用道具 举报

saklyn 发表于 2014-7-23 10:58:57 来自手机 | 显示全部楼层
第三题感觉是DP
回复 支持 反对

使用道具 举报

saklyn 发表于 2014-7-23 11:04:41 来自手机 | 显示全部楼层
saklyn 发表于 2014-7-23 10:58
第三题感觉是DP

可以用DP来做,就是,找到字典的longest common strings,然后在对应的位置candidates必须包含lcs。. 鍥磋鎴戜滑@1point 3 acres
然后再到字典里找the second longest common string
一直到lcs长度为1。
然后再把字典里包含lcs的的词中不属于lcs的部分放到candidate里面。
回复 支持 反对

使用道具 举报

 楼主| sqzhang17 发表于 2014-7-23 12:19:15 | 显示全部楼层
saklyn 发表于 2014-7-23 11:04
可以用DP来做,就是,找到字典的longest common strings,然后在对应的位置candidates必须包含lcs。
然 ...

嗯~同意~应该可以~
回复 支持 反对

使用道具 举报

shiragiku 发表于 2014-8-3 05:47:20 | 显示全部楼层
sqzhang17 发表于 2014-7-23 12:19
嗯~同意~应该可以~
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
看不懂DP地方法,能不能麻烦您解释的详细一点
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-7-27 22:59

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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