腾讯计算机类笔试题和面试题答案目(2)

更新时间:2018-11-22 16:06作者:李一老师

      3. Internet物理地址和IP地址转换采用什么协议?

      答案:地址解析协议ARP address resolution protocol

      4. IP地址的编码分为哪俩部分?

      答案:网络号和主机号。不过是要和子网掩码按位与上之后才能区分哪些是网络位

      哪些是主机位。

      10 二分查找是 顺序存储 链存储 按value有序中的哪些

      大题:

      1 把字符串转换为小写,不成功返回NULL,成功返回新串

      char* toLower(char* sSrcStr)

      {

      char* sDest= NULL;

      if( __1___)

      {

      int j;

      sLen = strlen(sSrcStr);

      sDest = new [_______2_____];

      if(*sDest == NULL)

      return NULL;

      sDest[sLen] = ‘′;

      while(_____3____)

      sDest[sLen] = toLowerChar(sSrcStr[sLen]);

      }

      return sDest;

      }

      2 把字符串转换为整数 例如:-123″ -> -123

      main()

      {

      …..

      if( *string == ‘-’ )

      n = ____1______;

      else

      n = num(string);

      …..

      }

      int num(char* string)

      {

      for(;!(*string==0);string++)

      {

      int k;

      k = __2_____;

      j = –sLen;

      while( __3__)

      k = k * 10;

      num = num + k;

      }

      return num;

      }

      附加题:

      1 linux下调试core的命令,察看堆栈状态命令

      2 写出socks套接字 服务端 客户端 通讯程序

      3 填空补全程序,按照我的理解是添入:win32调入dll的函数名

      查找函数入口的函数名 找到函数的调用形式

      把formView加到singledoc的声明 将singledoc加到app的声明

      #define Max(a,b) ( a/b)?a:b

      写一个病毒

      while (1)

      {

      int *p = new int[10000000];

      }

      不使用额外空间,将 A,B两链表的元素交叉归并

      将树序列化 转存在数组或 链表中

      struct st{

      int i;

      short s;

      char c;

      };

      sizeof(struct st);

      答案:8

      char * p1;

      void * p2;

      int *p3;

      char p4[10];

      sizeof(p1…p4) =?

      答案:4,4,4,10

      二分查找

      快速排序

      双向链表的删除结点

      有12个小球,外形相同,其中一个小球的质量与其他11个不同

      给一个天平,问如何用3次把这个小球找出来

      并且求出这个小球是比其他的轻还是重

      解答:

      哈哈,据说这是微软前几年的一个面试题。很经典滴啊!三次一定能求出来,而且能确定是重还是轻。

      数据结构的知识还没怎么学透,不过这个题我到是自己研究过,可以分析下。

      将12个球分别编号为a1,a2,a3…….a10,a11,a12.

      第一步:将12球分开3拨,每拨4个,a1~a4第一拨,记为b1, a5~a6第2拨,记为b2,其余第3拨,记为b3;

      第二步:将b1和b2放到天平两盘上,记左盘为c1,右为c2;这时候分两中情况:

      1.c1和c2平衡,此时可以确定从a1到a8都是常球;然后把c2拿空,并从c1上拿下a4,从a9到a12四球里随便取三球,假设为a9到a11,放到c2上。此时c1上是a1到a3,c2上是a9到a11。从这里又分三种情况:

      A:天平平衡,很简单,说明没有放上去的a12就是异球,而到此步一共称了两次,所以将a12随便跟11个常球再称一次,也就是第三次,马上就可以确定a12是重还是轻;

      B:若c1上升,则这次称说明异球为a9到a11三球中的一个,而且是比常球重。取下c1所有的球,并将a8放到c1上,将a9取下,比较a8和a11(第三次称),如果平衡则说明从c2上取下的a9是偏重异球,如果不平衡,则偏向哪盘则哪盘里放的就是偏重异球;

      C:若c1下降,说明a9到a11里有一个是偏轻异球。次种情况和B类似,所以接下来的步骤照搬B就是;

      2.c1和c2不平衡,这时候又分两种情况,c1上升和c1下降,但是不管哪种情况都能说明a9到a12是常球。这步是解题的关键。也是这个题最妙的地方。

      A:c1上升,此时不能判断异球在哪盘也不能判断是轻还是重。取下c1中的a2到a4三球放一边,将c2中的a5和a6放到c1上,然后将常球a9放到c2上。至此,c1上是a1,a5和a6,c2上是a7,a8和a9。此时又分三中情况:

      1)如果平衡,说明天平上所有的球都是常球,异球在从c1上取下a2到a4中。而且可以断定异球轻重。因为a5到a8都是常球,而第2次称的时候c1是上升的,所以a2到a4里必然有一个轻球。那么第三次称就用来从a2到a4中找到轻球。这很简单,随便拿两球放到c1和c2,平衡则剩余的为要找球,不平衡则哪边低则哪个为要找球;

      2)c1仍然保持上升,则说明要么a1是要找的轻球,要么a7和a8两球中有一个是重球(这步懂吧?好好想想,很简单的。因为a9是常球,而取下的a2到a4肯定也是常球,还可以推出换盘放置的a5和a6也是常球。所以要么a1轻,要么a7或a8重)。至此,还剩一次称的机会。只需把a7和a8放上两盘,平衡则说明a1是要找的偏轻异球,如果不平衡,则哪边高说明哪个是偏重异球;

      3)如果换球称第2次后天平平衡打破,并且c1降低了,这说明异球肯定在换过来的a5和a6两求中,并且异球偏重,否则天平要么平衡要么保持c1上升。确定要找球是偏重之后,将a5和a6放到两盘上称第3次根据哪边高可以判定a5和a6哪个是重球;

      B:第1次称后c1是下降的,此时可以将c1看成c2,其实以后的步骤都同A,所以就不必要再重复叙述了。至此,不管情况如何,用且只用三次就能称出12个外观手感一模一样的小球中有质量不同于其他11球的偏常的球。而且在称的过程中可以判定其是偏轻还是偏重。

      给一个奇数阶N幻方,填入数字1,2,3…N*N,使得横竖斜方向上的和都相同

      答案:

      #include

      #include

      #include

      usingnamespace std;

      int main()

      {

      int n;

      cin>>n;

      int i;

      int **Matr=newint*[n];//动态分配二维数组

      for(i=0;i

      Matr[ i ]=newint[n];//动态分配二维数组

      //j=n/2代表首行中间数作为起点,即1所在位置

      int j=n/2,num=1;//初始值

      i=0;

      while(num!=n*n+1)

      {

      //往右上角延升,若超出则用%转移到左下角

      Matr[(i%n+n)%n][(j%n+n)%n]=num;

      //斜行的长度和n是相等的,超出则转至下一斜行

      if(num%n==0)

      i++;

      else

      {

      i–;

      j++;

      }

      num++;

      }

      for(i=0;i

      {

      for(j=0;j

      cout<

      cout<

      }

      for(i=0;i

      delete [ ]Matr[ i ];

      return1;

    为您推荐

    2019年两会《政府工作报告》养老金新政策,要提高养老保障水平

    《关于2018年中央和地方预算执行情况与2019年中央和地方预算草案的报告》要求,提高养老保障水平。从2019年1月1日起,按平均约5%的幅度提高企业和机关事业单位退休人员基本养老金标准。

    2019-06-13 04:57

    如何在另类面试问题中胜出

    在面试中,有些考官会先提一个不甚友好的问题,或者劈头浇你一盆冷水,让你在委屈和激愤中露出本色。在他看来,击溃你的心理防线,才能筛选出有心理承受能力的智者,找到能面对压力的新鲜血液。要想在压力面试中胜出,只能学会绕开陷阱,奋战到底。

    2019-06-08 03:00

    面试紧张时应该怎么办

    面试是进入公职机关的最后一道主要的门槛,因此可以说每一位进入面试的人,心里就像绷住一根弦一样,也就是说每位考生,都会以高度的精神状态去抓住这次进入角色的机会。出现紧张、焦虑的心情也是不可避免的,只有认识了解,才能完全的克服。

    2019-06-08 02:58

    面对变故 学会自我解嘲

    面对降级、减薪、甚至解雇、离婚、丧子等变故,许多人反应过度,很长时间缓不过劲儿来。而有的人却能很快度过,重返正常的生活轨道。其决定因素是一种特殊的心理素质:心理复原力。有了它,人们不怕挫折;而缺少它,会特别害怕受伤害,不敢付出行动。

    2019-06-06 03:12

    办公室里该与不该谈论的话题

    办公室是一个充满原则、纪律,讲求策略的场合,更是一个充满利益冲突的是非之所。既如此,办公室里谈个人私事是否妥当呢?网上调查显示,尽管九成以上的人认为“办公室里隐私不宜说”,但是她/他们又同时承认有在办公室里谈论涉及私人感情、家庭关系、同事喜恶和上下级关系等隐私性内容的行为。

    2019-06-06 03:10

    面试自我介绍的几大原则

    应聘到外企或其他用人单位时,求职者往往最先被问及的问题就是“请先介绍介绍你自己”。这个问题看似简单,但求职者一定要慎重对待,它是你突出优势和特长,展现综合素质的好机会。回答得好,会给人留下良好的第一印象。

    2019-06-01 03:19

    外企面试必须要注意的五“必要”

    到外企面试前,仅仅准备好一份简历是不够的,还要提前做好面试前的“功课”,这样面试通过的几率就会大大增加。

    2019-06-01 03:16

    加载中...