腾讯技术类校园招聘笔试试题

2014-12-09 17:19 作者 : 围观 : TAG标签: 笔经 腾讯 技术类招聘


        一.  单选题(每题4分,15题,共60分) 求职面试


求职信息

        1.下面有关重载函数的说法中正确的是:

qzm4


求职面试

          A.重载函数必须具有不同的返回值类型   B.重载函数形参个数必须不同 求职面试

          C.重载函数必须有不同的形参列表       D.重载函数名可以不同 面试问题


面试网

        2.考虑函数原型void hello(int a,int b=7,char* pszC="*"),下面的函数调用钟,属于不合法调用的是:

面试问题


求职信息

        A hello(5)     B.hello(5,8)     C.hello(6,"#")     D.hello(0,0,"#") 面试网


求职面试

        3.分析一下程序的运行结果:

面试问题


求职面试

#include

面试问题

class CBase

面试问题

{ 礼仪

public: 求职面试

CBase(){cout<<”constructing CBase class”<

求职面试

~CBase(){cout<<”destructing CBase class”< 礼仪

};

求职信息

class CSub : public CBase 面试问题

{

礼仪

public: 面试网

CSub(){cout<<”constructing CSub class”< 求职面试

~CSub(){cout<<”destructing CSub class”< 礼仪

};

求职面试

void main()

qzm4

{

求职信息

   CSub obj; 礼仪

} 求职面试

A. constructing CSub class           B. constructing CBase class 求职信息

  constructing CBase class             constructing CSub class 面试问题

  destructing CSub class               destructing CBase class

面试网

  destructing CBase class              destructing CSub class 求职信息

C. constructing CBase class        qzm4

  constructing CSub class        

求职面试

  destructing CSub class         

求职信息

  destructing CBase class         

求职面试

 D. constructing CSub class

求职面试

    constructing CBase class

qzm4

    destructing CBase class

qzm4

     destructing CSub class 面试网


面试问题

        4.在一个cpp文件里面,定义了一个static类型的全局变量,下面一个正确的描述是: 面试网


礼仪

        A.只能在该cpp所在的编译模块中使用该变量 面试网

        B.该变量的值是不可改变的 qzm4

        C.该变量不能在类的成员函数中引用 面试问题

        D.这种变量只能是基本类型(如int,char)不能是C  类型 面试网


礼仪

        5.观察下面一段代码:

qzm4


求职信息

class ClassA

礼仪

{ 求职信息

public: 礼仪

virtual ~ ClassA(){}; 求职信息

virtual void FunctionA(){}; 求职面试

};

求职面试

class ClassB 求职信息

{

求职信息

public:

面试问题

   virtual void FunctionB(){}; 礼仪

};

礼仪

class ClassC : public ClassA,public ClassB

求职信息

{

礼仪

public:

qzm4

}; qzm4

 

求职面试

ClassC aObject; qzm4

ClassA* pA=&aObject;

求职面试

ClassB* pB=&aObject;

面试网

ClassC* pC=&aObject;

qzm4


求职信息

        关于pA,pB,pC的取值,下面的描述中正确的是: 求职信息


求职面试

        A.pA,pB,pC的取值相同.               B.pC=pA pB

qzm4

        C.pA和pB不相同                      D.pC不等于pA也不等于pB

qzm4

 

求职信息

        每个类的示例在内存中的时候,都会有一张虚函数表,实际上是一个指针的列表,每个指针指向虚函数的地址空间,因此ClassC和ClassA是一样的地址,但是ClassB没有析构函数,它的虚函数表中就只有一项记录,就是FunctionB了。

求职信息

  面试网

        6.参照1.5的代码,假设定义了ClassA* pA2,下面正确的代码是: 求职面试


qzm4

        A.pA2=static_cast(pB);

面试问题

        B.void* pVoid=static_cast(pB); 求职面试

         pA2=static_cast(pVoid); 求职信息

        C.pA2=pB;

求职信息


礼仪

        D.pA2=static_cast(static_cast(pB));

qzm4


求职面试

        7.参照1.5的代码,下面那一个语句是不安全的: 面试网


求职信息

        A.delete pA   B.delete pB   C.delete pC

qzm4


qzm4

        8.下列程序的运行结果为:

qzm4


面试问题

#include

qzm4

void main() 求职信息

{

qzm4

int a=2; 求职面试

int b=  a; qzm4

cout<<a/6<

礼仪

}

面试网


礼仪

        A.0.5   B.0   C0.7   D.0.6666666-

求职信息


qzm4

        9.有如下一段代码:

面试网


qzm4

#define ADD(x,y) x y 面试网

int m=3; 礼仪

m =m*ADD(m,m);             

qzm4

则m的值为:

面试网


礼仪

        A.15   B.12   C.18   D.58 qzm4


面试网

        10.如下是一个带权的图,图中结点A到结点D的关键路径的长度是: 面试网


礼仪

        A.13       B.15       C.28       D.58

qzm4

  求职信息

        11.下面的模板声明中,正确的是: 求职面试


求职信息

        A.template qzm4

        B.template

求职面试

        C.template

qzm4

        D.template qzm4


qzm4

        12.在Windows编程中下面的说法正确的是:

qzm4


面试网

        A.两个窗口,他们的窗口句柄可以是相同的     B.两个窗口,他们的处理函数可以是相同的

面试问题

        C.两个窗口,他们的窗口句柄和窗口处理函数都不可以相同. 求职面试


求职面试

        13.下面哪种情况下,B不能隐式转换为A? qzm4


求职信息

        A.class B:public A{}                 B.class A:public B{}

礼仪

        C.class B{operator A();}             D.class A{A(const B&);}

求职面试


面试问题

        14.某公司使用包过滤防火墙控制进出公司局域网的数据,在不考虑使用代理服务器的情况下,下面描述错误的是”该防火墙能够(   )”.

求职信息


qzm4

        A.使公司员工只能访问Internet上与其业务联系的公司的IP地址.

面试网

        B.仅允许HTTP协议通过,不允许其他协议通过,例如TCP/UDP. 求职信息

        C.使员工不能直接访问FTP服务器端口号为21的FTP地址. 面试网

        D.仅允许公司中具有某些特定IP地址的计算机可以访问外部网络 求职面试

        15.数字字符0的ASCII值为48,若有以下程序:

求职面试


礼仪

main() 礼仪

{

面试网

   char a=’1’,b=’2’;

qzm4

printf(“%c,”,b  );

礼仪

printf(“%d\n”,b-a);

礼仪

} 礼仪


求职面试

        程序运行之后的输出结果是: 面试网


面试问题

        A.3,2      B.50,2       C.2,2     D.2,50 qzm4


求职信息

        二.  填空题(共40分) 求职信息


求职面试

        本程序从正文文件text.in读入一篇英文短文,统计该短文中不同单词和它的出现次数,并按词典编辑顺序将单词及它的出现次数输出到正文文件word.out中. 求职信息


面试问题

        程序用一棵有序二叉树存储这些单词及其出现的次数,一边读入一边建立.然后中序遍历该二叉树,将遍历经过的二叉树上的节点的内容输出. 面试网


面试网

        程序中的外部函数

qzm4


面试问题

int getword(FILE* pFile,char* pszWordBuffer,int nBufferLen);

求职信息

从与pFile所对应的文件中读取单词置入pszWordBuffer,并返回1;若单词遇文件尾,已无单词可读时,则返回0. 礼仪

#include qzm4

#include qzm4

#include

面试问题

#include

礼仪

  求职面试

#define SOURCE_FILE "text.in" 面试网

#define OUTPUT_FILE "word.out"

面试网

#define MAX_WORD_LEN 128

面试网

 

面试网

typedef struct treenode 求职面试

{

面试问题

      char szWord[MAX_WORD_LEN]; qzm4

      int nCount;

求职面试

      struct treenode* pLeft; 求职信息

      struct treenode* pRight;

求职信息

}BNODE; 求职信息

  面试网

int getword(FILE* pFile,char* pasWordBuffer,int nBufferLen);

求职面试

  qzm4

void binary_tree(BNODE** ppNode,char* pszWord) 面试网

{

面试问题

      if(ppNode != NULL && pszWord != NULL) 礼仪

      {

求职信息

             BNODE* pCurrentNode = NULL; 面试问题

             BNODE* pMemoNode = NULL;

qzm4

             int nStrCmpRes=0; 面试网

  求职面试

             ____(1)_____;pCurrentNode=*ppNode qzm4

  面试网

             while(pCurrentNode)

求职信息

             {

面试问题

                    /*寻找插入位置*/

面试网

                    nStrCmpRes = strcmp(pszWord, ___(2)___ );pCurrentNode->szWord 礼仪

  礼仪

                    if(!nStrCmpRes)

礼仪

                    { 面试网

                           ___(3)___; pCurrentNode->nCount 求职信息

  qzm4

                           return;

礼仪

                    } 礼仪

                    else 面试网

                    { qzm4

                           ___(4)___; pMemoNode=pCurrentNode

求职面试

                           pCurrentNode = nStrCmpRes>0? pCurrentNode->pRight : pCurrentNode->pLeft; 求职信息

                    }

面试网

             } 礼仪

      }

面试问题

 

求职信息

      pCurrent=new BNODE; 求职面试

  qzm4

      if(pCurrentNode != NULL) 求职面试

      {

面试问题

             memset(pCurrentNode,0,sizeof(BNODE));

面试网

             strncpy(pCurrentNode->szWord,pszWord,MAX_WORD_LEN-1);

求职面试

             pCurrentNode->nCount=1;

求职面试

      }

qzm4

 

面试问题

      if(pMemoNode==NULL)

面试问题

      {

面试网

             ___(5)___; *ppNode= pCurrentNode

礼仪

      }

qzm4

      else if(nStrCmpRes>0) 礼仪

      {

qzm4

             pMemoNode->pRight=pCurrentNode;

礼仪

      } 求职信息

      else 求职信息

      {

qzm4

             pMemoNode->pLeft=pCurrentNode; 求职信息

      }

求职面试

}

求职面试

 

礼仪

void midorder(FILE* pFile,BNODE* pNode) 求职面试

{

qzm4

      if(___(6)___) return;!pNode||!pFile

礼仪

  求职信息

      midorder(pFile,pNode->pLeft); 面试网

      fprintf(pFile,"%s %d\n",pNode->szWord,pNode->nCount);

qzm4

      midorder(pFile,pNode->pRight); 面试问题

} 求职面试

  求职面试

void main()

求职信息

{

礼仪

      FILE* pFile=NULL; 面试网

      BNODE* pRootNode=NULL;

求职面试

      char szWord[MAX_WORD_LEN]={0}; 求职信息

 

礼仪

      pFile=fopen(SOURCE_FILE,"r"); 求职面试

  求职信息

      if(pFile==NULL) qzm4

      { qzm4

             printf("Can't open file %s\n",SOURCE_FILE); qzm4

             return; 面试网

      } 面试问题

  qzm4

      while(getword(pFile,szWord,MAX_WORD_LEN)==1)

求职面试

      { qzm4

             binary_tree(___(7)___);// pRootNode,szWord

qzm4

      } 求职信息

  求职信息

      fclose(pFile);

求职信息

 

面试问题

      pFile=fopen(OUTPUT_FILE,"w");

求职信息

      midorder(pFile,pRootNode); 求职面试

      fclose(pFile);

qzm4

}

求职信息

三.  附加题(每题30分,2题,共60分)

面试问题

1.      从程序健壮性进行分析,下面的FillUserInfo函数和Main函数分别存在什么问题? 面试问题

#include qzm4

#include

求职面试

  面试问题

#define MAX_NAME_LEN 20 求职信息

  求职面试

struct USERINFO

qzm4

{

求职面试

      int nAge; qzm4

      char szName[MAX_NAME_LEN]; 礼仪

};

求职面试

  求职面试

void FillUserInfo(USERINFO* parUserInfo)

礼仪

{ 礼仪

      stu::cout<<"请输入用户的个数:";< p="">

面试网

 

面试网

      int nCount=0; 面试网

      std::cin>>nCount; 求职信息

 

求职信息

      for(int i=0;i<nCount;i  ) 面试网

      {

求职信息

             std::cout<<"请输入年龄:";< p=""> 求职信息

             std::cin>>parUserInfo[i]->nAge;

qzm4

 

面试问题

             std::string strName; 面试网

             std::cout<<"请输入姓名:";< p=""> qzm4

             std::cin>>strName;

求职信息

             strcpy(parUserInfo[i].szName,strName.c_str()); qzm4

      }

求职面试

}

求职面试

 

面试网

int main(int argc,char* argv[])

面试问题

{ 面试问题

      USERINFO arUserInfos[100]={0};

面试问题

      FillUserInfo(arUserInfos);

求职面试

      求职信息

      printf("The first name is:");

礼仪

      printf(arUserInfos[0].szName); qzm4

      printf("\n"); 礼仪

  qzm4

      return 0; 求职信息

}

求职面试

2.      假设你在编写一个使用多线程技术的程序,当程序中止运行时,需要怎样一个机制来安全有效的中止所有的线程?请描述其具体流程.

求职信息

求职面试

面试问题

求职面试

面试网

礼仪

qzm4

面试网

面试问题

声明:腾讯技术类校园招聘笔试试题来源于互联网,其版权均归原作者及其网站所有,本站虽力求保存原有的版权信息,但由于诸多原因,可能导致无法确定其真实来源,如果您对本站文章、图片资源的归属存有异议,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意!

相关文章