2015阿里巴巴校招电面一面题目分享~求细致完整的解答~


首先,介绍一下自己,做过的项目和工作

然后,开始技术题。记得最后阿里面试官说,你以为我会考算法,但是我偏偏要考基础。
1、构造函数功能?
2、析构函数功能?释放的是哪里的内存?
3、分配内存有哪几种方式?
4、多态怎么表现?
5、list和map的应用区别?

最后,问你为什么选择阿里巴巴?

题目不难,但是要回答的面试官满意,还是挺难的!
希望各位牛牛,能帮助解答一下!谢谢~O(∩_∩)O!
最后,祝大家都能顺利拿到理想的offer~~
已邀请:

自己的回答,非标准,仅供参考。

1、构造新对象,将对象的数据成员赋初值
2、对象过期时,程序自动调用负责完成清理工作。析构函数先由用户代码释放对象堆内存,再程序自动释放对象栈内存。
3、内存分配方式有三种:
(1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static 变量。
(2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。
(3) 从堆上分配,亦称动态内存分配。程序在运行的时候用malloc 或new 申请任意多少的内存,程序员自己负责在何时用free 或delete 释放内存。
4、有两种主要体现:
  (1)方法的多态性:
  a)、重载
  b)、覆盖
 (2)对象的多态性
  a)、向上转型
  b)、向下转型
5、1、list是存储单列数据的集合,map是存储键和值这样的双列数据的集合,
2、List中存储的数据是有顺序,并且允许重复;Map中存储的数据是没有顺序的,其键是不能重复的,它的值是可以有重复的,是key-value组成的键值对;
3、List接口继承collection接口,Map是个顶级接口。List此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数 索引(在列表中的位置)访问元素,并搜索列表中的元素;map接口将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值

要回复问题请先登录注册

返回顶部