腾讯技术类校园招聘笔试试题
一. 单选题(每题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
destructing CBase class
qzm4
destructing CSub class 面试网
面试问题
4.在一个cpp文件里面,定义了一个static类型的全局变量,下面一个正确的描述是: 面试网
礼仪
A.只能在该cpp所在的编译模块中使用该变量 面试网
B.该变量的值是不可改变的 qzm4
C.该变量不能在类的成员函数中引用 面试问题
D.这种变量只能是基本类型(如int,char)不能是C 类型 面试网
礼仪
5.观察下面一段代码:
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;
求职信息
关于pA,pB,pC的取值,下面的描述中正确的是: 求职信息
求职面试
A.pA,pB,pC的取值相同. B.pC=pA pB
C.pA和pB不相同 D.pC不等于pA也不等于pB
qzm4
求职信息
每个类的示例在内存中的时候,都会有一张虚函数表,实际上是一个指针的列表,每个指针指向虚函数的地址空间,因此ClassC和ClassA是一样的地址,但是ClassB没有析构函数,它的虚函数表中就只有一项记录,就是FunctionB了。
求职信息
面试网
6.参照1.5的代码,假设定义了ClassA* pA2,下面正确的代码是: 求职面试
qzm4
A.pA2=static_cast
面试问题
B.void* pVoid=static_cast
pA2=static_cast
C.pA2=pB;
D.pA2=static_cast
qzm4
7.参照1.5的代码,下面那一个语句是不安全的: 面试网
求职信息
A.delete pA B.delete pB C.delete pC
qzm4
8.下列程序的运行结果为:
qzm4
面试问题
#include
qzm4
void main() 求职信息
{
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);
则m的值为:
礼仪
A.15 B.12 C.18 D.58 qzm4
10.如下是一个带权的图,图中结点A到结点D的关键路径的长度是: 面试网
A.13 B.15 C.28 D.58
求职信息
11.下面的模板声明中,正确的是: 求职面试
A.template
B.template
求职面试
C.template
qzm4
D.template
12.在Windows编程中下面的说法正确的是:
面试网
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中. 求职信息
面试问题
程序用一棵有序二叉树存储这些单词及其出现的次数,一边读入一边建立.然后中序遍历该二叉树,将遍历经过的二叉树上的节点的内容输出. 面试网
程序中的外部函数
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]; 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;
求职面试
}
面试问题
if(pMemoNode==NULL)
面试问题
{
___(5)___; *ppNode= pCurrentNode
礼仪
}
else if(nStrCmpRes>0) 礼仪
{
pMemoNode->pRight=pCurrentNode;
} 求职信息
else 求职信息
{
qzm4
pMemoNode->pLeft=pCurrentNode; 求职信息
}
}
礼仪
void midorder(FILE* pFile,BNODE* pNode) 求职面试
{
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
#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;
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
面试网
面试问题
声明:腾讯技术类校园招聘笔试试题来源于互联网,其版权均归原作者及其网站所有,本站虽力求保存原有的版权信息,但由于诸多原因,可能导致无法确定其真实来源,如果您对本站文章、图片资源的归属存有异议,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意!