阿里巴巴2015校招笔试题(含答案、解析)
①、逻辑
下列描述中唯一错误的是( )
下面选项内容中的A,B,C,D,E,F都是表示某个选项
A:本题有五个选项是正确的
B:B正确
C:D正确
D:DEF都正确
E:ABC中有一个错误
F:如果ABCDE都正确,那么F也正确
答案:B
解析:首先理解题意:本题的条件和结论是互为因果的。破解这种循环论证题目的方法就是选择某一个选项,假定它对或者错,然后推理。并且,这里的“某一个选项”常常可以根据题目找到推理链条中的薄弱环节。如本题的题干说“描述中唯一错误”,而一共有A到F6个选项,马上得知“6个选项中有5个是对的,1个是错的”,这即表明“A:本题有五个选项是正确的”是对的。而“C:D正确”“D:DEF都正确”都涉及了D,不妨假定“C:D正确”是错的.,从而完成推理。B错误,其余都正确
②、算法
个数约为50K的数列需要进行从小到大排序,数列特征是基本逆序(多数数字从大到小,个别乱序),以下哪种排序算法在事先不了解数列特征的情况下性能最优(不考虑空间限制)。( )
A:冒泡排序
B:改进冒泡排序
C:选择排序
D:快速排序
E:堆排序
F:插入排序
答案:E
解析:冒泡排序、选择排序、插入排序的基本时间复杂度为O(N^2)。如果数列基本升(降)序,而题目要求升(降)序排列,则改进的冒泡排序可以近似为O(N)。基本有序的数列,常规的快速排序时间复杂度退化成O(N^2),而堆排序无论任何情况下的时间复杂度都是O(NlogN),因此,堆排序是最优的。
③、系统设计
下列方法中,( )不可以用来程序调优?
A:改善数据访问方式以提升缓存命中率
B:使用多线程的方式提高I/O密集型操作的效率
C:利用数据库连接池替代直接的数据库访问
D:使用迭代替代递归
E:合并多个远程调用批量发送
F:共享冗余数据提高访问效率
答案:B
解析:A、C、F都是从优化内存方面来进行程序调优;E可以提高CPU的访问效率;普通的递归往往时间复杂度较高,使用迭代后能够明显改善(另外一种调优方式可以考虑带缓存的递归);而B中,多线程可以提高CPU的利用效率,但对于I/O密集型,瓶颈在于数据的获取,所以B不正确。
【阿里巴巴2015校招笔试题(含答案、解析)】相关文章:
阿里巴巴2016校招笔试题11-02
网易2015校招笔试题11-01
2015阿里校招运营专员笔试题08-21
京东2015应届生校招笔试题11-02
阿里巴巴视觉设计师的校招面试笔试题11-18
2015阿里校招研发工程师笔试题08-13
腾讯校招笔试题01-16
2015百度校招产品经理笔试题目08-19
2015年百度校招产品经理笔试题07-26