转自:http://blog.csdn.net/csu_prowang/article/details/22777531
阿里2个人,一人只说真话,一人只说假话,如何只问其中某个人一句话,就分辨出谁是说真话的,谁是说假话的?______。
· 问任何一人:你是说真话的,对吗
· 指着其中一人,问另一人:他是说真话的,对吗
· 指着其中一人,问另一人:他是说假话的,对吗
· 做不到
主机甲和主机乙间已建立一个TCP连接,主机甲向主机乙发送了两个连续的TCP段,分别包含300字节和500字节的有效载荷,第一个段的序列号为200,主机乙正确接收到两个段后,发送给主机甲的确认序列号是 。
· 500
· 700
· 800
· 1000
将一个从大到小的数组,用以下排序方法排序成从小到大的,______最快。
· 插入排序
· 冒泡排序
· 快速排序
· 堆排序
检验多线程的异步运行结果的方式是 。
· 单步调试
· logging
· codereview
· unittest
用二进制来编码字符串“abcdabaa”,需要能够根据编码,解码回原来的字符串,最少需要______位的二进制字符串。
· 12
· 14
· 18
· 24
默认block size情况下,Ext3文件系统支持的最大文件大小是 ______。
· 4TB
· 4GB
· 2TB
· 2GB
某二叉树的先序遍历是12453,中序遍历是42513,那么其后续遍历是______。
· 45231
· 42351
· 12345
· 54321
有两个N*N的矩阵A和B,想要在PC上按矩阵乘法基本算法编程实现计算A*B。假设N较大,本机内存也很大,可以存下A、B和结果矩阵。那么,为了计算速度,A和B在内存中应该采用的存储方法是______。(按行存指先存储第一行,再第二行,直到最后一行;按列存指先存储第一列,再第二列,直到最后一列)
· A按行存,B按行存
· A按行存,B按列存
· A按列存,B按行存
· A按列存,B按列存
平均速度最快的排序算法是______。
· Shell排序
· 快速排序
· 冒泡排序
· 插入排序
甲乙两人玩掷骰子,比谁掷出的点数大,点数大的获胜。如果一样大,那么就是平局。请问甲赢的概率是______。
· 1/4
· 1/3
· 5/12
· 1/2
小数值1.5625的二进制表示是____。
· 101.1001
· 0.001
· 101.111
· 1.1001
下列哪种算法没有使用分治法的思想________。
· 插入排序
· 二分查找
· 合并排序
· 快速排序
对于一个二叉查找树,以下遍历方式中,______可以得到一个递增数列。
· 先序遍历
· 中序遍历
· 后序遍历
· 层次遍历
对于二分查找算法下面描述正确的是 。
· 只能用于数组
· 只能用于链表
· 只能在已经排序的数据上进行查找
· 最坏情况下时间复杂度是O(N*logN)
设集合A={1,2,3},A上的关系R={(1,1),(2,2),(2,3),(3,2),(3,3)},则R不具备 。
· 自反性
· 传递性
· 对称性
· 反对称性
一个容器类数据结构,读写平均,使用锁机制保证线程安全。如果要综合提高该数据结构的访问性能,最好的办法是______。
· 只对写操作加锁,不对读操作加锁
· 读操作不加锁,采用copyOnWrite的方式实现写操作
· 分区段加锁
· 无法做到
以下访问速度最快的设备是 。
· 寄存器
· 内存
· 磁盘
· L1Cache
设某棵二叉树中只有度数为0和度数为2的结点, 且度数为0的结点数为n,则这棵二叉中共有______个结点。
· 2n
· n+1
· 2n-1
· 2n+1
在TCP/IP参考模型中,TCP协议工作在 。
· 应用层
· 传输层
· 互联网层
· 网络接口层
频繁的插入删除操作使用____结构比较合适。
· 数组
· 队列
· 链表
· 栈
程序
struct T {
char a;
int *d;
int b;
int c:16;
double e;
};
T *p;
在64位系统上以下描述正确的是 。
· sizeof(p)== 8
· sizeof(*p)== 32
· sizeof(p->a)== 1
· sizeof(p->e)== 4
无锁化编程有哪些常见方法?______ 。
· 针对计数器,可以使用原子加
· 只有一个生产者和一个消费者,那么就可以做到免锁访问环形缓冲区(Ring Buffer)
· RCU(Read-Copy-Update),新旧副本切换机制,对于旧副本可以采用延迟释放的做法
· CAS(Compare-and-Swap),如无锁栈,无锁队列等待
下面所述步骤中,是创建进程所必须的步骤是_____。
· 由调度程序为进程分配CPU
· 建立一个进程控制块
· 为进程分配内存
· 为进程分配文件描述符
红黑树在处理过程中红黑节点会产生冲突,请问在下列操作中解决的冲突中,正确的是______。
· 插入操作时,解决红黑冲突
· 删除操作时,解决黑黑冲突
· 插入操作时,解决红红冲突
· 删除操作时,解决黑黑冲突
长度为100的环形双向链表,A指针顺时针方向每次走3步,B指针逆时针方向每次走5步,每次走完判断是否相遇,初始状态B在A逆时针方向相距20,走100次,AB指针能相遇几次?
A, B从一堆玻璃球(共100个)里向外拿球,规则如下: (1)A先拿,然后一人一次交替着拿;(2)每次只能拿1个或2个或4个;(3)谁拿最后一个球,谁就是最后的失败者;问A,B谁将是失败者?写出你的判断步骤。(不用写代码,不写原因不得分)
我们需要在淘宝的商品中提取一批优质商品(有特色、质量好、服务好等),比如需要提取100万件,准确率要求是95%。我们有n个不同的方法可以提取这些商品,但每个方法在保持准确率满足要求的情况下都不能做到提取完整的100万件商品。因此可以把这n个方法得到的满足要求的商品集按如下方法合并起来:如果一个商品被k个方法选为优质商品,则将它的分数设为k;按照k从大到小排序选取前100万件。但实际中发现这样选出的100万件商品不符合精度要求,请解释可能的原因。还可以向哪个方向努力?
JAVA选做题(注:阿里有大量JAVA研发工程师需求;选作以下题目有机会增加该方向面试机会)
天猫双十一有个积分换墨盒的活动,总共有50万台天猫魔盒(box),每个用户(user)可以用99个天猫积分(point)兑换一台魔盒,且每人限换一台。
请设计一套java接口并实现下单(order)逻辑。
参考(但不局限于)下面的下单逻辑:
1、创建订单
2、扣减用户积分
3、扣减魔盒库存
4、下单成功
同时请回答:
1、数据库表结构如何设计,有哪些表,分别有什么作用?
2、下单过程中哪些地方可能成为瓶颈?如何解决或改善?
3、是否会用到数据库事务,哪些地方会用到?如果不用数据库事务,如何保证数据的一致性?
抽签和摇号程序通常需要真随机数发生器。假定某基于热力学机制的真随机数发生器每次可独立生成p个状态的均匀分布随机数。那么能否基于这个随机数发生器在工程上生成一个任意n状态的均匀分布随机数,误差允许在一定的范围内,比如最大的概率减去最小的概率小于e?
有个学校的15个女生一直3个一群上学。请问该如何安排才能使这些女生每周7天每天都和两个不同的同伴结伴同行呢?例如:用A到O来标识这些女孩,7天A正好和B到O这14个女孩各同行一次。而B到O每个人和都和其他14个女孩各同行一次。