您的位置:首页 > 职场人生

第一次(失败的)面试:记字节跳动数据挖掘岗位实习生面试经验

2018-10-17 14:10 1061 查看

我最开始对数据挖掘算法实习生这个岗位的预估是和机器学习有紧密联系的,于是就复习了一些算法方面的东西,没有集中刷Leetcode,没想到面试官只问了我一个关于机器学习问题,还十分的偏数学,与我的预期差距很大。

 

公司给我的整体印象不错,环境也很好,就是在给我找面试官和面试房间的时候在系统里找不到我的信息,于是之后坐在前台等着他们处理,感觉自己没有收到重视。之后面试官来了给我带到了一个空房间,房间里有4个座位,房间布置的还比较舒适。接下来是面试的过程。

 

首先面试官问了问我的学校,我是某大学大四在读的学生,和我聊了聊之后的打算,打算出国,问我申了哪些学校什么cornell,UMich,CMU感觉高端一点的就往上说。然后开始聊项目,我的第一个项目是飞思卡尔智能车比赛,面试官可能对这个有一些研究,感觉是挺有兴趣的问了问我现在的赛事规则,其中有一个Otsu算法是我们在比赛中使用的算法,我给面试官讲了一下最大类间方差的思路实现自动阈值,之后也没再多过问。

 

之后面试官询问了我的课程设置,我们系的课程既有控制论,模电这样偏硬件的课程,又有模式识别基础,人工智能基础,计算智能这样偏软件的课程。他就挑了一个模式识别问我都讲了什么,我就回答了一些分类算法。然后他就展开问了一下逻辑回归的思路是什么。由于头一天接到面试通知没来的及仔细看,所以回答的也不太好,就说到了极大似然估计,后面的没说出来,这里给大家推荐一个blog讲逻辑回归讲的很清楚的

https://www.geek-share.com/detail/2713889089.html

 

在黑板前站了一分钟发现说l不出来啥就换了别的话题。面试官问我数据结构和算法学过吧,说一下知道哪些排序算法。我说有快排,冒泡,希尔,堆排序,等等然后他问我前两个的时间复杂度知道么,其实这已经是大二学的课了,不太记得清楚,但是靠着模糊的印象反应过来nlogn和n方;面试官又问那你知道他们是不是稳定的呢:快排不稳定,冒泡稳定。

 

到这里他可能觉得我的算法基础的功底还行,于是就问我来之前刷题了么,我说没有。他笑了笑说,那就问你一个简单的算法题目:如何检查单链表中的环?

 

当时我看到这个题是懵逼的,很清楚曾经见过这个题,就是不知道怎么解,没办法之后硬做,我就现场想出了暴力求解法,再开一个新链表存储曾经访问过的目标链表的地址,然后每次在旧链递归查找新链表有没有重复的地址,如果有,则证明成环。

这里发一个比较好的解法https://www.geek-share.com/detail/2692871894.html

 

面试官听到这个解法是崩溃的,问我有没有更好的解法,我说暂时不出来了。于是就让我用代码实现一下,我用的是C语言写的,感觉写的不是很好,又检查了几遍,最后应该是能实现功能的,但是时间和空间复杂度都很高,然后就结束了。本来以为有2到3轮面试没想到一下就结束了,心也凉了一半。总之,继续努力吧。

Please Note:面试算法岗位的时候一定一定要刷Leetcode,不管是机器学习还是深度学习什么的,这考量的是一个编程者最基本的能力,还是很有用的,有些题现场想不一定会想到好解法,但是见过的话就一定能有思路的。

机器学习相关算法的岗位一定要注重基础,数学推导过程,只会使用库函数和看技术文档并不会被看好的。至少3大经典算法肯定要熟悉:LR,SVM,DT。祝好

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: