找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2202|回复: 5
收起左侧

[Startup公司] BOAML Developer Onsite

[复制链接]

17

主题

9

精华

390

积分

高级会员

Rank: 3Rank: 3

积分
390
发表于 9-20-2015 04:09 PM | 显示全部楼层 |阅读模式

亲!马上注册或者登录会查看更多内容!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
纽约的office,猎头联系的
, ?3 ]7 P* l) ?+ n3 W7 O发现这里基本是烙印的窝啊
8 v, S  n+ |" R( {0 }- I除了manager,其他面我的都是烙印
3 ~4 q5 h2 |% [. d3 z) p" Z0 }结果也很奇葩,我基本答出了所有问题
2 @5 H. `" B/ o8 t4 d/ w" [但还是没有offer
& N  \6 ^. X1 ~( U7 `# b* _# [: [: Y+ f- F; b
第一轮* S  y$ n) S, V) K  u0 \
两个烙印一起面,两个看起来都很痞的样子6 D1 ^3 o0 p0 T) `- I& z
1.问会不会国际象棋,答:知道规则, o+ ~; O  I4 n3 n( e
2.要求写一个function来告诉King棋盘上哪些地方可以走,哪些不可以# B% A; a) O. D5 C
   我开始给的答案就是用一个binary matrix把这些信息存下来,然后看棋盘上哪些子,对这个matrix设成true or false   - M: ]+ O' @7 B# o/ y7 S" O0 t
    他也没有继续问了,所其实可以优化& ^: A. _7 E4 C7 h- P, @
3.问C++的virtual function的用法,要给个例子说明virtual function的用法
* s5 ?7 x8 u8 M8 L* L  W; U5 Z- A4.一个game,120个players,问怎样用最小的game来决出冠军; [. @2 E9 U/ l$ E4 O
   答案是尽量用knock-out淘汰赛。第一轮60场,第二轮30场,第三轮15场,这样还剩15人) K/ d% O+ v3 J6 V; ?* X& i9 T: B' K
          到15人的时候,先比7场,然后15人中的一个不用参加比赛就通过(这是他们告诉我方法)
; ?/ V7 b0 {2 M  W" Y          然后就剩8人,然后就4,2,1) q- h- x& W$ f0 U/ T) w
          所有最后是: 60+30+15+7+4+2+1=119- s: V: k  Q8 m) E
) o' F$ w0 d& Y8 ?
第二轮
/ R( ?+ _8 ?) `/ b0 H) T' Y还是烙印0 r: `3 a  g4 l8 D# e# c; }
1.问怎么样用array来implement一个FIFO的queue4 G4 \; Q! ]+ n' L! ~5 v. C
   我说可以用一个大点的数组,正常的FIFO操作,然后等data到最后一个element时,再整体shift一下
