推荐:数据科学课程和书籍清单以及培训讲座


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 3668|回复: 13
收起左侧

Uber二面

[复制链接] |试试Instant~ |关注本帖
laurie洁 发表于 2015-8-26 05:58:11 | 显示全部楼层 |阅读模式

2015(7-9月) 码农类 硕士 全职@Uber - 内推 - 技术电面 |Otherfresh grad应届毕业生

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干活,快来注册

x
一个国人小哥,先问了问我的背景,想做什么,我说data analytics相关,predictive modeling之类。然后问我用过什么工具,我说R, Python软件包建desicion tree, random forest模型。于是问random forest的概念,以及当有很多data或者很多树的时候,会不会overfit。
然后感觉小哥是要给我放水吗?问我想做coding题还是algorithm题。我说不知道建一个algorithm会有多难,咱还是coding吧。
于是问了一道best time to buy and sell stock I 的变形。就是给了一定的钱,可以买非整数股。
大环境下大家都在时时刻刻关心股票的节奏吗?





补充内容 (2015-8-27 05:06):
今天收到onsite通知~~

评分

1

查看全部评分

airwindow 发表于 2015-10-11 04:51:36 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
f1371342385 发表于 2015-9-6 07:32
LZ请问这个可以买非整数股对题目有啥影响呢?和原题目的话,有啥不一样呢?

以下是我的一点愚见哈:
原题:. visit 1point3acres.com for more.
If you were only permitted to complete at most one transaction (ie, buy one and sell one share of the stock), design an algorithm to find the maximum profit

题目说得比较隐晦,但是我们实际上是允许买卖一次股票(只有一股,无论多贵),问最大利润。
显然的思路就是:选出最大(sell_price - buy_price), 其中buy_price一定要出现在sell_price前面。
但是lz碰到的revised version里面,是给定一定的money(你可以买任意数量股票,甚至面试官简化到了可以只买分数形式股票),那么这时候我们需要care的就是这些money能挣到的最多钱了。

Example:
[10, 17, 5, 10]
传统stock sell and buy问题,答案很显然应该是:17 - 10 = 7.
revised version: given 20刀让你交易,那么最优的策略就应该是:
buy_price: 5, sell_price: 10. profit = ((10/5) - 1) * 20 = 20刀,
很显然,如果用传统问题的交易策略,我们只能获得 profit = ((17/10) - 1) * 20 = 14刀。





. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
我想到的办法是:把"profit_rate = sell_price / buy_price"作为目标。

鏉ユ簮涓浜.涓夊垎鍦拌鍧.
回复 支持 1 反对 0

使用道具 举报

leixiang5 发表于 2015-8-26 06:20:03 | 显示全部楼层
关注一亩三分地微博:
Warald
楼主填application的有没有选组啊。。我不知道选哪个组- -。我都蛮喜欢的。
回复 支持 反对

使用道具 举报

 楼主| laurie洁 发表于 2015-8-26 06:32:39 | 显示全部楼层
leixiang5 发表于 2015-8-26 06:20
楼主填application的有没有选组啊。。我不知道选哪个组- -。我都蛮喜欢的。
. From 1point 3acres bbs
有,但是不记得选的什么了~汗~~~. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
我一面的小哥把我转到了二面的组
回复 支持 反对

使用道具 举报

leixiang5 发表于 2015-8-26 06:43:02 | 显示全部楼层
好吧。看来大概是因为你说了你想做什么。所以把你转了
祝楼主拿到on-site。
回复 支持 反对

使用道具 举报

 楼主| laurie洁 发表于 2015-8-26 07:11:52 | 显示全部楼层
leixiang5 发表于 2015-8-26 06:43-google 1point3acres
好吧。看来大概是因为你说了你想做什么。所以把你转了
祝楼主拿到on-site。
. 1point3acres.com/bbs
谢谢!!的确是的~~借你吉言哦
回复 支持 反对

使用道具 举报

psychiatrichwj 发表于 2015-9-5 04:15:32 | 显示全部楼层
这么巧。。你也要面Uber啊。。我们都是面完Fb面Uber麻。。。
回复 支持 反对

使用道具 举报

f1371342385 发表于 2015-9-6 07:32:12 | 显示全部楼层
LZ请问这个可以买非整数股对题目有啥影响呢?和原题目的话,有啥不一样呢?
回复 支持 反对

使用道具 举报

又见紫风铃 发表于 2015-10-9 05:31:18 | 显示全部楼层
给了一定钱是什么意思?钱不够买整股的时候就买一部分?
回复 支持 反对

使用道具 举报

majiamajia 发表于 2015-10-9 06:30:44 | 显示全部楼层
楼主多久有的2面通知?
回复 支持 反对

使用道具 举报

airwindow 发表于 2015-10-11 04:22:05 | 显示全部楼层
谢谢lz分享... 想问问这道题的解法.
.鏈枃鍘熷垱鑷1point3acres璁哄潧传统Stock Buy and Sell 1,我们假设没有资金的限制,但实际的求解效果是只买了和卖了一只股票(最大差价 = sell_price - buy_price)
但是对这道题,我们实际上是可以买部分股票(股票数:money / stock_prices), 于是我们关心的是资金带来的赚钱rate(rate = sell_price / buy_price ). 所以我们可以有以下算法.
  1. int maxProfit(double[] prices, amount) {
  2.         if (prices == null || prices.length <= 1)
  3.                 return 0;
  4.         double max_rate = 1.0;
  5.         double min_price = prices[0];
  6.         for (int i = 1; i < prices.length; i++) {
  7.                 max_rate = Math.max(max_rate, prices[i] / min_price);. 1point 3acres 璁哄潧
  8.                 min_price = Math.min(max_pricess, prices[i]);
  9.         }
  10.         return (max_rate == 1 ? 0 : (max_rate - 1) * amount);
  11. }
复制代码
回复 支持 反对

使用道具 举报

f1371342385 发表于 2015-10-11 06:06:57 | 显示全部楼层
airwindow 发表于 2015-10-11 04:51
以下是我的一点愚见哈:
原题:. more info on 1point3acres.com
If you were only permitted to complete at most one transaction (ie ...

LS说的非常有道理,受教了
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2016-2-10 10:52:36 | 显示全部楼层
请问楼主这个是怎么做的呢?
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2016-2-10 10:55:59 | 显示全部楼层
请问是可以交易几次呢?如果是一次的话,那一点都没变啊
回复 支持 反对

使用道具 举报

本版积分规则

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-7-23 15:08

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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