今天电面了一下依图科技这家在人工智能领域的大牛公司,不过不得不吐槽一下,面试官手机质量估计有问题,声音嗡嗡响,作为一个技术总管,好歹整个好点的手机啊,猎头的手机都比你的好,弄的我整个过程交流都像喉咙里卡了翔一样不畅快。
不过anyway这公司毕竟b格挺高的,闲聊瞎扯淡一阵之后,先谈了谈项目经历(国际惯例了),然后开始说要问我一道“简单”的算法题,还说要用google doc来写,不知道是不是有意的,明知道国内翻墙不是很方便(虽然我有vpn,但是真的今天vpn不work啊),我估计是为了看你这个程序员是否够geek, geek怎么能不翻墙呢?这都小事啦,上来问我kmp算法,老实说,我到挂电话都没听清这几个字母,说什么k&t算法?What the fck!!!反正听不清我就大概听到字符串匹配的东西。老实说,去年准备换工作都时候还真学习过kmp这个算法,应该说算法思路倒是不复杂,但实现起来有多麻烦,这个印度人也bb了十几分钟才讲清楚。不过anyway,这种算法算简单?这在互联网公司的面试里也算偏门算法吧?问这个跟问dijkstra算法我看差别也不大了,不是说算法本身逻辑有多复杂,而是说感觉这些都属于专用型的算法,不算通用型的算法啊。
好吧,你说简单就简单吧,接下来大概的意思就是,既然你不知道kmp算法(我冤),那你来实现一个字符串匹配算法好不好呀?我说那我稍微画一下草稿,然后我说老实说字符串匹配如果用java的indexOf做就可以了(感觉又多嘴了,我知道你想问匹配算法逻辑),既然你要匹配,那就一个个比嘛,为了减少时间复杂度就把比较的各种分枝做个剪枝嘛,比如后面几个字符串就不用比了,然后用hashmap记录一下各个字符的位置,然后减少一些不必要的首字母比较,然后问我时间复杂度是多少,我说最坏O(m*n),然后他一脸鄙视地说那就是n方咯?
我说是(这里难道不是用O(m*n)说法更准确?),字符串匹配这里在不用kmp的情况下我真不知道有什么时间复杂度表达式上看起来更好的算法。anyway,这个问题说完之后,我就有种感觉要挂了,因为他也就寒暄两句把面试结束了,然后我问个问题,他也一副不耐烦的口气,一般我感觉要挂的,无一例外都要挂。不过依图这种公司,以我目前的功底,最终结果是挂我并不意外,就是感觉这次挂的过程实在是有点冤而且不爽。
...查看更多