6 w. _6 Q' d( R' e, n( i$ `   烙印问,如果不想整体shift,有啥好的办法没有+ P0 k4 S* r2 I: F9 K" Y
   我说可以考虑把index roll over,就是queue的data在数组中可以不是连续的,到最后一个element的时候往array的另一边存5 `9 a* {( L- H! d$ `8 D7 G
   然后就让我写 enqueue()和dequeue()两个函数
3 d4 N& o8 |  M  t9 p  B2 V2 Y   还是有很多corner cases的,要十分注意
5 @1 M2 x: e* |9 t) @* C6 b  b2.问在写multi-thread程序时,如何避免deadlock
* B* s: h9 {& [5 L5 y    我给了一个方法,就是lock和unlock resources的时候要遵循一个顺序,这样可以一定程度上避免不必要的deadlock
9 l9 Y' \( h" [0 w  |  _  n6 M3.忘了问啥了
2 d  F  j) z/ a. J
9 F: E/ _' \3 s( U- z( L
! J% b, v/ k  ~; K. l第三轮
7 E; y2 v/ E" l1 I还是烙印。。。。
1 N) l( x  r0 }3 |7 s% J' v  b1.问有A,B,C,D四个1-9之间的不同的数,就是A,B,C,D中没有一样的+ ]& Y' i. X8 n0 h" m! T8 R" c
   如果把ABCD组成一个4位数的话,那么正好ABCD*4=DCBA,问A,B,C,D分别是多少?
8 e7 M5 q9 [1 Y) W   这题从最高位开始,知道ABCD×4不会变成一个5位数,那A要么是1要么是2。但是A不可能是1,因为D*4不可能是1,11,31,41这些数
. J+ i3 d* ^, x   那么A是2。那么4*D肯定就是12,22,32,42,52这些数。其中也就32可以。那么D就是8。那么我们有:2BC8*4=8CB2。继续推。' c/ t* a3 ]# K3 G# }
   按类似的方法,可以得出,A=2, B=1, C=7, D=8  W  j8 W4 D" y0 j6 \
2.问O(n)时间复杂度的具体定义,然后问了些binary search,hash table等数据结构的O(n)
; s; r$ D1 O8 Z/ g/ A2 G6 n* I0 [/ \3.给一个函数,这个函数的input是一个整数,output是 2^N mod 10。也是就输出2^N的个位数
. t3 f* R: m  I0 i+ {' r   这个问题显然是,如果N比较大的话,2^N就太大,存不了了
  U0 G4 m0 G) e3 @   我给的答案是,利用如下这个原理# Y* r" m' ]+ h' j
   如果 (A*B) mod 10 = ((A mod 10) * (B*10 mod 10) ) mod 108 q# t: @& p# Z* Q6 h  z6 X5 Y
   这样,可以写一个for loop来让一个数C(初始值为1)不断的做 C = C*2 mod 10直到N个循环结束
6 a" m5 Q/ Y  y   这样能永远保证C比较小
, U& f8 }2 @: F4 k+ T+ ]0 \* i7 a% X' |( H

4 U% ~0 e( o  ~3 N第四轮
9 U1 |8 n! ?. l6 m! h9 n终于不是烙印了,一个白人manager/ q2 E9 C  k4 M# \" k3 E
1.一个游戏,有100个players,每个人猜一个0-100之间的数
( a" G2 F+ Y# Q   然后对所有人的答案取平均,然后乘以2/3,谁猜的数离这个数最近,谁就赢。
, e- I% N' l% g$ _   问,该用什么样的策略?
0 Q% I, {# [* P   我给的结果是,第一轮分析假设所有其他人没啥智商,猜得结果随机0-100之间分布,那么平均值就是50,那么我应该猜50×2/3=33/ i+ x$ S7 ]" _- X- }/ F
   第二轮分析,假设其他所有人都跟我第一轮想的一样,那么平均值都是33,那我应该猜 33×2/3=220 n+ n  T  W/ C. e* ~- j
   第三轮,假设其他所有人都跟我第二轮想的一样,那么平均值都是33,那我应该猜 22×2/3=15+ R# y! ?# u7 E4 H$ c& {1 B
   那么无限分析下去,一个该猜0才对
& g" N8 d1 m3 T  P   这是假设所有人无限聪明的情况,如果有一部分人不够聪明,那么就不会奏效。! G( P4 z. q4 {  w$ Z/ i9 ^% ~
   所以可以考虑对所有参加的人建立一个智商模型,然后根据这个模型来判断应该猜什么数。
/ N* z9 p5 v2 y3 W; Q# {* c0 T, c) G
: c2 P3 T4 T8 [$ a9 v7 I
2.给一个数组,有正有负,求maximum subarray,就是经典的maxSubarray题目
5 a5 R( n$ D; @; G- \   我立马写出来的正确答案
* r( i; l* O5 d6 c   然后manager问我是不是之间见过,我只好说是。; X% ~3 H% X  h, @# B! d" d
   看来over practice也不好。; s8 h# M+ ]& G- K( m: P9 x& _
% K* m  n' i# H

+ ]* f* p1 Y( n' I6 \" {& `3 k8 l7 w  L9 ]1 [8 _' @7 d

评分

参与人数 1金钱 +20 收起 理由
Sophia + 20 赞一个!

查看全部评分

781

主题

575

精华

5670

积分

顶级版主

Rank: 9Rank: 9Rank: 9

积分
5670

活跃会员热心会员优秀版主

发表于 9-20-2015 08:15 PM | 显示全部楼层
感谢您的面经分享~~~祝您面试工作顺利~~~奖励积分满满送上~~~
我们始终相信IT会持续改造甚至创新传统行业,我们始终全面看好咱们的CS专业!

5

主题

0

精华

1160

积分

顶级会员

Rank: 6Rank: 6

积分
1160
发表于 9-27-2015 12:08 AM | 显示全部楼层
请问楼主:怎么被猎头联系?谢谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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