楼主: 李浩泉
跳转到指定楼层
上一主题 下一主题
收起左侧

新人发帖,分享DS、BIE、DE、SDE、TPM、PM面试经验

🔗
 楼主| 李浩泉 2020-6-16 05:48:57 | 只看该作者
全局:
6. trailing 7 days’customer calls per department
  1. SELECT
  2. RecordDate,
  3. Department_id,
  4. PhoneCalls,
  5. SUM(PhoneCalls) OVER(PARTITION BY Department_id ORDER BY RecordDate ASC ROWS BETWEEN 6 PRECEDING AND CURRENT ROW) AS Rolling_7_Days
  6. FROM customer_services
复制代码


回复

使用道具 举报

🔗
sandra0507 2020-6-16 06:01:28 | 只看该作者
全局:
感谢楼主~ 请问楼主已经拿到offer了吗
回复

使用道具 举报

🔗
 楼主| 李浩泉 2020-6-16 07:29:38 | 只看该作者
全局:
本帖最后由 李浩泉 于 2020-6-16 07:35 编辑

7. 概念类问题(此类题是针对L4的毕业生,职场新人)

-       union vs union all
-       几种JOIN的区别(多次考到)
-       snowflake schema vs. star schema
-       normalization 123
-       解释window function
-       CTE和temp的优缺点
-       Delete, drop, truncate table的差别
-       What's wrong with using average
-       analytical function有哪些
-       rank_dense_rank 区别

评分

参与人数 1大米 +1 收起 理由
zycalice + 1 赞一个

查看全部评分

回复

使用道具 举报

🔗
 楼主| 李浩泉 2020-6-16 07:32:03 | 只看该作者
全局:
sandra0507 发表于 2020-6-16 06:01
感谢楼主~ 请问楼主已经拿到offer了吗

谢谢,还在准备面试中。
回复

使用道具 举报

🔗
 楼主| 李浩泉 2020-6-16 07:35:18 | 只看该作者
全局:
8. Case Study(基本上都是和卖货发货相关的)一般此类题是针对L5-L6 BIE的,被问到是好事

1、我可以叫supplier发货到一个仓库,我也可以叫supplier发货到两个仓库。问题:我的assumption是第二个的可能性比较大,如果你是BIE怎么证明这个hypothesis是对的。

2、Amazon wants to build a new fullfillment center (warehouse). How would you propose this to stakeholders。

3、问了关于存货管理和logistics的分析,同时夹带问了几个基本的modeling问题。E.g., Data Scientist丢过来一个预测模型,如何判断这个模型是否靠谱?需要哪些数据?可以用哪些metrics?

4、How will you design the data structure for an ecommerce platform, e.g., Amazon? What tables do you need, what are the columns in your tables?

5、retail sales WOW降低了10% 问原因

6、给两个business metrics : [number of customers] 和 [revenue],如何作图讲故事给管理层
回复

使用道具 举报

全局:
太谢谢群主了!
回复

使用道具 举报

🔗
 楼主| 李浩泉 2020-6-16 08:08:21 | 只看该作者
全局:
本帖最后由 李浩泉 于 2020-6-16 08:09 编辑

9. Amazon travel 上线了,你是BIE,汇报不同航线的成本,有一些是往返的航线,有一些是单程

DEP  ARR  COST
---- ---- ----
BOS  SEA  100
CHG  SEA  100
NYC  CHG  100
NYC  SEA  100
SEA  CHG  100
SEA  LSA  100
SEA  NYC  100
SEA  SFO  100
SEA  SJO  100
SFO  CHG  100
SFO  SEA  100

Output:

DEP  ARR  COST
---- ---- ----
BOS        SEA        100
CHG        NYC        100
CHG        SEA        200
CHG        SFO        100
LSA        SEA        100
NYC        SEA        200
SEA        SFO        200
SEA        SJO        100



  1. SELECT DISTINCT
  2.        CASE WHEN F1.DEP < F1.ARR then F1.DEP else F1.ARR end as DEP,
  3.        CASE WHEN F1.DEP < F1.ARR then F1.ARR else F1.DEP end as ARR,
  4.        F1.COST + ISNULL(F2.COST,0) AS COST
  5. FROM flights F1
  6. LEFT JOIN flights F2 ON F1.DEP = F2.ARR AND F1.ARR = F2.DEP
复制代码





回复

使用道具 举报

🔗
 楼主| 李浩泉 2020-6-16 08:16:33 | 只看该作者
全局:
本帖最后由 李浩泉 于 2020-6-16 09:04 编辑

10. 这道题比较费时间,一次需要创建4个business metrics,除了第一很简单,后面三个都需要花一些时间。表结构越简单的,往往题目越难。需要LAG()

Date Source: visit log table
date,                visitor_ID
2020-03-15        545468
2020-03-15        289320
.....
2020-03-20        841312

Ouput:
        date       total_visitor,visitor_gain,visitor_loss,total_new_visitors

2020-03-15       101                   0                    0                       0
2020-03-16       130                  29                   0                      29
2020-03-17       155                  25                   0                      54
2020-03-18       150                   0                    5                      49
2020-03-19       135                   0                   15                     34
2020-03-20       160                  25                   0                      59




  1. WITH CTE AS (
  2.   SELECT
  3.     date,
  4.     COUNT(visitor_ID) AS total_visitor,
  5.     LAG(COUNT(visitor_ID),1,0) OVER (ORDER BY date) AS lastday_total_visitor
  6.   FROM visit
  7.   GROUP BY date
  8. ),

  9. CTE1 AS (
  10.   SELECT
  11.     date,
  12.     total_visitor,
  13.     CASE WHEN total_visitor - lastday_total_visitor > 0 THEN total_visitor - lastday_total_visitor
  14.     ELSE 0 END AS visitor_gain,
  15.     CASE WHEN lastday_total_visitor - total_visitor > 0 THEN lastday_total_visitor - total_visitor
  16.     ELSE 0 END AS visitor_loss
  17.   FROM CTE
  18. ),

  19. CTE2 AS (
  20.   SELECT
  21.     date,
  22.     total_visitor,
  23.     visitor_gain,
  24.     visitor_loss,
  25.     visitor_gain - visitor_loss AS daily_change
  26.   FROM CTE1
  27. )

  28. SELECT
  29.     date,
  30.     total_visitor,
  31.     visitor_gain,
  32.     visitor_loss,
  33.     daily_change + (LAG((daily_change),1,0) OVER (ORDER BY date)) AS total_new_visitors
  34. FROM CTE2
复制代码










回复

使用道具 举报

🔗
yeyixin1993 2020-6-16 09:04:09 | 只看该作者
全局:
感谢楼主!太感谢了
回复

使用道具 举报

🔗
 楼主| 李浩泉 2020-6-16 10:26:29 | 只看该作者
全局:
本帖最后由 李浩泉 于 2020-6-16 10:45 编辑

11. the table of account_plan(id, date, plan_type), find out all ID's and Dates when ID switched plan.
      id         date                plan_type
100005    2020-03-20          Active
100005    2020-03-28          Active
100005    2020-03-29         Pening
100005    2020-03-30        In-Active
100005    2020-03-31          Active

Output

    id          date  

100005    2020-03-29
100005    2020-03-30
100005    2020-03-31


  1. SELECT id, dateFROM
  2. (
  3.   SELECT
  4.         id,
  5.         date,
  6.         plan_type,
  7.         LAG(plan_type) OVER(PARTITION BY id ORDER BY date) AS LastType
  8.   FROM account_plan
  9. ) T
  10. WHERE plan_type <> LastType
  11. OFFSET 1 ROW
复制代码



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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