淘宝春季实习生笔试题和面试题答案(一)
1. 现有千兆光纤连接机器 A 和 B , 机器 A 提供 web 网页服务 , 网页大小 1K 字节 , 机器 B 通过浏览器下载 , 求最有可能下载速度的最大上限 ; ( C )
C> 100000 页 / 秒
光纤的上行和下行是一样的 : 要知道网络传输速度一定要明白网络传输速度的单位。我们一般说的百兆、千兆网络的单位是 bps (比特率,即位 / 秒, bit /s ),比如我们说网卡或光纤的传输速度是百兆,也就是 100Mbps 的意思。而在实际应用中( Widnwos 、网际特赢、迅雷等)使用的传输单位是字节 / 秒( Byte/s) 。电脑中 1 字节 =8 位,因此 100 兆的光纤速度等于 12.5MB/s( 即 100Mbps/s 除以 8 )
2. 单链表中每个节点中包括一个指针 link, 它指向该节点的后继节点。现要将指针 q 指向的新节点插入到指针 p 指向的单链表节点之后,下面的操作序列中哪一个是正确的?( C )
C> q->link=p->link;p->link=q;
3. 假设地图上每个国家都用矩形表示,那么最少用 ( 4 ) 种颜色着色,使得有共同边界的国家都披上不同颜色?
4. 快速排序算法的时间复杂度为 O( nlog2n), 但在( A )情况下,该算法效率近似 O(n2)
A> 初始序列有序或基本有序
5. 若有声明: int I,j ==2,*p=&I; 则能完成 i=j 赋值功能的语句是( B )
A) i=*p; B) * p =*&j; C) i=&j; D) i=*p;
解释:
A) i=*p; (*p) 即为 i ,也就是 i=i ,错。。
C) i=&j; 将变量 j 的地址赋给 i ,错。。
D) i=*p; (*p) 是个整型变量 i , *(*p) 就不知道是什么东西了,语法不对,错。。
B) *p 就是 i , *&j 就是 *(&j) ,也就是 j ,整个语句就是 i=j 。。对
6. 有宏定义“ defineF(a,b) a*b ” , 那么“ F(3+6,8--5) ”的值为( B )
A.27 B.46 C.67 D.21
7. 一个栈的入栈顺序是 1,2,3 , ……n, 如果出栈序列的第一个元素是 n, 那么输出第 i() 个元素害是(B )
A 不确定 B.n-i+1 C.1 D,n-i.
8.已知一算术表达式的中缀形式为 A+B*C-D/E, 后缀表达式为 ABC*+DE/-, 其前缀形式为( D )
A. -A+B*C/DE B. -A+B*CD/E C . -+*ABC/DE D. -+A*BC/DE
9. 线性 表L= ( a1,a2,......an )用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均要移动的元素个数是 (n-1)/2
10. 找到数组中第二大元素
Data中包含的都是正整数, count 表示 data 中元素的个数, count>1
思路:
最大值=data[0] ,次大值 =data[1] ,遍历一次,每次比较并更新次大和最大值。最后可以 得 第二大值,适用于前N 大问题, N 非常小的情况。
Int find(int data[],int count)
{
Int number = data[0];
Int result = data[1];
For(int i =1 ; i
{
If(data[i]>number)
{
Result = number;
Number = data[i];
}
Else
{
If(data[i]>result)
Result=data[i];
}
}
Return result;
}