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

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,"#") 求职信息


qzm4

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


求职面试

#include

求职信息

class CBase

面试问题

{

qzm4

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()

求职信息

{ 求职信息

   CSub obj;

求职面试

} 礼仪

A. constructing CSub class           B. constructing CBase class 面试问题

  constructing CBase class             constructing CSub class

qzm4

  destructing CSub class               destructing CBase class

礼仪

  destructing CBase class              destructing CSub class 面试问题

C. constructing CBase class       

面试问题

  constructing CSub class        

面试网

  destructing CSub class         

面试问题

  destructing CBase class         

求职信息

 D. constructing CSub class

面试问题

    constructing CBase class qzm4

    destructing CBase class

求职信息

     destructing CSub class qzm4


qzm4

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

礼仪


面试问题

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

面试问题

        B.该变量的值是不可改变的 面试问题

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

求职面试

        D.这种变量只能是基本类型(如int,char)不能是C  类型 求职信息


求职面试

        5.观察下面一段代码: 求职信息


qzm4

class ClassA 礼仪

{ qzm4

public: 面试问题

virtual ~ ClassA(){}; 礼仪

virtual void FunctionA(){};

礼仪

};

面试问题

class ClassB

面试网

{

求职面试

public:

礼仪

   virtual void FunctionB(){};

求职信息

};

礼仪

class ClassC : public ClassA,public ClassB qzm4

{

面试网

public: 面试网

};

qzm4

 

礼仪

ClassC aObject;

求职面试

ClassA* pA=&aObject;

求职面试

ClassB* pB=&aObject; 求职信息

ClassC* pC=&aObject;

面试问题


面试网

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

求职面试


求职面试

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

面试问题

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

qzm4

  求职面试

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

  面试网

        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

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

面试问题


面试网

#include

礼仪

void main() 求职面试

{ qzm4

int a=2;

求职面试

int b=  a;

求职信息

cout<<a/6<

求职面试

}

面试问题


求职面试

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

面试网


礼仪

        9.有如下一段代码:

求职信息


礼仪

#define ADD(x,y) x y

礼仪

int m=3; qzm4

m =m*ADD(m,m);              面试问题

则m的值为:

面试问题


面试问题

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

求职信息


礼仪

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

面试问题


qzm4

        A.13       B.15       C.28       D.58 面试网

  面试问题

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


面试问题

        A.template 面试网

        B.template 面试网

        C.template

qzm4

        D.template

面试网


礼仪

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

礼仪


qzm4

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

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


求职面试

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


礼仪

        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地址的计算机可以访问外部网络

qzm4

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


礼仪

main() 礼仪

{ 礼仪

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

面试问题

printf(“%c,”,b  );

qzm4

printf(“%d\n”,b-a); 面试问题

} 面试问题


礼仪

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

求职面试


求职面试

        A.3,2      B.50,2       C.2,2     D.2,50 面试问题


礼仪

        二.  填空题(共40分) 礼仪


求职面试

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


面试问题

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

求职面试


礼仪

        程序中的外部函数

面试网


礼仪

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

面试问题

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

#include 面试问题

#include 面试问题

#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];

礼仪

      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)

求职面试

      { qzm4

             BNODE* pCurrentNode = NULL;

面试问题

             BNODE* pMemoNode = NULL;

面试问题

             int nStrCmpRes=0; 面试问题

 

求职面试

             ____(1)_____;pCurrentNode=*ppNode

面试网

  求职面试

             while(pCurrentNode)

求职信息

             { 礼仪

                    /*寻找插入位置*/ 面试网

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

求职信息

  求职面试

                    if(!nStrCmpRes) 求职信息

                    {

求职面试

                           ___(3)___; pCurrentNode->nCount

qzm4

 

求职信息

                           return;

面试问题

                    } 求职面试

                    else 求职面试

                    { 面试问题

                           ___(4)___; pMemoNode=pCurrentNode

qzm4

                           pCurrentNode = nStrCmpRes>0? pCurrentNode->pRight : pCurrentNode->pLeft;

礼仪

                    }

面试网

             }

qzm4

      } 面试网

  礼仪

      pCurrent=new BNODE; 求职信息

 

礼仪

      if(pCurrentNode != NULL)

面试网

      { qzm4

             memset(pCurrentNode,0,sizeof(BNODE)); 面试网

             strncpy(pCurrentNode->szWord,pszWord,MAX_WORD_LEN-1); 面试问题

             pCurrentNode->nCount=1; 面试网

      }

求职信息

 

求职面试

      if(pMemoNode==NULL) 礼仪

      {

面试问题

             ___(5)___; *ppNode= pCurrentNode

qzm4

      }

qzm4

      else if(nStrCmpRes>0) 面试网

      { 面试问题

             pMemoNode->pRight=pCurrentNode; 面试问题

      }

求职面试

      else 面试问题

      {

求职信息

             pMemoNode->pLeft=pCurrentNode; 求职面试

      }

求职信息

} 求职面试

  礼仪

void midorder(FILE* pFile,BNODE* pNode) 礼仪

{

qzm4

      if(___(6)___) return;!pNode||!pFile 面试网

  qzm4

      midorder(pFile,pNode->pLeft);

qzm4

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

求职面试

      midorder(pFile,pNode->pRight); 礼仪

} 求职面试

 

礼仪

void main() qzm4

{

求职信息

      FILE* pFile=NULL; 求职面试

      BNODE* pRootNode=NULL;

面试问题

      char szWord[MAX_WORD_LEN]={0}; 礼仪

 

求职面试

      pFile=fopen(SOURCE_FILE,"r"); 礼仪

  求职信息

      if(pFile==NULL) 面试问题

      { 求职信息

             printf("Can't open file %s\n",SOURCE_FILE); 面试问题

             return; 礼仪

      } 求职面试

 

面试问题

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

求职信息

      {

求职信息

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

面试问题

      }

面试网

  求职信息

      fclose(pFile); qzm4

 

qzm4

      pFile=fopen(OUTPUT_FILE,"w");

qzm4

      midorder(pFile,pRootNode); 面试网

      fclose(pFile); 求职信息

}

qzm4

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

求职信息

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

礼仪

#include qzm4

#include

面试网

  qzm4

#define MAX_NAME_LEN 20 面试网

  面试网

struct USERINFO

qzm4

{

面试网

      int nAge; 求职信息

      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  )

求职面试

      {

qzm4

             std::cout<<"请输入年龄:";< p="">

面试网

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

面试网

  面试网

             std::string strName; 求职信息

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

             std::cin>>strName;

面试问题

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

qzm4

      }

qzm4

} 面试网

  面试问题

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

{

求职面试

      USERINFO arUserInfos[100]={0}; 礼仪

      FillUserInfo(arUserInfos); 求职面试

      面试网

      printf("The first name is:");

qzm4

      printf(arUserInfos[0].szName); 面试网

      printf("\n"); 求职面试

  面试问题

      return 0;

qzm4

} 面试网

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

面试问题

礼仪

求职信息

求职信息

面试网

面试问题

面试网

求职信息

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

相关文章