周一面的Two Sigma, 现在刚刚拿到消息,已挂。
套路基本一样,自我介绍,简历问题,thread 还有process的问题。
之前把电面的面筋都看了一遍,唯一漏掉的就是多线程的问题(只看了概念)因为觉得不会考。。。。。
结果面我的老头(似乎是个VP)就出了到多线程给我,题目不难,但是表示那时候很慌,结果最后写完之后test case抖跑不过。
在那边和老头一起debug 了快半小时都没做出来, 老头也说不来为啥错了。。 结束老头就说了句 keep in touch,估计是新的good luck 的意思…
题目如下:
一个void generator (int ms, int bufferSize), 每隔 m (ms) 会generate 一个token 到queue 里面。 另外一个int getter(int desiredAmount) 去queue 里面fetch 它最大可以拿的数目,就是如果queue 里面的size大于它想要的,那么就返回那个desiredAmount,不然就直接返回当前queue 所有的数目。
我用了个不熟的synchronousQueue来做,其实应该直接用锁就好了,对queue的size 来增加减少,那时候也没想出来。。。