发布于 2014-12-19 09:53:29 | 152 次阅读 | 评论: 0 | 来源: 网友投递
淘宝网(taobao)
淘宝网是亚太地区较大的网络零售商圈,由阿里巴巴集团在2003年5月10日投资创立。淘宝网现在业务跨越C2C(个人对个人)、B2C(商家对个人)两大部分。
本文为大家整理的是一份淘宝春季实习生招聘笔试题-技术类岗位,感兴趣的同学参考下。
淘宝网是亚太地区较大的网络零售商圈,由阿里巴巴集团在2003年5月10日投资创立。淘宝网现在业务跨越C2C(个人对个人)、B2C(商家对个人)两大部分。
一选择题
1. A,B两机器用千兆网传输,A上每个页面是1K字节,则B机器下载的限制是()
千兆网指的是 1000Mb每秒也就是 1000/8 MB = 125MB的速度,1K字节为1KB 所以应为 100 000左右(不知道对不对)
2. 已知单链表,把节点q插入到节点p的操作是()
q->link = p->link; p->link = q
3. 用矩形表示世界上的每个国家,最少用()种颜色表示,使得共有边界的两个国家不会重色。
4种,地图的四色定理,但是由于条件比较特殊,国家是矩形,所以笔试时尝试了下,发现3种确实无法实现,选4种
4.快速排序的平均时间复杂度是O(nlgn),最坏的情况是O(n^2),什么时候会出现O(n^2)
数组基本有序
5. int i,j,*p;p=&i;问一下哪个表达式是把j赋给i()
*p=*&j;
6. #define F(a,b) a*b,则 F(3+6, 8-5)= ()
46,define是直接替代
7. 一个栈,进栈顺序为1,2,3,…,1—n,n,最先出栈的元素是n,那么第i个出栈的元素是()
N-i+1,栈是先进后出,既然最先出的是最后一个元素,那么答案就唯一了
8.树的后序遍历是ABC+*DE/-,中序遍历是,A*B+C-D/E,那么前序遍历是()
-*A+BC/DE
二、填空题
1.用数组保存数据,删除一个元素的平均需要移动元素的次数((1/2)(n-1))
2.求一个元素全为正数的数组中的次大元素的程序填空题,其中num >=2
int f(int *a, int num)
{
int number = a[0];
int result = 0;(=0是所填空)
for(int i=1; i
{
if(a[i] > number)
{
result = number;(空)
number = a[i];(空)
}
else if( a[i] > result)
{
result = a[i];(空)
}
}
return result;
}
3.下述函数输入9999,结果是(8)
Int Fun(int x)
{
int countx = 0;
whike(x)
{
countx++;
x = x & (x-1);
}
return countx;
}
很简单,其实把9999化成2进制,看有几个1就是答案了
4. int a[3][2] = {1,2,3,4,5,6}, int *p[3], p[0] = a[1];
问 *(p[0]+1)是几
4, p[0]指向的位置是 a[1][0],p[0]+1指向的位置自然是a[1][1]啦~
三、综合题
1. 有7000g的大米,50克和200克的砝码,要称出1350g,最小需要称几次?
3次
3次的最佳方案是 ,先拿7000和200分出 一份3400,一份3600
然后平分3600得到1800
然后 3400-(1800+200+50) = 1350
2. N个鸡蛋放到M个篮子中,每个篮子中至少放一个,要满足的条件:输入任意一个不大于N的正整数,总有某几个篮子中的鸡蛋数目之和与之相等。写一个函数,输入N,M,输出所有可能的鸡蛋放置情况
没什么太好的想法,个人觉得很难的一个题,实在不行就遍历枚举吧,也算是一种方法
回去之后再好好想想这个题
一、选择题
1. A,B两机器用千兆网传输,A上每个页面是1K字节,则B机器下载的限制是()
千兆网指的是可以传输1000Mbit/s,答案是:1000M/(1024*8) = 100000bit/s
2. 单链表,已知p->link指向p的下一个节点,q指向一个新的节点,把q插入到p之后的操作是()
q->link = p->link; p->link = q
3. 用矩形表示世界上的每个国家,最少用()种颜色表示,使得相邻的两个国家不会重色。
3种
4.快速排序在通常情况下时间复杂度是O(nlgn),在()情况下是O(n2)
数组基本排好序的情况
5. int i,j=2,int *p=&i把正确的实现i=j的是(*p=*&j)
int i,j=2,*j=把i=j
6. #define F(a,b) a*b,则 F(3+6, 8-5)= ()
46
7. 一个栈,1—n,最先出栈的元素是n,那么第i个出栈的元素是()
n-i+1
8.二叉树遍历题,答案记着D。前序
二、填空题
1.数组中删除元素的平均移动次数
(n-1)/2
2.求数组中的次大元素的程序填空题。result=number;number=data[i];result=data[i];
3.下述函数输入9999,结果是(8)
Fun(int x)
{
int countx = 0;
whike(x)
{
countx++;
x = x & (x-1);
}
}
4. int a[3][2]={1,2,3,4,5,6};int *p[3];p[0]=a[1];printf("%d",*(p[0]+1));,结果是4
三、综合题
1. 有7公斤的的米,50克和200克的砝码,要称出1350g米,最小需要称几次?3次。
第一次:200+50,称出250g
第二次:200+250,称出450
第三次:200+450,称出650
共称出1350g
2. N个鸡蛋放到M个篮子中,每个篮子中至少放一个,要满足的条件:输入任意一个不大于N的正整数,总有某几个篮子中的鸡蛋数目之和与之相等。写一个函数,输入N,M,输出所有可能的鸡蛋放置情况
本人的做法:按二进制中的1的位置进行存放, M的范围[logN,N]
3.评论数据处理问题。