San Jose各个房价 <1.5m 区域买房总结

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投
内推多家公司面试
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
把贵司招聘信息放这里
查看: 3236|回复: 21
收起左侧

Houzz DS/QA 电面 跪经

[复制链接] |试试Instant~ |关注本帖
Aesculus 发表于 2017-7-4 05:27:09 | 显示全部楼层 |阅读模式

2017(7-9月) 分析|数据科学类 博士 全职@Houzz - 网上海投 - 技术电面  | Fail | 在职跳槽

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

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

x
DS面经真心少,贡献一个攒rp
海投的他家DS,对内装挺感兴趣的,可惜还是跪了

第一轮电面,和一个华人姐姐聊,简历问得特别细,几乎让我把做过的一个project里的model从头到尾完整描述一遍,并且不停地challenge问为什么要这么做,每一步每个细节都会问到,说实话我觉得问model没什么,但我觉得太细节的地方并不能讲……问完简历开始做题,问了一道很基础的统计题(扔小球),延伸问了假设检验 p-value, 然后是一道a/b test,不仅要讲明白实验怎么design还要有business sense,最后一道sql,很简单的先agg再left outer join

面完后HR告知,不够DS的bar,让我继续去面QA,并且可能还要有两轮电话面试,我晕
第二轮电面,是个三哥,感觉没什么interaction,全程都在迷之尴尬沉默,问了我一道我感觉很难的sql,果断跪了……
  1. session_id    ts        action              
  2. s1      123456789    ViewPhoto
  3. s1      123456790    ViewPhoto. visit 1point3acres for more.
  4. s1      123456791    ViewPhoto
  5. s1      123456795    ViewPhoto
  6. s1      123456796    ViewProduct
  7. s1      123456797    ViewPhoto
  8. s1      123456798    END
  9.   .留学论坛-一亩-三分地
  10. s2      123456830    VewProduct
  11. s2      123456831    ViewPhoto
  12. s2      123456832    Share
  13. s2      123456833    ViewPhoto
  14. s2      123456845    END. more info on 1point3acres
  15. . From 1point 3acres bbs
  16. s3      123456830    ViewPhoto                  
  17. s3      123456798    END  

  18. What is the maximum # of consecutive photos viewed in every session?

  19. s1 - 4
  20. s2 - 1. 一亩-三分-地,独家发布
  21. s3 - 1. 围观我们@1point 3 acres

复制代码
这题如果用python做其实不难,平时sql用的太少,window function不是很熟……



总体感觉他家HR不是很专业……

评分

1

查看全部评分

riva420 发表于 2017-8-2 03:31:59 | 显示全部楼层
看到楼上的讨论,上一个我的写法,抛砖引玉~

WITH session1 AS.留学论坛-一亩-三分地
(
select *,a.row_num-ROW_NUMBER() OVER(PARTITION BY session_id ORDER BY ts) as grp. more info on 1point3acres
from
(SELECT *, ROW_NUMBER() OVER(PARTITION BY session_id ORDER BY ts) AS row_num
FROM session ) a
where a.action='ViewPhoto'. 围观我们@1point 3 acres

)

select b.session_id,max(count) as max_consecutive.本文原创自1point3acres论坛
from (
select session_id,count(*) 来源一亩.三分地论坛.
from session1-google 1point3acres
group by session_id,grp order by 1.留学论坛-一亩-三分地
) b group by b.session_id order by 1

回复 支持 1 反对 0

使用道具 举报

iamchrisa 发表于 2017-7-4 06:35:25 | 显示全部楼层
他家hr确实很难联系上 只有他们找我 没有我找他们的
我是先做题 然后电面 电面跪在了一个华人妹妹手上
回复 支持 反对

使用道具 举报

csytracy 发表于 2017-7-6 06:04:53 | 显示全部楼层
iamchrisa 发表于 2017-7-4 06:35
他家hr确实很难联系上 只有他们找我 没有我找他们的
我是先做题 然后电面 电面跪在了一个华人妹妹手上

去linkedin上搜了一圈,那应该是个华人姐姐了, 一个北大本+伯克利phd;一个清华本+ucsd phd的。。。我应该好好准备下再来了。。。bless lz!!
回复 支持 反对

使用道具 举报

iamchrisa 发表于 2017-7-6 06:49:31 | 显示全部楼层
csytracy 发表于 2017-7-6 06:04
去linkedin上搜了一圈,那应该是个华人姐姐了, 一个北大本+伯克利phd;一个清华本+ucsd phd的。。。我应 ...

面试官不是那两个人
回复 支持 反对

使用道具 举报

cicylili 发表于 2017-7-16 05:48:17 | 显示全部楼层
我也是在职跳槽电面挂了。那个人叫MengFei Jiang。上来跟我说她自己Berkely统计硕士毕业,整个电面态度非常挑衅。
回复 支持 反对

使用道具 举报

riva420 发表于 2017-7-18 04:12:28 | 显示全部楼层
这种sql感觉是种套路题,两个window function嵌套,没准备过,面试的情况下很难想出来。 楼主别灰心,好机会多的是~
回复 支持 反对

使用道具 举报

ohhelenguo 发表于 2017-7-18 04:58:45 | 显示全部楼层
这个题目我onsite的时候也面了,当时太困实在没做出来,不过不是用window function吧。。

补充内容 (2017-7-18 04:59):
我当时和recruiter联系的时候,感觉他们确实效率很低,不是很专业的感觉,但是后来听说他们同时在面很多人,感觉也是可以理解的
回复 支持 反对

使用道具 举报

七瓣酱 发表于 2017-7-18 11:53:41 | 显示全部楼层
试着写了一下最后一道sql题

WITH session1 AS
(
SELECT *, ROW_NUMBER() OVER(PARTITION BY session_id ORDER BY ts) AS row_num
FROM session
)
SELECT s1.session_id, CASE WHEN s2.row_num IS NOT NULL THEN MAX(s2.row_num) ELSE 1 END AS max_clicks
FROM session1 s1
INNER JOIN session1 s2 ON s1.session_id = s2.session_id AND s1.row_num = s2.row_num - 1 AND s1.action = s2.action
GROUP BY s1.session_id
回复 支持 反对

使用道具 举报

yuf1357 发表于 2017-7-26 05:16:29 | 显示全部楼层
跪谢楼主!求问他家QA data challenge的面经,昨天收到邮件约data challenge说是3个小时的题目应该是data processing, 多谢!
回复 支持 反对

使用道具 举报

yuf1357 发表于 2017-8-1 02:06:12 | 显示全部楼层
七瓣酱 发表于 2017-7-18 11:53. visit 1point3acres for more.
试着写了一下最后一道sql题. 1point 3acres 论坛

WITH session1 AS

Hi又看到你了哈哈 想请教一下你的code里 为什么不是MAX(s1.row_num), s2.row_num不会多加了一个1吗?

我是这样写的,大概思路差不多,就是MAX那块不一样
# generate a temporary table. 留学申请论坛-一亩三分地
SELECT *, ROW_NUMBER() OVER (PARTITION BY session_id ORDER BY ts) AS rank .1point3acres网
INTO session1.本文原创自1point3acres论坛
FROM session;.1point3acres网

SELECT s1.session_id, MAX(s1.rank)
FROM session1 t1. 1point 3acres 论坛
LEFT JOIN session1 t2
ON t1.session_id = t2.session_id AND t1.rank =t2.rank-1 AND t1.action=t2.action
GROUP BY t1.session_id
WHERE t2.ts IS NOT NULL AND t1.action="ViewPhoto";
回复 支持 反对

使用道具 举报

七瓣酱 发表于 2017-8-3 22:14:06 | 显示全部楼层
yuf1357 发表于 2017-8-1 02:06
Hi又看到你了哈哈 想请教一下你的code里 为什么不是MAX(s1.row_num), s2.row_num不会多加了一个1吗?

...

后来发现我那个query写的好多地方是错的 这里用row_number的话没办法判断是不是consecutive的,只会把所有标记为‘ViewPhoto’且属于同一个session的entry从1开始编号。so。。。等高手解答.1point3acres网
. Waral 博客有更多文章,
补充内容 (2017-8-3 22:24):
不对我理解有误。。。你的做法大体是对的 @yuf1357 不过最后不该加WHERE t2.ts IS NOT NULL吧?如果有session只有一条record呢?
回复 支持 反对

使用道具 举报

shaniavina33 发表于 2017-8-4 06:09:45 | 显示全部楼层
https://blog.jooq.org/2015/11/07/how-to-find-the-longest-consecutive-series-of-events-in-sql/

楼主可以看看这个
回复 支持 反对

使用道具 举报

yuf1357 发表于 2017-8-4 06:23:14 | 显示全部楼层
七瓣酱 发表于 2017-8-3 22:14
后来发现我那个query写的好多地方是错的 这里用row_number的话没办法判断是不是consecutive的, ...

对你说的有道理, 应该去掉IS NOT NULL的条件,前面JOIN ON的时候条件已经加够了

我是只考虑consecutive action写的, 如果是考虑viewphoto action with consecutive time, 那就不用row number了,直接用t1.ts=t2.ts-1来join。这种给senario的问题感觉一定要问clarifying question, 按自己理解做可能就掉坑里了。。。并不清楚这个题面试官是想按时间还是action..
回复 支持 反对

使用道具 举报

feiwudefeng 发表于 2017-9-2 01:02:51 | 显示全部楼层
shaniavina33 发表于 2017-8-4 06:09
https://blog.jooq.org/2015/11/07/how-to-find-the-longest-consecutive-series-of-events-in-sql/

楼 ...
. more info on 1point3acres
非常感谢你的发帖,我觉得这里说的才是解这类题的正确思路。
我onsite的时候也被问到了这道题,当时感觉不知道window function怎么下手就用session variable做了。但是看了这个链接的内容以后觉得这里才是最好的解法。
回复 支持 反对

使用道具 举报

shaniavina33 发表于 2017-9-2 07:24:36 | 显示全部楼层
feiwudefeng 发表于 2017-9-2 01:02
非常感谢你的发帖,我觉得这里说的才是解这类题的正确思路。.留学论坛-一亩-三分地
我onsite的时候也被问到了这道题,当时感觉 ...

haha,不用客气啦!你的面经都给的很详细,可以说是非常有心啦!good luck!!
回复 支持 反对

使用道具 举报

天天加油 发表于 2017-9-8 04:33:14 | 显示全部楼层
yuf1357 发表于 2017-7-26 05:16
跪谢楼主!求问他家QA data challenge的面经,昨天收到邮件约data challenge说是3个小时的题目应该是data p ...

大神方便分享一下data challenge的题嘛~~~邮箱是yts@bu.edu~~~祝offer多多
回复 支持 反对

使用道具 举报

cloudatlas 发表于 2017-10-11 12:06:44 | 显示全部楼层
感谢楼主分享!很受用哇!
回复 支持 反对

使用道具 举报

LoveLizzie 发表于 2017-10-16 03:58:18 | 显示全部楼层
提供一个略微不同的写法。

SELECT session_id, MAX(count) AS max_num
FROM (SELECT session_id, num, COUNT(*)
          FROM (SELECT session_id,. 1point 3acres 论坛
                                    SUM(CASE WHEN action_lag is NULL OR action != action_lag THEN 1. 1point3acres
                                                     ELSE 0 END) OVER (PARTITION BY session_id ORDER BY ts) AS num. 牛人云集,一亩三分地
                      FROM (SELECT *, LAG(action) OVER (PARTITION BY session_id ORDER BY ts) AS action_lag
                                  FROM session) a
                     WHERE action = 'ViewPhoto') b
          GROUP BY session_id, num) c. 留学申请论坛-一亩三分地
GROUP BY session_id;
回复 支持 反对

使用道具 举报

瓷心娃娃 发表于 2017-11-15 15:32:49 | 显示全部楼层
yuf1357 发表于 2017-8-4 06:23
对你说的有道理, 应该去掉IS NOT NULL的条件,前面JOIN ON的时候条件已经加够了. 1point 3acres 论坛

我是只考虑consecuti ...

我觉得不太对呀,假设session1里面row number为6,7,8也是viewphoto的话,那你的query的结果应该是8吧。我觉得应该是

SELECT *, ROW_NUMBER() OVER (PARTITION BY session_id ORDER BY ts) AS rank ,. more info on 1point3acres
ROW_NUMBER()OVER(PARTITION BY SESSION_ID,ACTION ORDERBY TS) AS RANK2
INTO session1
FROM session;

SELECT s1.session_id, MAX(s1.rank2)
FROM session1 t1
LEFT JOIN session1 t2
ON t1.session_id = t2.session_id AND t1.rank =t2.rank-1 AND t1.action=t2.action. from: 1point3acres.com/bbs
GROUP BY t1.session_id
WHERE t2.ts IS NOT NULL AND t1.action="ViewPhoto";
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2018-5-27 00:16

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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