找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

[Startup公司] BOAML Developer Onsite

[复制链接]

17

主题

9

精华

390

积分

高级会员

Rank: 3Rank: 3

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

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

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

x
纽约的office,猎头联系的  N7 x* Z( j, ?( D# V: U2 N
发现这里基本是烙印的窝啊6 t1 G; F% f6 V
除了manager,其他面我的都是烙印
8 _& j0 c4 o& ^% f: V/ s2 \结果也很奇葩,我基本答出了所有问题: {2 {& x0 F  H% W1 I
但还是没有offer8 x* F. W! q! |3 P# W. J6 e# s
  Y' a: ?  g4 e" X+ H
第一轮6 Q. t: z! k/ Z( h" e& f: @
两个烙印一起面,两个看起来都很痞的样子& {8 t% x9 n, x: e! N& o
1.问会不会国际象棋,答:知道规则
! u( C+ c# J4 c! a2.要求写一个function来告诉King棋盘上哪些地方可以走,哪些不可以/ C5 ^: r  G. I4 i
   我开始给的答案就是用一个binary matrix把这些信息存下来,然后看棋盘上哪些子,对这个matrix设成true or false   " R* s; w7 {5 r" K! u8 k% ~
    他也没有继续问了,所其实可以优化
$ Z2 V* q' z$ V3 u3.问C++的virtual function的用法,要给个例子说明virtual function的用法
7 O+ P* {" T- T& a4 [2 P/ f; ~9 I4.一个game,120个players,问怎样用最小的game来决出冠军
8 C1 r- [) C4 h; [& Q' {   答案是尽量用knock-out淘汰赛。第一轮60场,第二轮30场,第三轮15场,这样还剩15人* j1 L, M0 i* w# G/ I" s
          到15人的时候,先比7场,然后15人中的一个不用参加比赛就通过(这是他们告诉我方法)& Z: _% N2 K, b" i5 u
          然后就剩8人,然后就4,2,1
/ }1 h9 ]0 T  ~, q- l" F/ `: S# j          所有最后是: 60+30+15+7+4+2+1=119
& j7 w3 a$ o6 y! s4 U4 O) F! J( @
第二轮
+ Z- V) M  c9 x; G' ]% ]4 e还是烙印0 ^2 U2 a9 G+ i# P% m& |! C: e0 U! w
1.问怎么样用array来implement一个FIFO的queue
  \* b; w* p& z. ?! f+ N7 N+ S   我说可以用一个大点的数组,正常的FIFO操作,然后等data到最后一个element时,再整体shift一下* T* M0 ]3 ]" n7 t
   烙印问,如果不想整体shift,有啥好的办法没有
6 S* Y% u0 ]7 T/ v   我说可以考虑把index roll over,就是queue的data在数组中可以不是连续的,到最后一个element的时候往array的另一边存0 W- e8 H: ]  e7 |7 U6 u
   然后就让我写 enqueue()和dequeue()两个函数
4 i) N$ j& H% a2 N3 T   还是有很多corner cases的,要十分注意
* |3 [* K* n6 S" D" a2.问在写multi-thread程序时,如何避免deadlock
3 j. R2 ^% a  ]4 m3 d4 L1 ?    我给了一个方法,就是lock和unlock resources的时候要遵循一个顺序,这样可以一定程度上避免不必要的deadlock
  `5 H1 X; M( a- C0 _) w/ h3.忘了问啥了) w0 E. \* y; b; {7 G. E6 ^1 U8 y5 d

* R  Q2 _4 P3 w  L
" z& _0 X/ V5 e$ |5 V第三轮
% E$ Z7 ^! b1 @; m- Q/ M0 z/ i还是烙印。。。。4 B) f7 n" k; [$ E. [- D
1.问有A,B,C,D四个1-9之间的不同的数,就是A,B,C,D中没有一样的
5 k/ u5 L# S* y, {8 v   如果把ABCD组成一个4位数的话,那么正好ABCD*4=DCBA,问A,B,C,D分别是多少?
. V+ N) ~; M) G   这题从最高位开始,知道ABCD×4不会变成一个5位数,那A要么是1要么是2。但是A不可能是1,因为D*4不可能是1,11,31,41这些数
% a0 L4 I7 ]' M; \: S7 ^   那么A是2。那么4*D肯定就是12,22,32,42,52这些数。其中也就32可以。那么D就是8。那么我们有:2BC8*4=8CB2。继续推。) @# L9 l. G5 h4 N" L
   按类似的方法,可以得出,A=2, B=1, C=7, D=8
& K$ Z' ~, {4 S+ r) d# d  {2.问O(n)时间复杂度的具体定义,然后问了些binary search,hash table等数据结构的O(n)
5 }/ p1 \+ q! T3.给一个函数,这个函数的input是一个整数,output是 2^N mod 10。也是就输出2^N的个位数
5 \$ w8 @0 ?. N' v# P3 L/ p   这个问题显然是,如果N比较大的话,2^N就太大,存不了了
- t% L* L4 Y( z( a3 U$ g: A. u   我给的答案是,利用如下这个原理0 Q2 R# h$ U. w% u
   如果 (A*B) mod 10 = ((A mod 10) * (B*10 mod 10) ) mod 10$ z* N8 y! F4 S8 U1 k) _
   这样,可以写一个for loop来让一个数C(初始值为1)不断的做 C = C*2 mod 10直到N个循环结束; D8 d. ?& B( O3 s, K
   这样能永远保证C比较小: o# m; p# U1 l& T+ w% x* a

0 u  G4 O$ P( W2 B! W9 x( S* }8 z; p
5 I4 o, y3 f% H0 m: X4 O& k! e第四轮
5 U4 n" D6 n1 M) Y终于不是烙印了,一个白人manager
; V1 F6 p5 t) E: C/ }1.一个游戏,有100个players,每个人猜一个0-100之间的数9 A  \" n9 |6 B5 u
   然后对所有人的答案取平均,然后乘以2/3,谁猜的数离这个数最近,谁就赢。
3 E5 W4 ?! ?5 E. Q4 |   问,该用什么样的策略?
1 v- Z, S; ~0 P8 a6 b   我给的结果是,第一轮分析假设所有其他人没啥智商,猜得结果随机0-100之间分布,那么平均值就是50,那么我应该猜50×2/3=33. k% w. ~. P# [% }; ?; r
   第二轮分析,假设其他所有人都跟我第一轮想的一样,那么平均值都是33,那我应该猜 33×2/3=22
* \# o) \& V( Y  D, K" V   第三轮,假设其他所有人都跟我第二轮想的一样,那么平均值都是33,那我应该猜 22×2/3=15  [. ?& A3 I, G- z
   那么无限分析下去,一个该猜0才对
3 \1 ~6 S' N% X) a3 m/ h   这是假设所有人无限聪明的情况,如果有一部分人不够聪明,那么就不会奏效。- x4 @/ n; f8 U: f
   所以可以考虑对所有参加的人建立一个智商模型,然后根据这个模型来判断应该猜什么数。
: }: J+ @2 H% ^" x
( d7 k1 e9 L' L* t6 ~% N9 ]8 p. g3 `5 V6 Q5 ~, ^
2.给一个数组,有正有负,求maximum subarray,就是经典的maxSubarray题目
$ g+ u: \8 w, s* z% y   我立马写出来的正确答案
9 S; a9 {! g" Q9 U/ Y: p. M4 \! R   然后manager问我是不是之间见过,我只好说是。  q. H. v& a! `: n
   看来over practice也不好。
: u3 O9 o- D' L. K8 P% j/ {
( ]  W1 z4 R7 \
+ k- B4 D5 }& F4 u, E; S8 C
  y$ F2 D. e6 {& s( V

评分

参与人数 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 | 显示全部楼层
请问楼主:怎么被猎头联系?谢谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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