2014年秋季阿里巴巴校园招聘北京站系统工程师试题.docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
【阿里2014秋季校园招聘系统工程师试题解析】 1. 字符串排列问题:题目中提到字符串"alibaba"的排列数量。由于字符'a'、'l'、'i'各有两个,'b'有一个,'p'有一个,根据排列组合公式,如果有n个不同元素,其中有k个重复元素,其排列数为n!/(k1! * k2! * ... * kn!)。所以,答案是7!/(2! * 2!) = 420,选项D。 2. C++多态与继承问题:这段代码涉及到C++的多态性和成员函数的重载。`Base`类有两个`Bar`函数,一个接受`char`,一个接受`int`。`Derived`类重写了这两个函数。在`main`中,`Derived`对象的指针被赋给了`Base`类型的指针。调用`pObj->Bar((char)(100))`时,将调用基类的`Bar(char)`,返回100的负值,即-100。而`pObj->Bar(100)`由于多态性,会调用派生类的`Bar(int)`,返回50。所以答案是C. -100,50。 3. 二维数组地址计算:二维数组A[10][5]的元素按行优先存储,若A[0][0]的地址是1000,那么A[i][j]的地址为1000 + (i*5+j)*1,因为每个元素占1个字节。选项A正确。 4. 线性表结构:线性表包括数组、链表、队列和栈,关联数组不是线性表。选项D正确。 5. 多线程并发:在单处理器上,两个线程不能同时改变同一资源,如程序计数器、栈和寄存器。因此,选项D正确。 6. 双链表搜索:从两个方向搜索双链表通常比单向搜索快,因为可以从头尾同时开始。选项C正确。 7. 排序算法时间复杂度:对于大规模数据且差异较大的情况,可以采用基数排序,时间复杂度为O(n),因此选项C正确。 8. 钟表问题:时钟和分钟重合的周期是时针追上分针一次的时间,时针每小时走30度,分针每小时走360度,因此重合周期为720/(360-30)=720/330,约等于720/11分钟。选项B正确。 9. 沙子和小米混合问题:此问题属于数学悖论,叫做沙漏悖论。无论怎么操作,沙子和小米的数量不会改变,因此无法判断。选项D正确。 10. 抛硬币概率问题:T100出现一半正面的概率比T10大,因为样本数量增加,接近理论概率1/2。选项A正确。 11. 福彩猜谜游戏:玩家的策略实际上是一种赌博策略,即马丁格尔策略,长期来看,玩家可能会因为有限的赌资而输光。选项C正确。 12. 水中毒检测问题:利用二进制编码,最少需要4只小白鼠,1小时内可以找出14瓶无毒水。选项C正确。 13. 4核CPU的问题:这部分内容缺失,无法提供答案。 这些题目涵盖了计算机科学的基础知识,包括算法、数据结构、编程语言特性、并发处理、概率统计和逻辑推理,都是系统工程师所需的重要技能。
- 粉丝: 1w+
- 资源: 6万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助