扇贝面试经历

来源:互联网 发布:linux sendmail smtp 编辑:程序博客网 时间:2024/04/30 07:41

扇贝面试经历

       纪念一下人生中的第一个offer。

        一个偶然的机会被小威哥内推去扇贝公司的lab岗位。听说这个组研究的东西很有趣,还有轩神也在这个组。虽然之前没接触过机器学习,但还是很感兴趣。

       先从小作业说起吧。笔试是在一周时间内,完成一份小作业:提供一段英文语料,根据语料把一个文本文件里的单词和拼音区分开。我的做法是用语料中的单词构建字典树,额外再列出每个汉字的音节。判断英文时用字典树匹配,判断拼音时递归暴搜匹配每一个音节。这个解法不是常规的自然语言处理的思路,不过还是能有效区别出单词和拼音。局限性后面再提。小作业通过后就是面试了。

       4月12号下午经历了两个半小时的面试,智商被碾压,但也获益匪浅。

       第一位面试官直接出了一道算法题,英文题面。题目大意为:给定一组数字(乱序),比如 :1 34 47 3 25 20 16 14 , 要求求出有序后数组中相邻数字的最大差值,时间复杂度为O(n)。样例的答案为13。

        一开始看成了直接排序,但只要找到最大值就可以了。想了很久思路不对,一开始觉得用哈希表存储,初始化表值为0,输入过的数作为哈希表的下标标记为1,然后从最小值遍历到最大值来求取答案。但是这个方法局限性太大了,只适用于整数,对于浮点数会失效。还有时间复杂度也不是O(n),而是和最大最小值的差值有关,对于稀疏的数组,资源浪费严重。想了半天没想到解法,面试官先给了提示,然后就告诉我思路了(此处被深深嫌弃):要考虑到所求值会有一个下线,最大值减最小值的差正好是的所有相邻数字差的和,而“平均差”就是答案的下线,平均差 = 最大值减最小值的差 / (n-1) ,以大值减最小值的差为整体,以平均差为单位区间来划分整体,数组里的数字会分散在这些区间里,因为“平均差”是下线,相邻数字的最大值一定不会在同一个区间。只要寻找不在同一个区间的相邻数字的最大差值即可。

       不得不说数学很神奇,智商是硬伤。。。

       得到思路后就开始上机编写程序了,本来想用C++,但当时办公室的电脑没装C++编译环境,就用java写了。写的时候数组的数字用的浮点类型,中途还写错了几个地方,比如区间中最大最小值的初始化,还有要注意跳过没有数值的区间,面试官边看边予以纠正,还好思路没有停滞,最后出正确结果的时候终于松了一口气。

       然后面试官针对我的简历又提了一些问题。他对我发表过的一篇专利比较感兴趣,是关于社交网络图模型的一个算法,但这个理论算法还没有实践使用过。

       第二位面试官针对我的小作业进行了提问,也提出了一些不足,比如我的方法不能明确区分出某个特殊字符串是英文还是拼音,比如cate,我的方法判断它既是英文,又是拼音,因为字典树里有这个单词,它又能正确拆解出汉字音节。但实际上它是只个英文,因为汉语里不能牵强地得到一个拼音为“ca te”的词语,这就要用到概率统计的知识了。面试官希望我从语料中找到英文单词的一些特性。还好我面试前又自己尝试着写了一个“拼写检查器”,提到了贝叶斯公式、编辑距离等相关概念,正好用到了概率统计的知识。类似于中文中两个字的组合是否为一个词语的统计方法,英文也可以通过几个字母的组合是否为一个单词的统计方法得到答案。

       接着面试官又提出两个问题,这次不用编程,直接回答。第一题:有1000瓶水,其中一瓶有毒药,已知一只小白鼠喝过毒药后一天之内会死亡,现在给你一天时间,求最少需要多少只小白鼠才能判断出哪瓶是毒药。这题还好,用到了二进制思想,答案是10只。第二题是在第一题条件的基础上,把给你一天时间改为两天。这题没回答上来,面试官给了提示三进制,答案是7只。

       最后是hr面试,感觉hr姐姐就很温柔了,了解了一下我的基本情况和未来规划之类的,介绍了一下公司情况。面试过程就结束了。

       回来路上反思了很多。还问了一下小明我面试的这些问题,他很轻松就想到了解决方法,此处智商再次被碾压。。

       第二天惊喜地收到了offer。听小威哥说面试官不要求一定要想出正确解决方法,关键是想看看我的思维方式和编程能力。总之很幸运能进入这个组和优秀的同学同事共事,要学的东西还很多,为自己加油。

总结:1、刷题量不够,知识积累有待提升。

           2、要注重二进制思维的培养,位运算的使用。

           3、数学很重要,不仅数学知识本身,还有数学思维的培养。

           4、注意编程语言的底层逻辑,代码量有待提升。

           5、表达能力:要把想法更简洁清晰地表述。

路漫漫其修远兮,要学的东西还有很多,每天加油吧~

0 0
原创粉丝点击