您当前位置:网站首页 > 面试经验 >

阿里巴巴研发工程师暑期实习生面试经验

先写个初稿,有空再改改。

2014年4月24号,我报的是阿里巴巴的研发C++,在华工大学城校区旁边的华工大酒店。回头想想好像是报错了,应该投算法工程师的,悔不当初啊!因为简历写的是一些算法方面的东西,而面试官好像对这方面好像也不大熟悉的感觉,所以弄的还是有点尴尬。面试的地点是在3楼,里面有很多张桌子,像是大型相亲会一样的地方,一对一的面试,是一个很清瘦的小伙子。一开始先试做自我介绍,随便说了一些东西,面试官也没怎么听,就闲聊了一些学校啊什么的东西,问完就开始问我项目的事情。

问题1:对项目没有一个很好的总结

我现在做的项目基本上就是属于机器学习啊,人工算法方面的东西,因为面试官也不是很懂,所以问了我这些东西在生活上有什么用途?稀里糊涂讲了半天没有想出来这个到底能用在哪个地方,用函数的角度去讲,面试官又说不行,最后只好坦白说实在找不到一个简单一点的例子来形容这个算法。

然后是做过的其他的项目可能也没有什么亮点,没有产生一些额外的加分点的,所以有机会的话可以做一些有特色的项目啊,做出一些亮点来吸引别人,然后再表达的好一些,让别人觉得你还挺牛逼的样子。

问题2:系统设计能力?

此题考的应该是设计模式!

问的第二个问题是一个球在这个墙壁里面撞来撞去,你用面向对象的语言去设计这个系统?

阿里巴巴研发工程师暑期实习生面试经验

这个问题回答的应该算还过的去吧,我当时就是设计了一个关于球的类,定义了一些私有成员数据,还有公有的成员函数,包括获取坐标,输出坐标,还有移动操作。面试官说不行,然后给提示说这个墙的呢?然后我又写了墙的类,有墙的建立,还有边界的处理,他就问下一个问题了。

问题3:数据结构题:在第i个结点后的单链表的一个插入操作? (限时5分钟)

这个代码写的不是很好,差不多下面就是这样子,由于这个确实写的不是很好,可能有些超时

[cpp] view plain copy 

阿里巴巴研发工程师暑期实习生面试经验

阿里巴巴研发工程师暑期实习生面试经验

Status ListInsert(LinkList *L, int i, ElemType e)

{

int j;

LinkList p, s;

p = *L;

j = 1;

while (p && j <= i)

{

p = p->next;

++j;

}

if (!p || j > i+1)

return ERROR;

s = (LinkList)malloc(sizeof(Node));

s->data = e;

s->next = p->next;

p->next = s;

return OK;

}

代码写的不是很熟练,写的也是比较乱,所以他直接就问我了是不是很久没有写代码了,让我给他讲了这具体的都是些什么意思。纠结的地方有二个地方,第一是说我写的这个好多类型都不是C里面的,让人摸不透到底是他不懂,还是他在考我?然后我就把链表的结构点的定义也讲给他听,说着说着又说到第二个点,是他问我这个指针怎么是这么用,我说这个是指向结构体的指针,两个人纠结了一会,讲着讲着就不知道在讲什么了,他就让我给他讲讲这个算法是怎么实现的,我就巴拉巴拉讲了一会就结束了这个问题。

问题4:算法题:挑选一个你最擅长的算法题写出来?(限时3分钟)

这个是最坑爹的一个,当时听到这个的时候感觉还挺开心的,觉得准备的东西终于用上了,快速排序背了好长时间,而且各种优化版本,还有复杂度的推导,于是很自信的跟面试官说那就快速排序吧。面试官也乐了,说这个可是决定了你的生死哦。现在想想,当时是没有搞清楚状况吧,很嘚瑟的跟他说写的不好就不会选快速排序了,于是刷刷两分钟左右的时间把代码写了下来.

[cpp] view plain copy 

阿里巴巴研发工程师暑期实习生面试经验

阿里巴巴研发工程师暑期实习生面试经验

int Partition(SqList *L, int low, int high)

{

int pivotkey;

pivotkey = L->r[low];

while (low

{

while (lowr[high] >= pivotkey)

high——;

swap(L, low, high);

while (lowr[low] <= pivotkey)

low++;

swap(L, low, high);

}

return low;

}

void QSort(SqList *L, int low, int high)

{

int pivot;

if (low

{

pivot = Partition(L, low, high);

QSort(L, low, pivot - 1);

QSort(L, pivot + 1, high);

}

}

出来之后就发现我错了,果断的被刷掉了,不知道是策略问题还是其他的问题吧,我一开始是想着先写一个基本的快速排序,他要是有要求再把优化的快速排序写出来。可是他看完之后都没有给我其他的机会,先让我讲讲这个partition是怎么个实现的,我讲了一会,然后重点来了,他很鄙夷的语气问了我你这里怎么会有三个while,当时就愣住了,解释说这个while只是判断边界,并没有因此增加复杂度。因为我看的是程杰的那本大话数据结构,很基础很简单的一本,所以可能写出来的代码没有啥特色,后来回来看了一下,清华大学严蔚敏教授写的那个版本也是这个,虽然程杰的有优化方法,但是感觉跟他要的点就完全不一样,后来看到算法导论上一个只有一个for循环的方法,不知道是不是他说的那种。

后来想想也是,假设阿里巴巴有100亿条数据需要排序,那我写的那个比较挫的代码可能要1000个小时,可是他们要的是1个小时就能排好的方法,因此他们对效率的要求可能相当高。

相关文章
网易游戏测试工程师面试经验

一面之前: 参加一个现场的编程测试,用自己熟悉的语言手写程序代码,解决问题。这是该问题:给你一组活动,告诉你每个活动的开始时间和结束时间,要你求出你能参加的最多活动的数量;并且针对…[阅读]

平安科技面试经验

前几天接到了平安科技的面试电话,约在昨天上午去面试,正好最近也在找工作,就准备好简历去了,现在把面试过程给大家分享出来,希望能帮到大家。 昨天的招聘是平安科技在南京的专场招聘会,去…[阅读]

程序员应聘面试经验

第一、 基础很重要,不要生疏了。 不管应聘什么开发岗位,基础永远是最重要的。IT业不停地在炒作新概念,昨天是SOA,今天是云计算。我们永远不知道明天流行什么,但是只要有踏实的基础,辅以较…[阅读]

上海世茂艾美酒店喜达屋面试经验

最近更新博客特别频繁,但新学期就要开始了,这一学期对我来说至关重要,该拿的本子都该拿到,这是毕业了的学哥学姐们的经验教训,是我们学妹学弟们应该谨记的。所以以后的更新速度会以每周至少…[阅读]

重庆移动面试经验

重庆移动是九月网申,十月面试。地点在南邮,笔试面试一块。上午是海面,每人自我介绍一下,然后简单问个问题。一个必问是,你为什么选择重庆(移动)?这种问题肯定是考察应聘者的诚意和动机的…[阅读]

《阿里巴巴研发工程师暑期实习生面试经验》一文由长大导航助学网免费提供,来源于网络。本文著作权归作者所有,如果侵犯了您的权益,请及时与我们联系,我们会立即删除!

原文链接:http://www.chddh.com/mianshijingyan/48016.html

长大导航(www.chddh.com)旗下长大导航助学网|陕ICP备11001928号 站长邮箱:admin#chddh.com|

《阿里巴巴研发工程师暑期实习生面试经验》|友情链接:长大导航 应用 电脑 文字 作文 范文 演讲稿 网页游戏 游戏 手机 news 合同 学生 职场