b*******d 发帖数: 750 | 1 感觉面试很少规律可循啊。有了两个offer,也不是都答的很好,但offer了。
但昨天的一个,我感觉的面得挺好的。居然拒了。3轮电脑上的coding,两轮白板。
想来想去,估计是第一个coding有点问题。主要是他不认可我的方法,但我的unit
testing也都过了,并且我觉得比他的方法好点。其他的几轮都是提前10分钟结束的。
很奇怪。。。 |
I*****8 发帖数: 37 | 2 面试就是相亲,看人的,大牛说下什么题目把,什么方法他不认可? |
b*******d 发帖数: 750 | 3 是个start up,不说名字了,不太好。
题目并不是太难。服务器端接受用户的刷卡服务。
customer1 使用了card1 make了一个purchase
customer2 使用了card2 make了一个purchase
customer3 使用了card1 make了一个purchase
customer1 使用了card2 make了一个purchase
。。。
这是个graph,里面有customer node和card node,上边的客户1 2 3 都是related
customer (connected in the graph)。
设计一个类,query customer id,返回所有related customer;添加一个新的
purchase (就是一个新的customer+card pair),能很快的将其index了。
我的做法是:所有connected 的customer构成一个cluster,created一个cluster id,
Map> M1 表达 (clusterId,customers)。
然后保持一个Map M2, 表达(customer,clusterID)。
also 保持一个Map M3, 表达(card, clusterId).
query做的话,先query M2, 得到cluster Id,再query M1,得到具体的customers。
新的purchase (customer + card)来的时候,先用card query M3,看此card是否被
用过,如果有,得到它的clusterId,添加M2,并update M1。
有个特殊情况是我没有想到的,他提示,但我也做出来了的:就是新的purchase中,
customer已经在M2中,card也已经在M3中,但对应不同的cluster id,这意味着这两个
cluster需要被merge起来(两个different connected components被一条新的edge连起
来了)。这个update有点复杂,但我也做出来了。
问到如何deploy到HBase上时,我答得不算好。他实际过程中一直不是很同意我的方法
。我觉得我的方法好是因为:我确实保持了多余数据,但update相对简单,这中间没有
对graph的traversal,还是适合在HBase上实现的,因为唯一的数据结构就是Map,就是
HBase上的kv pairs。
总体看,我是在最后一分钟才过的unit test。之前有个NPE,他貌似没有完全听懂我的
方法,看到NPE,就打算离开了。这是个小bug,我fix了,有点超时。告诉他test都过
了。他又看了会code,不置可否。
我知道我figure out solution有点慢了。没有像其他几轮tech面试,都是提前10分钟
完成。
其他coding题,也有些问题:integer的Autoboxing;返回null还是throw exception(
对待非法input的时候)。但都不是大问题。
关于其他的题,都比较常见:
1. 机器上coding:binary search tree三个操作,insert,remove,isValid
2. 机器上coding:Iterator of list of list
3. 白板:找到sum是0的subarray,N^2 --> linear,写code。
4. 白板:architect一个web service:request,LB,memcache,persistence,就是
很标准的架构,中间说了说improvement。
5. 白板:以前的project。
6. 经理面谈。
除了第一个,其他都得到了好的反馈。第一个也比较郁闷,因为他的junit没有装,我
说就直接用main打印不行么?他先说可以,又不断的中间打断我来设置junit和写unit
test case。
猎头说问题出在coding上,我思来想去,除了第一个coding,不应该出现问题。就是这
样,打算练下leetcode。早上第一个code,还不是很在状态。 |
j********g 发帖数: 244 | 4 3. 白板:找到sum是0的subarray,N^2 --> linear,写code。
这个是2sum吗。。。其他还有什么是可以linear的呀?。。。恕我愚钝。。 |
b*******d 发帖数: 750 | 5
找到一个range [i...j], sum(A[i], A[i+1], ..., A[j]) = 0.once you get N^2,
you will see linear solution very easily.
【在 j********g 的大作中提到】 : 3. 白板:找到sum是0的subarray,N^2 --> linear,写code。 : 这个是2sum吗。。。其他还有什么是可以linear的呀?。。。恕我愚钝。。
|
l*****a 发帖数: 14598 | 6 最近面经比较少
赞一个
【在 b*******d 的大作中提到】 : 是个start up,不说名字了,不太好。 : 题目并不是太难。服务器端接受用户的刷卡服务。 : customer1 使用了card1 make了一个purchase : customer2 使用了card2 make了一个purchase : customer3 使用了card1 make了一个purchase : customer1 使用了card2 make了一个purchase : 。。。 : 这是个graph,里面有customer node和card node,上边的客户1 2 3 都是related : customer (connected in the graph)。 : 设计一个类,query customer id,返回所有related customer;添加一个新的
|