阿里,摩根,野村,腾讯,微软,图鸭科技机器学习面经分享

今天得知腾讯一面挂了,晚上又被图鸭科技的面试官虐,深夜难眠,想着整理出一份找实习的面试经历吧,总结总结经验和教训。

首先介绍一下自己,本人上交软件工程硕士,研究偏数据挖掘,机器学习方向,具体做知识图谱构建,实验室另一个组做推荐系统,耳濡目染因此对推荐系统也有所了解。另外就是私底下做过一些工程型的项目,处于什么都会一点但什么都不精通的尴尬状态,算法还过的去,英语不6。

切入正题,虽然本科也找过实习面过试,但实在不值一提。今年过年的时候一直在犹豫以后从事什么方向的工作,一直想着做金融有关的技术工作,还曾经犹豫不决要不要报6月份的CFA考试,现在看来不报是正确的,想要考过得潜心准备两个月以上,那就根本没精力找实习了。但在***司的时候,我还是偏向有金融背景或者金融相关业务的公司。

1.蚂蚁金服内推
看到同学有学长内推机会,就帮忙顺便内推了一下,是蚂蚁的财富事业群,java岗。不久就接到一面电话,在下午两点半。首先自我介绍,然后聊我做过的股票舆情分类的项目,穿插着聊对证券股市的看法,大概30分钟面试官突然说临时有事,晚点再打过来。5点半再次面试,开始问技术,问题有http与https 的区别,一段代码是怎么运行起来的,数据库查找7天以内的数据按天分类,java 是否存在内存泄漏,java 多线程同步,最后面试官 问我有什么梦想。一面就这样结束,自己感觉答的不好,没想到晚上8点半还有个电话过来,然而我出去健身没接到,之后就袅无音讯。两周后又接到电话,面试官说他们是做分布式的,而看我简历都是数据分析,问我职业规划,以后想做哪块等等。我表示了更想做做模型,面试官就表示把我简历推给算法部门看看,这次面试不到10分钟。大概一周后再次接到电话,这次应该是算法岗的面试官,问了map查询的原理,时间复杂度,机器学习正则化,L1,L2范式,如何判断训练数据量对于模型训练是否足够等等,还有印象深刻的是面试官一直问我本科的经历,有没有玩过开源项目,学的最好的课程,最有意义的项目等等。总体感觉聊的挺开,但我自己答的不好。一周后状态变成已回绝。

2.摩根内推
有个要好的同学想去摩根实习,他找了同学内推,我让他顺便也把我推了。这次的形式是quick select,摩根派了6个面试官来我们学校面20多个内推的人,通过就可以面笔试和电话面试。英语令我焦虑。面试官语速很快,我只能听懂一二。大概问了python爬虫用了哪个框架(scrapy),使用爬虫的过程中遇到的最大困难,进程与线程的区别,JVM, GC, JAVA内存泄露,JAVA同步机制,面试问题都答上来,只是英语表达的不太好,最后跟面试官谈谈职业规划。最后没过..之后也再走正式通道。

3.野村证券
日本最大的券商,上海这有个信息技术支持部门。招人不多,一年才招7个实习生。因为有学姐在那里,一直说怎么怎么好,于是就报了一下,投完 简历没有部门选择,先一轮大概20分钟的英文电话面试,问些基础问题,为什么投野村,如果有BAT offer选择哪个等等。然后在线笔试做3道简单的算法题,然后收到通知去现场面一个小时。 当天10点场,有两个面试官进来面我,全英文。一个说他们是用做内部使用的工具的,另一个是java做风控。一个python,一个java。首先问些项目,其中一个问我股票舆情分类那个项目,但不知怎么的她一直问我这个项目的output是什么,我一直解释是一个研究型项目,没有显式的output,只是得出一些现象的结论,这里纠缠很久。然后问我python 两个_和一个_前缀声明的区别,因为不怎么写python,我不知就换java面试官继续面我,问java的collection类有哪些子类,hashmap和hashtable的区别,hashmap的实现,写map的遍历, 写一个BFS算法题等。一个小时很快过去,结束的时候面试官之间说了一句“我们出去说”,然后hr进来就说可以走了。面完就感觉很差,没戏。

