很多同学都想得到淘宝的实习或者校招机会。那从过来人的角度谈谈,要通过淘宝的实习、校招面试,都有哪些经验和注意事项呢?今天就跟大家分享一下。
一、选择题
1、排序算法的时间复杂度与初始序列无关的是哪一种?
BDE。 选择排序,堆排序,归并排序,基数排序在平均情况,最坏情况,最好情况下的时间复杂度均一致,与初始排序无关。 排序算法的稳定性,通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。
2、考查多继承、多态性之类的概念。
多继承即一个子类可以有多个父类,它继承了多个父类的特性。 多继承可以看作是单继承的扩展。 所谓多继承是指派生类具有多个 基类 , 派生类 与每个基类之间的关系仍可看作是一个单继承。
多态性(polymorphism)是面向对象程序设计的一个重要特征。如果一种语言只支持类而不支持多态,是不能被称为面向对象语言的,只能说是基于对象的,如Ada、VB就属此类。C++支持多态性,在C++程序设计中能够实现多态性。利用多态性可以设计和实现一个易于扩展的系统。
3、前序遍历和中序遍历——>后续遍历
前序遍历:前序遍历可以记为根左右,若二叉树为空,则结束返回。
前序遍历的规则:访问根节点、前序遍历左子树、前序遍历右子树
前序遍历的输出结果:ABDECF
中序遍历:中序遍历可以记为左根右,也就是说在二叉树的遍历过程中,首先要遍历二叉树的左子树,接着遍历根节点,最后遍历右子树。同样,在二叉树为空的时候,结束返回。
中序遍历的规则:、中序遍历左子树、访问根节点、中序遍历右子树
中序遍历的输出结果:DBEAFC
后序遍历:后序遍历可以记为左右根,也就是说在二叉树的遍历过程中,首先按照后序遍历的规则遍历左子树,接着按照后序遍历的规则遍历右子树,最后访问根节点。
在二叉树为空的时候,结束返回。
后序遍历二叉树的规则:后序遍历左子树、后序遍历右子树、访问根节点
后序遍历的输出顺序:DEBFCA
4、二分插入,求比较次数。
二分插入排序是一种稳定的排序。 当n较大时,总排序码比较次数比直接插入排序的最差情况好得多,但比最好情况要差,所元素初始序列已经按排序码接近有序时,直接插入排序比二分插入排序比较次数少。 二分插入排序元素移动次数与直接插入排序相同,依赖于元素初始序列。
5、Cache 调度算法平均命中率最高的是?
最近最久未使用(LRU)算法最接近最佳页面置换算法,一般最近最少使用的页面都是最适合替换的页面,所以平均命中率最高。
6、编译原理的题目(类似中间代码的作用)
7、概率题
二、填空题
1、一个算式:两个数相乘等于一个数,问这些数几进制表示的。
2、排序算法(从大到小),求比较次数。
3、(C 语言)看代码写结果,关于字母大小写转化的。
4、(Java 语言)看代码写结果,关于++、--的利用,m++、++m 等等,之后输出 m 的值。
5、非递归的的二分排序,补充代码。
三、简答题
1、大概是淘宝有一亿会员,淘宝抽出其中 100 万会员给其发消息等等的,写出自己想到的抽取的方法,必须体现 公平性、分散性、每个都能被抽到的可能等等
2、编程。用 Java 或者 C/C++写一个方法,实现输入字符串转化为 Int 型
四、附加题
关于数据结构和查询方法的
五、不计分题
作为一个热爱技术的你,说说各种之类。说说自己擅长的技术、说说自己经常使用的语言的架构、设计模式等 等以及最新的技术
总结:一共有这 5 部分。
想要更多阿里巴巴实习、校招的机会。请点击这里