Facebook DE 技术面试面经

没有新题,coding部分因为corner case卡住了,只做了三道题,再加上面试官的interaction,所以感觉要凉了,唉。。哭死。

SQL:四道题还是products,sales,promotion,productfamily这四张

  1. 只用products这张表,求同时是low fat和recycle的产品比率,用sum(case when condition then 1 else 0 end)/cast(count(*) as numeric)

  2. single media type的啥来着,filter single media type用not like ‘%,%’, 计算output的variable还需要一个groupby

  3. 忘了,也是一个ratio,跟第一题有点像,需要join两个表

  4. 输出三列,不同productfamily的total sale units 和 validpromotion sale units与 invalid promotion sale units的ratio。要把四个表全部join,totalsale units还是用sum(case when statement)求,group by product family,最后的ratio也一样,是不是valid promotion就看join之后promotion表里面的是不是null,是null就是invalid promotion

coding:(where I’mstuck,好难过)

没有新题,给我的三道是

  1. 一个string, 一个substr,计算substr出现的次数,不要用count函数

  2. 一个list里面有None,把None用前一个代替,cornercase里有第一个element就是none的,这时候就不用管,还是none就行

  3. 两个string,返回两个string different的word

其实不难,但是coding的时候用脑过度加上紧张,那些corner case就搞不定,难搞哦。。。。

请问下第一题和第三题有什么corner case 要注意嘛?

第一题简单的,第三题注意跟空str比较就好啦。你要技术面了嘛?

对啊,我coding比较差,好害怕

没事的没事的,我也是coding比较差,多看面经,好好准备,稳定发挥就行。其实回头看感觉coding难度上没有很难,然而我并没有发挥好,唉。你加油!

以及请问楼主 面试是现场跑面试官准备的testcase还是test也要自己写呀,如果不过会显示debug的信息么,还是全要自己想?

现场跑,每写完一道就run,会有error,根据error你再改你的码,pass了才会进行下一道。test不用自己写的

第一题是str里找substr么 用bruteforce就可以?

Bruteforce 是啥,一个简单for loop就可以了呀

请问楼主coding的corner case都是神马。。求指导

就是什么空字符啊空list啊啥的

感谢楼主~~ 请问coderpad python会像leetcode一样给出class和function def么还是都要自己从头写

不需要,写主体就行