4.腾讯
3月份看到BBS上有腾讯的学长提供内推机会,就想让他帮忙推一下。结果简历发过去没消息,再去询问,说我简历实在看不下去,让我改了再给他。过了好久,有个深圳的电话过来,但我因为没办法去深圳实习,跟面试官直说了大家都节约时间。这个电话正好跟阿里分布式那个电话在同一个晚上,都是不到10分钟就结束。之后就是正常流程,笔试,现场面试。4月16日周日,面试那天轮到我比预约的时间还早,面试官说他们部门全是在深圳的,这次我为了不在10分钟内结束面试,假装去深圳也没关系,于是开始面试。首先聊项目,然后出了一道题,说有几亿个1到1000的数,让找出出现频率最高的前10个数,我犹豫了一会思考他考我什么,最后还是说了最普通的方法,然后他说我排序用什么,我说因为只要取前10个,用10次选择排序就行,但他不满意,说还能更快吗?我想了想难道用堆排,用堆排虽然可以只用弹出10次,但建堆还是NlogN啊, 还是说了这个解法,面试官竟然说可以。然后做两道写在纸上的C++语言题,一题是引用传递/值传递相关的,没看出来,另一题虚函数。都答错。尴尬。最后面试官提了个场景,问如果让我设计一个秒杀系统,应该着重考虑什么。我说了一下网络,并发,安全方面的内容,面试官表示没有讲到要点上,我苦思冥想,还是想不出,最后在提示下,才知道是问流量控制这一块。面完就知道没戏,回去跟同学一交流,发现还是好的,至少还面了40分钟,他们有的10分钟就被赶出来,20分钟的也好几个。。

5.微软
偶尔做了一次hihocoder的offer收割赛,过一阵子说微软面笔试了。于是微软的第一次笔试是帮同学做的,因为那次题目较难,就写了第一题,然后却拯救了隔壁一整个实验室。之后却收到邮件说我没参加笔试让参加第二次,那么就做呗。这次题目简单,都做出来了。4月14日晚上接到电话让15日11点去面试,简直没时间准备,匆匆把LeetCode上自己标记的有意思的题列表看了一遍。微软是前两面通过一面就有第三面 manage面。第二天1面是个女面试官,问了链表翻转,有序链表构建平衡搜索二叉树,后面这个问题因为我考虑不使用额外空间的问题,每次选跟节点要跑一遍链表长度,所以写的递归时间复杂度看起来不是O(N),当时面试官看出了这一点,问我算法复杂度,我说了O(NlogN),她说那么还可以优化吗,我说的 那么可以先一遍取出所有数存在一个数组里,每次直接用下标取。她让我再想想,我后来说这个建树过程其实就是BST中序遍历的逆过程,她露出赞赏的表情,然后就结束了,总共大概35分钟,回到休息室发现是第一个面完的。一面完HR就告诉我有第三面。中午短暂休息后,在下午1点面第二轮。二面一直围绕数独问题问,首先是怎么判断一个数独是否合法,然后让我实现一个数独求解,代码写了整整一黑板。三面在两点,面试官一看年级就比一面二面的大很多,说你的算法功底不错,我的题没前两面难,让手写了atoi,itoa,尽管知道在考我细节,但还是没有把细节考虑完全, 在面试官的多次提醒下才考虑完全。三面感觉面的最差。微软整体感觉实习生算法都不难,而且不问别的,好多同学都有三面,所以我感觉结果不 太好说了。

6.图鸭科技
昨晚7点刚面的,电面半小时,面完就感觉创业公司的面试官真心厉害。这个面试官口齿清楚,思维转换很快,知识面也很广。在简历上有写知识图谱,面试官竟然主动问了我一下知识融合,知识对齐等等问题,还有就是基于知识的表征学习等,感觉要么就是他也是做这块的,要么图鸭这个公司的人不得了。随后还问了我项目中用的SVM的原理,然后问我EM算法怎么实现(没答上来),问我项目中怎么处理训练数据不够的情形。随后开始问C++,C++中虚函数,C++内存泄露,栈与堆区别,STL sort的复杂度,指针与数组的区别,这些倒还好。之后就没消息了,挂了无疑。

这些就是迄今为止我的所有经历了。对比了一下牛客网上大牛们的面经,发现我遇到的问题还是很基础的。只能得出这样的结论:面试官问我们的问题难度决定了我们的层次。。

发文的另一个目的也想请牛客网上的大神帮我分析下,像我这种情况以后应该如何选择职位,纯算法感觉抗不住,但对纯开发也没有好感。

目前一个offer也没有,实验室却马上要开启下一批项目,蓝瘦- -
后面还有几个公司要面吧。
未完待续。。

————————————————————————————————————————————————————
4月19日更新
下午去参加了百姓网的现场笔试。分享一道有意思的题。问用什么数据结构存储上海的轨道交通路线,设计一个算法计算从一个站到另一个站的最小换乘,设计一个算法计算一个站到另一个站的最短时间,用f(n,x,y)表示在站N,从x号线转y号线需要的时间,同一线路上两站之间是2分钟。
傍晚接到依图科技的电话,让下周一去现场面试,十分激动啊比较大***公司。晚上竟然还接到了蚂蚁金服的电话,在震惊中得知面试官这个组又把我从简历池中捞了出来,看来我的简历写的还可以- -今晚的面试主要还是谈项目,分析个人的优缺点,我如实说自己会的比较杂但没特别精通的。因为这个面试官是智能客服 组的,项目主要聊我的知识图谱怎么构建流程,处理大数据的一些经验教训等等,讲了大概有20分钟。之后问我对J2EE有什么了解,我说了一些,让介绍了MVC框架,之后没再问技术,挂电话后一看28分钟。期待后续吧。

