纽约地铁新手指南

一亩三分地

 找回密码 注册账号

扫描二维码登录本站

最近看过此主题的会员


码农求职神器Triplebyte
不用海投
内推多家公司面试

Total Comp Calculator
输入offer信息
系统自动计算每年收入

科技公司如何
用数据分析驱动产品开发
coupon code: 20%off 打八折

深入浅出AB Test
从入门到精通
coupon code: 20%off 打八折
游戏初创公司招聘工程师、UIUX Designer和游戏策划
坐标湾区
DreamCraft创始团队
招聘游戏开发工程师
查看: 1653|回复: 14
收起左侧

黑车面试 - SQL题

[复制链接] |试试Instant~
我的人缘0

分享帖子到朋友圈
waffle 发表于 2019-1-14 03:07:22 | 显示全部楼层 |阅读模式
本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   100% (12)
 
 
0% (0)    👎

2018(10-12月) 分析|数据科学类 博士 全职@Uber - 猎头 - 在线笔试  | Other | fresh grad应届毕业生

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

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

x


给了一张表trip_info, 表中的列有rider_id (unique per rider), trip_id (unique per trip), trip_timestamp_utc (the UTC timestamp for when the trip began), and trip_status(can either be ‘completed’ or ‘not completed’).
游客,本帖隐藏的内容需要积分高于 188 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.
ect the query to return if the data were valid。这个不熟,不知道问的什么意思。  请大家讨论吧。

求大米,蟹蟹!

评分

参与人数 7大米 +45 收起 理由
whalejasmine + 3 很有用的信息!
sherry900629 + 30
jackddt + 2 给你点个赞!
willwen1992 + 3 很有用的信息!
huixingzhijia + 3 很有用的信息!
violet625 + 1 给你点个赞!
embracesmile + 3 给你点个赞!

查看全部评分


上一篇:Bosch RTC SDE Onsite
下一篇:google面经
我的人缘0
geniuswu06 发表于 2019-1-14 08:30:46 | 显示全部楼层
本楼: 👍   100% (3)
 
 
0% (0)   👎
全局: 👍   78% (18)
 
 
21% (5)    👎
另外,既然说到了SQL,我来和同学们谈一下我的想法,
大家在复习的时候,不要只想着这题目怎么做,
你们还要想,他们为什么出这个题目,这对后续的business case 也是有帮助的。
. From 1point 3acres bbs
这里一般有两种可能,-baidu 1point3acres
第一种可能,纯粹测试我们的能力,
第二种可能,他们平时就用到这种逻辑的SQL。
游客,本帖隐藏的内容需要积分高于 10 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.
助。

这样一思考,你就会知道,考这个sql的目的,其实是他们分析目的之前,一个准备数据的小过程。
回复

使用道具 举报

我的人缘0
Syndra 发表于 2019-1-25 12:57:21 | 显示全部楼层
本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   93% (46)
 
 
6% (3)    👎
geniuswu06 发表于 2019-1-15 04:22
是sum。 把count后的人数加总, 不是把count的人数再count一样哟。

那你的t1表里面的cnt不是代表的是,每个rider有多少个trip么?那最后你是找有多少个rider有超过3次的订单,多少个rider,不是应该count(t1.cnt)或者count(t1.rider_id)么?
回复

使用道具 举报

我的人缘0
geniuswu06 发表于 2019-1-14 03:35:28 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   78% (18)
 
 
21% (5)    👎
There are two+ ways to write a query, which depends on the type of database:

1) PostgreSQL, Oracle, etc (which support Common table expression):. 1point3acres

. 1point3acres
with T1 as
(
select rider_id, trip_id, begintrip_timestamp_utc,
row_number() over (partition by rider_id order by begintrip_timestamp_utc asc) as r_n
from table
where trip_status = 'completed'
)

select T1.rider_id, T1.trip_id
f
游客,本帖隐藏的内容需要积分高于 10 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.
stamp_utc
from table
where trip_status = 'completed'. 1point3acres
) T1

order by begintrip_timestamp_utc asc

) T2


where T2.r_n = 3

评分

参与人数 5大米 +13 收起 理由
c010110 + 3 学习
louisgogogo + 3 给你点个赞!
huixingzhijia + 3 给你点个赞!
waffle + 3 给你点个赞!
cemaren2009 + 1 赞一个

查看全部评分

回复

使用道具 举报

我的人缘0
 楼主| waffle 发表于 2019-1-14 05:51:35 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (12)
 
 
0% (0)    👎
geniuswu06 发表于 2019-1-14 03:35
There are two+ ways to write a query, which depends on the type of database:

1) PostgreSQL, Oracl ...

最后的问题:
Write a test query to validate the data in the resulting table. Indicate what you would expect the query to return if the data were valid。

是什么意思?
回复

使用道具 举报

我的人缘0
geniuswu06 发表于 2019-1-14 08:20:55 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   78% (18)
 
 
21% (5)    👎
我们再来说下,最后一个问题哦,虽然我也没有把握,我说的对不对,供大家参考。

最后的问题:
Write a test query to validate the data in the resulting table. Indicate what you would expect the query to return if the data were valid

他这个问题,主要测试你SQL QA的能力。

我的思路是,写个query 算出“有效且完成3个及以上trip 有多少个人“。

从第一题的
游客,本帖隐藏的内容需要积分高于 10 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.

group by rider_id
) T1
where T1.cnt > = 3


如果两个结果一致,说明正确。
不一致,说明不正确。

回复

使用道具 举报

我的人缘0
willwen1992 发表于 2019-1-14 10:44:20 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (11)
 
 
0% (0)    👎
求问楼主
游客,本帖隐藏的内容需要积分高于 10 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.
呀~
回复

使用道具 举报

我的人缘0
drkmd8 发表于 2019-1-14 11:08:38 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (1)
 
 
0% (0)    👎
waffle 发表于 2019-1-14 05:51
最后的问题:
Write a test query to validate the data in the resulting table. Indicate what you wou ...

我觉得应该是你写个query看看结果,确保没有超过3天的trip_id被选中,或者status是uncomplete的record被选中,类似一个test
回复

使用道具 举报

我的人缘0
liyuan 发表于 2019-1-14 15:23:38 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   96% (30)
 
 
3% (1)    👎
geniuswu06 发表于 2019-1-14 08:20
我们再来说下,最后一个问题哦,虽然我也没有把握,我说的对不对,供大家参考。

最后的问题:

我觉得你分析得很好 思路很棒 另外sum(T1.cnt) 可能要改成count吧
回复

使用道具 举报

我的人缘0
geniuswu06 发表于 2019-1-15 04:22:28 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   78% (18)
 
 
21% (5)    👎
liyuan 发表于 2019-1-14 15:23
我觉得你分析得很好 思路很棒 另外sum(T1.cnt) 可能要改成count吧

是sum。 把count后的人数加总, 不是把count的人数再count一样哟。
回复

使用道具 举报

游客
请先登录
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法 - 不要多加空格: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版|小黑屋|一亩三分地

GMT+8, 2019-6-18 10:44

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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