avatar
u*u
2
这题怎么搞。。?
设计股票价格的记录系统
只观察一支股票的价格,实现几个function:
- vold update(double price, int timestamp) 更新/修正/删除股票价格,其中
timestamp大部分
时间是递增的,但是有时候发现过去的记录有错误,所以会对过去数据修正或
invalidate。
对过去数据修正是指input argument中的timestamp是一个已经记录在案的timestamp,让
price为function新提供的price;invalidat时候function argument中的price为-1,
删除
timestamp对应的记录
- double max() 返回历史最大值
- double min() 返回历史最低值
- double current() 返回最近一次的记录
针对各种情况进行实现和算法复杂度讨论。(大量更新?大量查询?invalidate很多很
少?etc.)
avatar
J*n
3
9月的RD在TSC
12月做过一次加急申请 得到的回复是security check还没做完
今天跑去一问 人家说12月10号就clear了 汗一个
让我回去等30天 没消息再来 (那个officer 挺nice的 赞一个)
希望好消息快点来!
avatar
s*s
4
改名字,搬家
avatar
g*y
5
感觉前几天有人问过了?这莫不是狗家最新题库

,让

【在 u**u 的大作中提到】
: 这题怎么搞。。?
: 设计股票价格的记录系统
: 只观察一支股票的价格,实现几个function:
: - vold update(double price, int timestamp) 更新/修正/删除股票价格,其中
: timestamp大部分
: 时间是递增的,但是有时候发现过去的记录有错误,所以会对过去数据修正或
: invalidate。
: 对过去数据修正是指input argument中的timestamp是一个已经记录在案的timestamp,让
: price为function新提供的price;invalidat时候function argument中的price为-1,
: 删除

avatar
j*a
6
Bless!
avatar
a*s
7
我已经背板三年了

【在 d**j 的大作中提到】
: 一大早打个电话说我会被办福利,有办法去掉这个吗?
avatar
g*y
8
这题不就是一个array就完事的嘛?有了新的时间直接append到最后。如果修改老的数
据的话,就告诉面试官你见过多少历史数据出错的?这个case交给on call解决。真出
现了rebuild index就行了。
这个面试官的意思肯定是弄两个自平衡的二分排序树,一个大根一个小根,这样所有修
改都是O(logn)。看到这样的题就应该直接告诉他,你这一个类做了两件事,一个是存
储历史数据,一个是对最大最小值的索引和查找。让他回去重新上大一学一下solid里
面的s是个什么意思。这样的面试题本身就是违背原则的,不面也罢!
如果真是狗家面试,那更不能怂,10分钟赶快写好bug free的logn解答,然后当面告诉
丫,你们的园区真漂亮,题目真有价值,能够加入谷歌是我一辈子的愿望,我特别喜欢
你们的文化。

,让

【在 u**u 的大作中提到】
: 这题怎么搞。。?
: 设计股票价格的记录系统
: 只观察一支股票的价格,实现几个function:
: - vold update(double price, int timestamp) 更新/修正/删除股票价格,其中
: timestamp大部分
: 时间是递增的,但是有时候发现过去的记录有错误,所以会对过去数据修正或
: invalidate。
: 对过去数据修正是指input argument中的timestamp是一个已经记录在案的timestamp,让
: price为function新提供的price;invalidat时候function argument中的price为-1,
: 删除

avatar
l*s
9
请教3个月就可以申请加急?用的是什么理由呢?
avatar
u*u
10
谢谢,我是看面经总结里的,应该是个典型问题
有人给了他的答案,我觉得不怎么看得懂(第一种实现里什么叫update:大多数O(1),
少数O(n);如果max price的股票Invalidated,怎么update max还是O(1) ??? 第二种
实现 min/max Heap 怎么update??)
第一种实现:假设update频率比较低
Map time2Price;
Double min;
Double max;
Double current;
那么
- update:大多数O(1),少数O(n)
- Max, min, current:O(1)
- S(n)
第二种实现:update频率较高
Map time2Price;
MinHeap minHeap;
MaxHeap maxHeap;
LinkedList list;
那么:
- update:O(log n)
- max(), min(): 最好O(1),最坏O(k log k)
- list:最好O(1),最坏O(k)
- S(n)

【在 g****y 的大作中提到】
: 这题不就是一个array就完事的嘛?有了新的时间直接append到最后。如果修改老的数
: 据的话,就告诉面试官你见过多少历史数据出错的?这个case交给on call解决。真出
: 现了rebuild index就行了。
: 这个面试官的意思肯定是弄两个自平衡的二分排序树,一个大根一个小根,这样所有修
: 改都是O(logn)。看到这样的题就应该直接告诉他,你这一个类做了两件事,一个是存
: 储历史数据,一个是对最大最小值的索引和查找。让他回去重新上大一学一下solid里
: 面的s是个什么意思。这样的面试题本身就是违背原则的,不面也罢!
: 如果真是狗家面试,那更不能怂,10分钟赶快写好bug free的logn解答,然后当面告诉
: 丫,你们的园区真漂亮,题目真有价值,能够加入谷歌是我一辈子的愿望,我特别喜欢
: 你们的文化。

avatar
J*n
11
9月的RD在TSC
12月做过一次加急申请 得到的回复是security check还没做完
今天跑去一问 人家说12月10号就clear了 汗一个
让我回去等30天 没消息再来 (那个officer 挺nice的 赞一个)
希望好消息快点来!
avatar
j*a
12
Bless!
avatar
l*s
13
请教3个月就可以申请加急?用的是什么理由呢?
avatar
b*n
14
bless
avatar
w*2
15
Bless
avatar
c*a
16
bless
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。