【zz】淘宝研发工程师笔试

http://hi.baidu.com/sukiclover/blog/item/c30eb38f681916fbf11f3657.html

 

选择题

          第一题,两台电脑在局域网中,机器为千兆网卡,一台作服务器里面有一张网页为 1K 字节,问另一台下载这个网页的速度。

我答:我不知道 1K 是指 1024 还是 1000 …不过按我的算法没区别, 1000 000000/8/1k

我选了 10 000 /

          第二题,单链表插入一个节点的问题。在 p 指向的节点后插入一个 q 指向的节点。

          我答: q->next=p->next;p->next=q;

          之后乱序,我记不清楚题号了。

 

          有一题,地图染色问题,每个国家用矩形表示,让相邻国家颜色不同。离散里面有

          有一题,问快速排序达到最坏情况时间复杂度 n2 的原数数组的具体情形。见数据结构

          有一题,很扯的…指针取址符号混乱,选项却很白痴。

          有一题,入栈序列 1,2,3,4,5,..,n ,第一个出栈的是 n ,问第 i 个出栈的是多少。

我答: n-i+1

          最后一题,给中缀和后缀表达式,求前缀表达式。

 

          填空题

          第一题:数组 (a1,a2,a3,a4..,an) ,删除任意一个的概率相同,问平均删除一个要移动多少个。

          我答: (n-1)/2

第二题:一个程序填空,程序大意是在数组里面找第二大的数。

注:不难

 

          第三题:大致如下一个程序片段:

void xxx(x)

{

          intcountx=0;

          while(x)

          {

                    countx++;

                    x=x&(x-1);

          }

          cout<<countx<<endl;

}

xxx(9999) 输出什么。

我答: 8 ,记得做 ACM 的时候碰到过那个式子,貌似关于排列的,具体意思忘记了,搞一下可以明白是 x 变成二进制,里面有多少个 1 就是答案。

 

第四题:大致如下一个代码

      inta[3][2]={1,2,3,4,5,6};

      int*p[3];

      p[0]=a[1];

      *(p[0]+1) 是个什么东西

      我答: 4 ,蛮基础嗯。

 

简答题

   第一题: 7 公斤米, 50 克砝码, 200 克砝码各一个,称 1350 克米问最少要多少次,并编程回答。

我答, 6 次,可能一开始会想到 1350/250 + 2 = 7 次,说明贪心无效。我不知道我的方法是不是很笨,用了递推,或者你可以看成是动态规划。转化一下题目的意思就是 1 克和 4 克砝码,问多少次称出 27 克大米, F[N] 代表 N 克大米最少需要多少次。

则有:

F[N]=min{F[N-1],F[N-4],F[N-5]}+1

代码如下:

intfindmin(int weight)

{

          int v= weight/50;

          int f[150];

          f[0]=0;f[1]=1;f[2]=2;f[3]=3;f[4]=1;

          if (v<5) return f[v];

          int i;

          for (i=5;i<=v;i++)

                    f[i]=min(f[i-1]+1,f[i-4]+1,f[i-5]+1);

          return f[v];

}

 

注:我一开始愣了很久,我在想,称好的大米可以作为砝码来用吗??这样就是另一种问题了吧。

 

      第二题, n 个鸡蛋放到 m 个篮子,每个篮子不能为空,问所有可能的摆放方法,使得满足 对于任意一个不大于 n 的数可以又若干个篮子里面的鸡蛋数加起来。

      我答:不能想出算出所有摆放方法的方法,期待 ACM 大牛路过。

 

      第三题,大意淘宝网的评论系统,原先只有一个评论表,对于现在大用户,大数据量,大访问量,请设计一个合理可行的架构来优化关于评论的数据库。

      我答:哥蒙了,哥胡言乱语的。

 

附加题:前端设计师必答

      第一题:图片默认为半透明,鼠标移上去变成不透明。

      我注: img 标签 onfocus onblur 的应用,注意这个透明的属性在 IE FireFox 下是不同的。而且用 js 控制的时候,属性名也要注意…

 

    第二题:一个输入框,和一个列表框,列表框里面有很多字符串,在输入框里面输入字符串时,列表框中字符串前缀是该字符串的做高亮或者其他显著表示。最后回车选择或者鼠标双击列表框选择。

      我注:看上去要写不少东西啊……实在懒了。

 

总结:

基础偏多,大题很算法,很偏实际应用,前面不会不应该了,后面看造化,毕竟时间也不多。

你可能感兴趣的:(数据结构,编程,算法,数据库,服务器,firefox)