天天看点

阿里巴巴2013最新笔试题/面试题(2012年9月12日更新)

9.7日晚于厦门商务会馆笔试

共两题:

1. 关于图片文件存储的一个开放性的题目,没什么好说的。

2. 有一颗树,每一个树节点存储着一个数字,现在想要找到两个相同的节点(这两个节点存储的数字及其所有子树均相等)。

以下是我答题时候的思路,欢迎大家讨论。

思路1:

    1) 首先通过一个遍历(如前序遍历)得到一个数字序列,并对树中的叶子节点在这个序列中做标记(现在问题退化为在一个数字串中找出重复的字符串,且这些字符串应该是以标记的叶子节点结尾的)

    2) 采用后缀树可以很方便的求得相同的数字串序列

    3) 验证2)中得到的结果(应该是一个小结果集) 是否满足要求,验证的时间复杂度应该是比较小的

思路2:

    1) 对树中的每一个节点设定一个权值,这个权值为其所有子节点的权值及其自身数字值之间的乘积(可能需要bignumber,或者考虑将这些数字进行移位异或)

    2) 采用后序遍历,计算每一个节点的权值,并顺带记录其树深度。统计权值和深度均相同的节点

    ​3) 验证2)中得到的结果是否满足要求,验证的时间复杂度应该是比较小的

9.12日于淘宝北京总部面试(共两面,研发岗位)

第一面,问的问题比较杂,大致包括如下内容:

    1) 数据库索引问题,数据库的索引是如何实现的 ,B/B+树的区别

    2) 数据库的存储引擎比较

    3) SQL语言的编写,主要涉及的关键字包括: like、order、group、sum等

    3) 设计模式中的装饰模式

    4) Java中内存是如何实现的,以及垃圾回收机制分析

    5) HDFS的设计原理,及解释 什么是一致性Hash

    6) Git与SVN之间的区别

    7) 排序(快排)及改进再改进

第二面,问的问题同样比较杂,没有算法面试

    1) 数据库存储引擎比较

    2) 搜索引擎原理

    3) 给看一张数据结构的某个运行时切面图,让分析这个数据结构是用来干嘛的