九月十月百度,迅雷,华为,阿里巴巴,最新校招笔试面试五十题

发表于:2013-10-23来源:Csdn作者:v_JULY_v点击数: 标签:软件测试面试题
本博客自2010年10月11日开通以来,已经帮助了一大批人找到工作,特别是连续三年在每一年的9、10月份陪伴了至少三届毕业生找工作的旅程,包括校招中的笔试面试,今年也不会例外,我会在本博客开通3周年之际一如既往的陪伴大家一起成长。

  题记

  本博客自2010年10月11日开通以来,已经帮助了一大批人找到工作,特别是连续三年在每一年的9、10月份陪伴了至少三届毕业生找工作的旅程,包括校招中的笔试面试,今年也不会例外,我会在本博客开通3周年之际一如既往的陪伴大家一起成长。

  本文所整理的全部笔试面试题要么来源于我群内群友们的分享,要么摘自论坛或博客,所有原题均来自网络。虽然本文中整理的绝大部分笔试面试题偏算法(自己特意为之之故),但不论是哪一年的校招,一般说来,笔试偏基础(尤其是选择题部分,涵盖语言,计算机组成原理、操作系统、网络协议、数据库、概率期望等知识),而面试则偏算法(且极具针对性的根据简历提问),且无论是笔试还是面试,两者都很看重你的实际编程能力,希望大家知晓。

  OK, 本文会尽量保持每天更新一道新的笔试或面试题,直到10月底(更欢迎各位通过微博私信http://weibo.com/julyweibo,或邮箱zhoulei97@aliyun.com提供题目,亦可直接评论于本文下),如果大家对以下任何一题中有任何思路,包括参考题解中有任何错误,欢迎随时评论于本文之下,或show me your code!谢谢。

  九月迅雷,华为,阿里巴巴,最新笔试面试十题

  8月15日,百度2道面试题:

  1、来自《编程之美》的概率题:一个桶里面有白球、黑球各100个,现在按下述规则取球:的

  i 、每次从通里面拿出来两个球;

  ii、如果取出的是两个同色的求,就再放入一个黑球;

  ii、如果取出的是两个异色的求,就再放入一个白球。

  问:最后桶里面只剩下一个黑球的概率是多少?

  2、算法题:给你一个自然数N,求[6,N]之内的所有素数中,两两之和为偶数的那些偶数。

  9月5日,华为2014校园招聘的机试题目

  通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。

  压缩规则:

  1、仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc"。

  2、压缩字段的格式为"字符重复的次数+字符"。例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz"。

  要求实现函数:

  void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr);

  输入pInputStr: 输入字符串lInputLen: 输入字符串长度

  输出 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长;

  注意:只需要完成该函数功能算法,中间不需要有任何IO的输入输出

  示例

  输入:“cccddecc” 输出:“3c2de2c”

  输入:“adef” 输出:“adef”

  输入:“pppppppp” 输出:“8p”

  9月6日,网新恒天2014校园招聘笔试编程题

  已知memcpy的函数为: void* memcpy(void *dest , const void* src , size_t count)其中dest是目的指针,src是源指针。不调用c++/c的memcpy库函数,请编写memcpy。

  点评:老题,参考答案如下

  [cpp] view plaincopyprint?

  //copyright@July 2013/9/24

  void* memcpy(void *dst, const void *src, size_t count)

  {

  //安全检查

  assert( (dst != NULL) && (src != NULL) );

  unsigned char *pdst = (unsigned char *)dst;

  const unsigned char *psrc = (const unsigned char *)src;

  //防止内存重复

  assert(!(psrc<=pdst && pdst

  assert(!(pdst<=psrc && psrc

  while(count--)

  {

  *pdst = *psrc;

  pdst++;

  psrc++;

  }

  return dst;

  }

  //copyright@July 2013/9/24

  void* memcpy(void *dst, const void *src, size_t count)

  {

  //安全检查

  assert( (dst != NULL) && (src != NULL) );

  unsigned char *pdst = (unsigned char *)dst;

  const unsigned char *psrc = (const unsigned char *)src;

  //防止内存重复

  assert(!(psrc<=pdst && pdst

  assert(!(pdst<=psrc && psrc

  while(count--)

  {

  *pdst = *psrc;

  pdst++;

  psrc++;

  }

  return dst;

  }

  9月9日,迅雷2014校招笔试编程题:

  已知集合A和B的元素分别用不含头结点的单链表存储,函数difference()用于求解集合A与B的差集,并将结果保存在集合A的单链表中。例如,若集合A={5,10,20,15,25,30},集合B={5,15,35,25},完成计算后A={10,20,30}。

  链表结点的结构类型定义如下:

  [cpp] view plaincopyprint?

  struct node

  {

  int elem;

  node* next;

  };

  struct node

  {

  int elem;

  node* next;

  };

  请完成函数void difference(node** LA , node* LB)

  点评:参考答案或更多题目请参见:http://blog.csdn.net/hackbuteer1/article/details/11482103。

  9月10日,美团网2014校招研发笔试哈尔滨站

  1、链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,则翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6,用程序实现

原文转自:http://blog.csdn.net/v_july_v/article/details/11921021