腾讯技术类校园招聘笔试试题
一. 单选题(每题4分,15题,共60分) 礼仪
礼仪
1.下面有关重载函数的说法中正确的是: qzm4
面试网
A.重载函数必须具有不同的返回值类型 B.重载函数形参个数必须不同
面试网
C.重载函数必须有不同的形参列表 D.重载函数名可以不同 求职信息
qzm4
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.分析一下程序的运行结果: 面试网
面试问题
#include
class CBase
{ 求职信息
public:
qzm4
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”<
qzm4
}; qzm4
void main()
{
面试问题
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 面试问题
constructing CSub class
礼仪
destructing CSub class 礼仪
destructing CBase class qzm4
D. constructing CSub class 礼仪
constructing CBase class 面试网
destructing CBase class
destructing CSub class
4.在一个cpp文件里面,定义了一个static类型的全局变量,下面一个正确的描述是: 面试网
求职面试
A.只能在该cpp所在的编译模块中使用该变量
qzm4
B.该变量的值是不可改变的
C.该变量不能在类的成员函数中引用 qzm4
D.这种变量只能是基本类型(如int,char)不能是C 类型
qzm4
qzm4
5.观察下面一段代码:
面试问题
面试网
class ClassA 礼仪
{ 面试网
public: 求职面试
virtual ~ ClassA(){}; 面试问题
virtual void FunctionA(){}; 求职信息
};
qzm4
class ClassB 面试问题
{ 礼仪
public: 面试网
virtual void FunctionB(){}; 求职信息
};
class ClassC : public ClassA,public ClassB 求职面试
{ 求职信息
public:
面试网
}; 礼仪
ClassC aObject;
qzm4
ClassA* pA=&aObject;
求职信息
ClassB* pB=&aObject;
qzm4
ClassC* pC=&aObject; 礼仪
求职信息
关于pA,pB,pC的取值,下面的描述中正确的是:
A.pA,pB,pC的取值相同. B.pC=pA pB
C.pA和pB不相同 D.pC不等于pA也不等于pB
求职信息
每个类的示例在内存中的时候,都会有一张虚函数表,实际上是一个指针的列表,每个指针指向虚函数的地址空间,因此ClassC和ClassA是一样的地址,但是ClassB没有析构函数,它的虚函数表中就只有一项记录,就是FunctionB了。
求职信息
6.参照1.5的代码,假设定义了ClassA* pA2,下面正确的代码是:
面试网
A.pA2=static_cast
B.void* pVoid=static_cast
pA2=static_cast
C.pA2=pB;
求职信息
礼仪
D.pA2=static_cast
7.参照1.5的代码,下面那一个语句是不安全的: 求职信息
qzm4
A.delete pA B.delete pB C.delete pC qzm4
qzm4
8.下列程序的运行结果为:
礼仪
面试网
#include
void main()
{
int a=2; 礼仪
int b= a;
qzm4
cout<<a/6<
}
求职信息
A.0.5 B.0 C0.7 D.0.6666666-
qzm4
9.有如下一段代码: 求职信息
#define ADD(x,y) x y
int m=3; 面试问题
m =m*ADD(m,m);
面试网
则m的值为:
面试问题
A.15 B.12 C.18 D.58
求职信息
10.如下是一个带权的图,图中结点A到结点D的关键路径的长度是:
求职信息
面试问题
A.13 B.15 C.28 D.58
求职信息
礼仪
11.下面的模板声明中,正确的是: qzm4
礼仪
A.template
B.template
C.template
D.template
求职面试
12.在Windows编程中下面的说法正确的是: 求职信息
礼仪
A.两个窗口,他们的窗口句柄可以是相同的 B.两个窗口,他们的处理函数可以是相同的
C.两个窗口,他们的窗口句柄和窗口处理函数都不可以相同. qzm4
求职面试
13.下面哪种情况下,B不能隐式转换为A?
qzm4
qzm4
A.class B:public A{} B.class A:public B{} 礼仪
C.class B{operator A();} D.class A{A(const B&);}
求职面试
14.某公司使用包过滤防火墙控制进出公司局域网的数据,在不考虑使用代理服务器的情况下,下面描述错误的是”该防火墙能够( )”.
求职信息
求职面试
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 ); 面试网
printf(“%d\n”,b-a);
}
程序运行之后的输出结果是:
求职信息
A.3,2 B.50,2 C.2,2 D.2,50
面试网
二. 填空题(共40分) 礼仪
礼仪
本程序从正文文件text.in读入一篇英文短文,统计该短文中不同单词和它的出现次数,并按词典编辑顺序将单词及它的出现次数输出到正文文件word.out中. qzm4
面试网
程序用一棵有序二叉树存储这些单词及其出现的次数,一边读入一边建立.然后中序遍历该二叉树,将遍历经过的二叉树上的节点的内容输出.
礼仪
求职信息
程序中的外部函数
求职信息
求职面试
int getword(FILE* pFile,char* pszWordBuffer,int nBufferLen);
从与pFile所对应的文件中读取单词置入pszWordBuffer,并返回1;若单词遇文件尾,已无单词可读时,则返回0.
#include
#include
qzm4
#include
#include
礼仪
#define SOURCE_FILE "text.in" 求职信息
#define OUTPUT_FILE "word.out" 面试网
#define MAX_WORD_LEN 128 面试网
求职面试
typedef struct treenode
qzm4
{
char szWord[MAX_WORD_LEN]; qzm4
int nCount;
求职面试
struct treenode* pLeft; qzm4
struct treenode* pRight; qzm4
}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
qzm4
while(pCurrentNode)
{
/*寻找插入位置*/ 面试问题
nStrCmpRes = strcmp(pszWord, ___(2)___ );pCurrentNode->szWord 礼仪
if(!nStrCmpRes)
{
qzm4
___(3)___; pCurrentNode->nCount 面试网
return; 求职信息
}
求职面试
else 面试问题
{
求职信息
___(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
} qzm4
面试问题
if(pMemoNode==NULL) 求职信息
{
礼仪
___(5)___; *ppNode= pCurrentNode 求职信息
} 礼仪
else if(nStrCmpRes>0)
求职面试
{ 面试问题
pMemoNode->pRight=pCurrentNode;
面试问题
} 求职面试
else
{
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);
midorder(pFile,pNode->pRight); 求职面试
}
礼仪
void main()
{
FILE* pFile=NULL; 求职面试
BNODE* pRootNode=NULL; 面试网
char szWord[MAX_WORD_LEN]={0};
面试网
pFile=fopen(SOURCE_FILE,"r");
求职信息
qzm4
if(pFile==NULL)
{
qzm4
printf("Can't open file %s\n",SOURCE_FILE);
return;
} 求职信息
面试网
while(getword(pFile,szWord,MAX_WORD_LEN)==1) 面试网
{ 求职面试
binary_tree(___(7)___);// pRootNode,szWord
求职信息
} 面试问题
qzm4
fclose(pFile);
面试网
面试网
pFile=fopen(OUTPUT_FILE,"w"); qzm4
midorder(pFile,pRootNode);
礼仪
fclose(pFile); qzm4
} 面试问题
三. 附加题(每题30分,2题,共60分) 礼仪
1. 从程序健壮性进行分析,下面的FillUserInfo函数和Main函数分别存在什么问题? 礼仪
#include
#include
#define MAX_NAME_LEN 20
求职信息
面试问题
struct USERINFO
{
求职信息
int nAge;
char szName[MAX_NAME_LEN];
};
面试网
void FillUserInfo(USERINFO* parUserInfo) 礼仪
{ qzm4
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="">
std::cin>>strName; qzm4
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); 求职信息
printf("\n"); 求职面试
礼仪
return 0;
}
2. 假设你在编写一个使用多线程技术的程序,当程序中止运行时,需要怎样一个机制来安全有效的中止所有的线程?请描述其具体流程. qzm4
礼仪
qzm4
面试问题
求职面试
声明:腾讯技术类校园招聘笔试试题来源于互联网,其版权均归原作者及其网站所有,本站虽力求保存原有的版权信息,但由于诸多原因,可能导致无法确定其真实来源,如果您对本站文章、图片资源的归属存有异议,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意!