注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号
x
IBM Watson Assistant下面的组,就是做一个类似聊天机器人的东西。job title写的是Machine Learning Infrastructure Engineer,但HR说偏ML和偏infra的都会招,面试也是两方面都会考查。楼主在第二轮电面的时候挂了,下面是面经:
第一轮:
华人大哥,简单聊了下项目,然后开始做题:
给两个strings A和B,都只由英文字母组成,判断B是否是A的subsequence,也就是能不能在A里面删掉0个或若干个字符得到B。用Two pointers O(n)解决
做完以后给了一个follow-up:如果有很多个B,要对同一个A做判断,该怎么优化?
这个楼主一下子没反应过来,就说应该是要对A做些预处理,把它存到某种数据结构里。然后面试官给了点提示,说针对B里面的每一个字母,我们只对A里面的对应字母感兴趣。然后楼主想到可以用dictionary针对A里面每个不同的字母存储它们出现的位置,也就是每个字母存一个list,list里面就是这个字母在A里的出现位置。然后把每个B扫一遍,针对当前字母在list里面做binary s,然后让我写了一下。写完以后开始follow-up,比如对问题的回应不只是一句回答,还要转到对应网站怎么办?用户输入的文字有变化怎么办?诸如此类的。有些写了代码有些没写,然后时间就到了。
总的来说沟通一直不是很顺畅,大部分时间在各种clarify,每道题的要求都给的很模糊,这算是所谓的OOD?一直在试图搞清楚是想让我做个high-level design还是一个简单版本的实现,实现的话要做到多大程度的flexibility,哪些可以hardcode。结果实际写出来的代码都是非常简单粗暴的,最后也是不出意外地挂了,可能以后应该多想想怎么样更高效地沟通吧
|