#阿里巴巴##腾讯##微软#
全部评论
私以为,楼主既面java又面c++还面专门的算法岗,是不是精力分散了。
2 回复 分享
发布于 2017-04-18 06:41
腾讯排序那个估计你没达到面试官要求。数字有界的话,可以类似hash的算法,所以用桶排序或者基数排序,是O(n)复杂度
2 回复 分享
发布于 2017-04-18 07:23
建堆时间复杂度是o(n)的。。。
点赞 回复 分享
发布于 2017-04-18 09:43
选一个方向重点突破吧,感觉你面了算法,机器学习,C++,Java,Python。只看出来你想搞算法,但好想光算法方向,算法岗和机器学习就是两种岗位。。。 我一年前也想搞机器学习,权衡时间成本和自身基础后专攻 Java 研发。C++/Python/机器学习一律放弃,就刷 Java,算法,项目。目前三投两中,拿到阿里和美团,腾讯hr面了,大概率能拿到。 另外想问一下你的项目经历,面试只问基础?项目聊的怎么样。感觉项目丰富的话基础问的很少。
点赞 回复 分享
发布于 2017-04-20 16:26
楼主腾讯面的什么岗?
点赞 回复 分享
发布于 2017-04-18 06:37
楼主看看算法收割微软不成问题
点赞 回复 分享
发布于 2017-04-18 11:14
你那个几亿个1到1000的数排序显然要用hash啊,显然面试官的意思是内存不够
点赞 回复 分享
发布于 2017-04-18 11:23
腾讯那题,HASH存1到1000每个数出现的次数,然后对次数进行建堆,弹出10次,应该是最好的解法了,面试的时候误打误撞答到了。之前一直以为建堆是nlgn,是我错了。
点赞 回复 分享
发布于 2017-04-18 11:39
同没,蓝瘦。加油!
点赞 回复 分享
发布于 2017-04-18 12:01
楼主加油
点赞 回复 分享
发布于 2017-04-18 12:19
腾讯那题,先用桶排序获得每个数字次数,时间复杂度O(n).然后遍历桶建堆,复杂度O(1000),最后求top10,复杂度1000*lg(10).最终复杂度O(n)
点赞 回复 分享
发布于 2017-04-18 12:34
同感,未来收割机!
点赞 回复 分享
发布于 2017-04-20 09:22
交大找个工作都这么难了,而且基础还不错,我觉得我没救了
点赞 回复 分享
发布于 2017-04-20 13:54
同样从2月底开始到现在,各种扑街,一个offer都没有,更惨的是面试也没面几个。。运气吊炸天 觉得楼主能力挺强的,都是硬实力,没啥套路,另外运气也不是特别好,不是很顺。 实习面试的过程也是找准方向的过程吧,我觉得这个是找实习最大的意义了。 面试时的基础题我觉得都是可以提前抱佛脚刷面经准备的,楼主一看就是平时刷题搞算法,但没咋准备那些基础知识的,但是感觉这个没关系,零散的知识点特别容易遗忘,这个阶段好好找方向,做项目,刷题 个人意见
点赞 回复 分享
发布于 2017-04-22 10:04
请问,知道了有序链表是bst的中序遍历,这题该怎么做呢?
点赞 回复 分享
发布于 2017-04-22 16:17
同去了野村面试,你收到后续的通知了吗?
点赞 回复 分享
发布于 2017-04-23 13:38
这样看,感觉我的摩根应该也挂了。。。
点赞 回复 分享
发布于 2017-05-03 13:51
跟你的经历几乎一样,不想做纯后台开发了,最近搞搞算法,也都挂了~还是得专一个方向呀,不过好难选
点赞 回复 分享
发布于 2017-05-03 16:53
交大的学生真优秀啊,多谢up主精彩的面经
点赞 回复 分享
发布于 2017-07-16 23:06
楼主,想问下技术群面怎么个玩法呀?分team,每个team大家扮演不同角色吗?
点赞 回复 分享
发布于 2022-03-30 01:57

相关推荐

不愿透露姓名的神秘牛友
11-24 20:55
阿里国际 Java工程师 2.7k*16.0
程序员猪皮:没有超过3k的,不太好选。春招再看看
点赞 评论 收藏
分享
20 171 评论
分享
牛客网
牛客企业服务