SQL questions_facebook

Q1:

上来情景是一般fb会发给用户不同类型的message,有的是需要用户confirm的。后面巴拉巴拉一大串开头有点紧张也没有完全听明白。但是对于我们这种刷题型选手这不重要!只要上了table一下就能看懂了。不过大家还是要认真听intervewer说话,不要miss掉重要信息。例如:fb可能给同一个号码发送多个需要confirm的message. 这个就是个信息,你可能代码里需要写distinct !
我记忆里的信息,尽量还原,不保证一模一样。
鏉ユ簮涓€浜�.涓夊垎鍦拌鍧�. 
table: SMS_INFO
column: { ds | country | carrier | user_number | message}
给大家解释下:
ds: datestamp (yyyy-mm-dd)
carrier: 手机的carrier
message: FB给用户发送的类型 (eg. message, friend_request, post, ....). 

1) distribution of number of messages fb sent to each carrier in each country yesterday...
这个很显然了不多解释
提醒: 要会写yesterday的表达方式 (类似的还有几天前什么的....)
尽量think out loud, 一边写一边说。但是我知道SQL边说边写很清楚是很难的。
我的interviewer写完了他会让你go through你为什么那么写。所以注意练习下自己口语!表达一个问题的逻辑的能力

接下来第二小问。第二个table
table: Confirm_Info
column: {ds | number_point}
这里虽然叫另外一个名字,但其实就是第一个table里的phone number
这里可以看出,FB这个职位的面试套路满满,虽然想耍点心计,但是一般不会出现偏怪的东西。要细心!.1point3acres缃�
2)confirm rate
具体不太记得了,当时立刻反应出来和friend request_acceptance_rate那种题目一样的,再次套路满满!
所以问了interviewer有没有threshold?比如24小时之内confirm的才算有效confirm?
面试官:good question! 你觉得threshold定多少?why
我说24 hour因为user cant check their phone from time to time, but after 24 hours, its easy for them to forget..
这里欢迎大家讨论其他的回答。
重点是没有标准答案,你自己要反应快,懂得弄一个合理的解释出来!
后来又问我几个细节的问题,为什么最后data type 是floating的啦,为什么用left join不用其他join啦

Q2.

175. Combine Two Tables

猜你喜欢

转载自www.cnblogs.com/ffeng0312/p/9694581.html
SQL