《腾讯技术类校园招聘笔试试题》由会员分享,可在线阅读,更多相关《腾讯技术类校园招聘笔试试题(4页珍藏版)》请在金锄头文库上搜索。
1、 腾讯技术类校园招聘笔试试题一. 单选题(每题4分,15题,共60分)1.考虑函数原型void hello(int a,int b=7,char* pszC=”*”),下面的函数调用钟,属于不合法调用的是:A hello(5) B.hello(5,8) C.hello(6,”#”) D.hello(0,0,”#”)2.下面有关重载函数的说法中正确的是:A.重载函数必须具有不同的返回值类型 B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表 D.重载函数名可以不同3.分析一下程序的运行结果:#includeclass CBasepublic:CBase()cout(pB);B.void
2、* pVoid=static_cast(pB);pA2=static_cast(pVoid);C.pA2=pB;D.pA2=static_cast(static_cast(pB);7.参照1.5的代码,下面那一个语句是不安全的:A.delete pA B.delete pB C.delete pC8.下列程序的运行结果为:#includevoid main()int a=2;int b=+a;coutB.templateC.templateD.template12.在Windows编程中下面的说法正确的是:A.两个窗口,他们的窗口句柄可以是相同的 B.两个窗口,他们的处理函数可以是相同的C.两
3、个窗口,他们的窗口句柄和窗口处理函数都不可以相同.13.下面哪种情况下,B不能隐式转换为A?A.class B:public A B.class A:public BC.class Boperator A(); D.class AA(const B&);14.某公司使用包过滤防火墙控制进出公司局域网的数据,在不考虑使用代理服务器的情况下,下面描述错误的是”该防火墙能够( )”.A.使公司员工只能访问Internet上与其业务联系的公司的IP地址.B.仅允许HTTP协议通过,不允许其他协议通过,例如TCP/UDP.C.使员工不能直接访问FTP服务器端口号为21的FTP地址.D.仅允许公司中具有某
4、些特定IP地址的计算机可以访问外部网络15.数字字符0的ASCII值为48,若有以下程序:main()char a=1,b=2;printf(“%c,”,b+);printf(“%dn”,b-a);程序运行之后的输出结果是:A.3,2 B.50,2 C.2,2 D.2,50二. 填空题(共40分)本程序从正文文件text.in读入一篇英文短文,统计该短文中不同单词和它的出现次数,并按词典编辑顺序将单词及它的出现次数输出到正文文件word.out中.程序用一棵有序二叉树存储这些单词及其出现的次数,一边读入一边建立.然后中序遍历该二叉树,将遍历经过的二叉树上的节点的内容输出.程序中的外部函数int
5、 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 128typedef struct treenodechar szWordMAX_WORD_LEN;int nCount;struct
6、 treenode* pLeft;struct treenode* pRight;BNODE;int getword(FILE* pFile,char* pasWordBuffer,int nBufferLen);void binary_tree(BNODE* ppNode,char* pszWord)if(ppNode != NULL & pszWord != NULL)BNODE* pCurrentNode = NULL;BNODE* pMemoNode = NULL;int nStrCmpRes=0;_(1)_;pCurrentNode=*ppNodewhile(pCurrentNode
7、)/*寻找插入位置*/nStrCmpRes = strcmp(pszWord, _(2)_ );pCurrentNode-nCountif(!nStrCmpRes)_(3)_; pCurrentNode-nCount+return;else_(4)_; pMemoNode=pCurrentNodepCurrentNode = nStrCmpRes0? pCurrentNode-pRight : pCurrentNode-pLeft;pCurrent=new BNODE;if(pCurrentNode != NULL)memset(pCurrentNode,0,sizeof(BNODE);str
8、ncpy(pCurrentNode-szWord,pszWord,MAX_WORD_LEN-1);pCurrentNode-nCount=1;if(pMemoNode=NULL)_(5)_; *ppNode= pCurrentNodeelse if(nStrCmpRes0)pMemoNode-pRight=pCurrentNode;elsepMemoNode-pLeft=pCurrentNode;void midorder(FILE* pFile,BNODE* pNode)if(_(6)_) return;!pNode|!pFilemidorder(pFile,pNode-pLeft);fpr
9、intf(pFile,”%s %dn”,pNode-szWord,pNode-nCount);midorder(pFile,pNode-pRight);void main()FILE* pFile=NULL;BNODE* pRootNode=NULL;char szWordMAX_WORD_LEN=0;pFile=fopen(SOURCE_FILE,”r”);if(pFile=NULL)printf(“Cant open file %sn”,SOURCE_FILE);return;while(getword(pFile,szWord,MAX_WORD_LEN)=1)binary_tree(_(
10、7)_);/ pRootNode,szWordfclose(pFile);pFile=fopen(OUTPUT_FILE,”w”);midorder(pFile,pRootNode);fclose(pFile);三. 附加题(每题30分,2题,共60分)1. 从程序健壮性进行分析,下面的FillUserInfo函数和Main函数分别存在什么问题?#include #include #define MAX_NAME_LEN 20struct USERINFOint nAge;char szNameMAX_NAME_LEN;void FillUserInfo(USERINFO* parUserIn
11、fo)stu:coutnCount;for(int i=0;iparUserInfoi-nAge;std:string strName;std:coutstrName;strcpy(parUserInfoi.szName,strName.c_str();int main(int argc,char* argv)USERINFO arUserInfos100=0;FillUserInfo(arUserInfos);printf(“The first name is:”);printf(arUserInfos0.szName);printf(“n”);return 0;2. 假设你在编写一个使用多线程技术的程序,当程序中止运行时,需要怎样一个机制来安全有效的中止所有的线程?请描述其具体流程.4