狗家超短电面

一个叫安德鲁的小哥,搜索组的,上来二话不说直接怼题,题不难感觉运气超好

  1. 热身题 直接用的google doc上的提示语 给一个空格分割的text t=“please use this Google doc to doing your interview” 然后给一个list of words = [’‘please’’, ‘‘interview’’, ‘‘me’’] 返回word是否在text里面。比如这个case就是[true, true, false]
    LZ转成lower然后按照空格split存的set,遍历一遍word分别返回结果
  2. Follow up, 如果可以跨过空格匹配,怎么改。我用了trie维护words,然后把text中的空格去掉,对于text的每个位置,查trie中是否包含这个串的前缀。一个小的细节是words里面可能有词是另外词的前缀,所以trie的查询应该是返回所有的词而不是找到就return。
    以及python里面不要用text[i:]这样的写法,小哥问我这么写复杂度多少,我突然反应过来这样python会copy str,说是n的不应该这么写,然后把trie的查询操作改成了接受text的referrence和一个起始位置。

每一题都需要把分析的复杂度写在doc里,估计这是写review的考核之一?提醒大家写的时候细心一点

整体第一遍写的时候有些小错,大概花了25分钟写完,小哥说我就准备了这一道题,不过我还能想起别的题如果你想做,我乖乖认怂说不了不了一道挺好的,小哥也乐了。小哥做NLP里面的QA系统的,LZ也有点NLP背景然后跟他聊了五分钟,挂掉电话看一共半个小时。
求onsite!!