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

阿里电话面试总结

2015-07-17 21:10 561 查看
电话面试开始,叫我做了自我介绍,这个没有准备,只简单的说了几句,接着就问我技术方面的问题了,总结如下:

1.两个算法问题,第一个是有介于1-101的101个随机数,里面有两个相同的数,怎么找到这个数。我首先说先用排序算法进行排序,然后进行比较。面试官又问了此算法的时间复杂度是多少,我给出了O(n2)。他又问还有其他方法吗,我想了下,说采用哈希表的方法,将数据存入哈希表中,相同的数的键相同,他表示可以,又问了哈希的空间复杂度问题,还有不开辟空间怎么做,这个不懂,有点晕。算法方面的问题还是比较薄弱,数据结构理解的不够深刻,回答时,也不够自信,这方面要加强复习。

第二个算法是如何判断一个链表是否是循环链表,我说可以使用不同的步长遍历链表,当步长小的能够追上步长大的就是了,接着又问了怎么确定链表的长度,这个真不会。



2.接着问我是否熟悉多线程,我说熟悉,于是他问,线程之间如何通信,我想了一会,感觉是调用一些方法,比如sleep()wait().面试过查了一下,是通过wait(),notify(),

notifyAll()方法来实现线程间的通讯。当时怕说错,没敢说,回答说目前还没用到,现在发现傻逼了,其实是用到的,只是不知道这就是线程之间的通讯,今后要敢于说,不要再说没用到了,这样会使面试官感觉你很low。



3.泛型,这个不知道



4.下面问了JVM的技术,这个我直接说只知道classloader,他说这个比较底层,又问了我垃圾回收机制,我讲了在程序运行过程中,用不到一个对象引用的时候,就会自动清除此对象,还和c++进行了对比,c++必须程序员手动清理,还讲了引用是存放在栈内存中的,对象本身是放在堆内存中的,当引用不能指向堆内存中的数据时,就会清理掉。接着,他问我怎么实现垃圾回收的算法,想了会,说首先判断对象是否为空,若是空的话,则说明不在使用此对象,就会进行回收。不知道对不对,他也没往下问了。这个是网上的回答http://blog.sina.com.cn/s/blog_58adc9e701000bq1.html



5.设计模式方面的问题,问了一些,我说了一些,如单例模式,工厂模式等,他让我具体介绍一下,我简单地说了一下,说没怎么用过,也就过了。

6.问我熟悉spring吗,了解。他问我什么是IOC,不会,但将了spring的一些知识,过了,这个挺水的,没有发挥出水平。

7.然后又问了印象最深刻的项目,我讲了自己目前在做的一个项目,大概描述了下,他问我你用了什么技术,什么平台下开发的,是不是Android的,我说在window下开发的,写了个客户端界面,底层进行处理,感觉没有表述出具体采用的技术,让他认为程序很简单,不是很高端。

8.问我搞过web吗,我直接就说没搞过,当时就觉得二了,其实自己是懂得,这个直接就out了,因为面试官就是搞web的,招的就是web,应该把自己知道的介绍一下的。悲剧啊!

9.最后他说问完了,就说我有什么问题,我问了下怎样提高技术水平,他回答说多实践,多看博客。还问了阿里未来的发展方向,回答是在数据分析上。

面试完了,知道自己基础还是很薄弱,不够扎实,还有面试技巧缺乏,自己明明知道的知识没能讲出来,不能直接就说不会,不知道,没搞过,可以谈谈自己的认识,多说,总之自身底子不牢,仍需加倍努力准备,修炼吧!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: