学者谷

位置:首页 > 职场范文 > 笔试

腾讯笔试题推荐

笔试1.42W

可以到腾讯这样的大公司面试,是一次很难得的机会了。腾讯笔试题推荐相关范文,我们一起来看看。欢迎参考。

腾讯笔试题推荐

1 计算 a^b << 2 (运算符优先级问题)

int a = 2; int b = 1; int c = 2; cout << (a ^ b << c); 6

2 根据先序中序求后序

3 a[3][4]哪个不能表示 a[1][1]: *(&a[0][0]) *(*(a+1)+1) *(&a[1]+1) *(&a[0][0]+4)

cout << *(&a[1][1]) << endl <<*(*(a+1)+1) << endl << *(&a[1]+1) << endl << *(&a[0][0]+4); 6 6 0012FEC8 5

4 for(int i...)

for(int j...)

printf(i,j);

printf(j)

会出现什么问题 J没有定义,不在其作用域

5 for(i=0;i<10;++i,sum+=i);的运行结果

6 10个数顺序插入查找二叉树,元素62的比较次数

7 10个数放入模10hash链表,最大长度是多少

8 fun((exp1,exp2),(exp3,exp4,exp5))有几个实参

2 个

9 希尔 冒泡 快速 插入 哪个平均速度最快

10 二分查找是 顺序存储 链存储 按value有序中的哪些

11 顺序查找的平均时间

12 *p=NULL *p=new char[100] sizeof(p)各为多少 4

13 频繁的插入删除操作使用什么结构比较合适,链表还是数组

14 enum的声明方式 enum COLOR{RED,BLUE,GREEN};

大题:

1 把字符串转换为小写,不成功返回NULL,成功返回新串

char* toLower(char* sSrcStr)

{

char* sDest= NULL;

if( __1___)

{

int j;

sLen = strlen(sSrcStr);

sDest = new [_______2_____];

if(*sDest == NULL)

return NULL;

sDest[sLen] = ;

while(_____3____)

sDest[sLen] = toLowerChar(sSrcStr[sLen]);

}

return sDest;

} char toLowerChar(char a) { if(a >= A && a <= ) return a - A + a; } char* toLower(char* sSrcStr) { char* sDest= NULL; if(sSrcStr) { int j; int sLen = strlen(sSrcStr); sDest = new char[sLen + 1]; if(*sDest == NULL) return NULL; sDest[sLen] = ; while(sLen--) sDest[sLen] = toLowerChar(sSrcStr[sLen]); } return sDest; }

2 把字符串转换为整数 例如:"-123" -> -123

main()

{

.....

if( *string == - )

n = ____1______; -1* num(string+1)

else

n = num(string);

.....

}

int num(char* string)

{

for(;!(*string==0);string++)

{

int k;

k = __2_____; *string

j = --sLen;

while( __3__) j--

k = k * 10;

num = num + k;

}

return num;

}

附加题:

1 linux下调试core的命令,察看堆栈状态命令

2 写出socks套接字 服务端 客户端 通讯程序

3 填空补全程序,按照我的理解是添入:win32调入dll的函数名

查找函数入口的函数名 找到函数的调用形式

把formView加到singledoc的声明 将singledoc加到app的声明

4 有关系 s(sno,sname) c(cno,cname) sc(sno,cno,grade)

1 问上课程 "db"的学生no

2 成绩最高的学生号

3 每科大于90分的人数 腾讯

待遇:硕士年薪10万,本科年薪7万

1)笔试: C++,基础题目与程序员考试水平相当。

附加题:

1.有10亿个浮点数,从中找出1万个最大的数。写一个高性能的算法

后台进程的实现

的多文档模板的加载

4.数据库SQL语句查询

2)面试

技术1面:感觉腾讯的面试安排不是很合理,进去之后有12个面试官,随便找一个面。面我的是个铁面判官,问了几个问题,DirectX技术有没有接触过? 2D,3D引擎原理?我一头雾水,跟他没什么好谈的,感觉,彼此都不感兴趣。然后他就问了一个很基础的问题,写一个程序:从双向循环链表中删除一个节点。这个当然没有什么问题。不过出来后感觉就没戏

1.请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句

#define check(a,b) char*r=((a)-(b))==abs((a)-(b))? "greater":"less"

2.如何输出源文件的标题和目前执行行的行数

cout<<"Filename"<<_ _FILE__<<"line"<<__line__<

3、两个数相乘,小数点后位数没有限制,请写一个高精度算法

4、写一个病毒

while(1)

{

int *p=new int [10000000];

}

5、有A、B、C、D四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时1、2、5、10分钟,只有一支手电,并且同时最多只能两个人一起过桥。请问,如何安排,能够在17分钟内这四个人都过桥?

AB过2分 A回来1分 3

CD过10 B回来2分 12

AB过2分 共计3+2+12=17

2005年腾讯招聘

选择题(60)

c/c++ os linux 方面的基础知识 c的Sizeof函数有好几个!

程序填空(40)

1.(20) 4空x5

不使用额外空间,将 A,B两链表的元素交叉归并

2.(20) 4空x5

MFC 将树序列化 转存在数组或 链表中!

1, 计算 a^b << 2 (运算符优先级问题) :<<的优先级高于^

2 根据先序中序求后序

3 a[3][4]哪个不能表示 a[1][1]: *(&a[0][0]) *(*(a+1)+1) *(&a[1]+1) *(&a[0][0]+4) :*(&a[0][0]+4)应加5 *(&a[1]+1)

4 for(int i...)

for(int j...)

printf(i,j);

printf(j)

会出现什么问题 :j没有定义,不在其作用域内

5 for(i=0;i<10;++i,sum+=i);的.运行结果 :55先执行循环体再执行++i,sum+=i

6 10个数顺序插入查找二叉树,元素62的比较次数

7 10个数放入模10hash链表,最大长度是多少

8 fun((exp1,exp2),(exp3,exp4,exp5))有几个实参 :两个,其中括号内的","为逗号运算符

9 希尔 冒泡 快速 插入 哪个平均速度最快

10 二分查找是 顺序存储 链存储 按value有序中的哪些

11 顺序查找的平均时间

12 *p=NULL *p=new char[100] sizeof(p)各为多少 :都是4

13 频繁的插入删除操作使用什么结构比较合适,链表还是数组 :链表

14 enum的声明方式 enum COLOR{RED,BLUE,GREEN};

15 1-20的两个数把和告诉A,积告诉B,A说不知道是多少,

问题:A从2到99之间抽了2个数字,把和告诉B,积告诉C

B说我不知道这2个数,但是C也肯定不知道

C说我开始确实不知道,但是现在知道了

B说这样我也知道了

求这2个数.为什么?我的解答: 首先,正确答案是4和13。 设B得到的和记做B,C得到的积记做C,这两个数记做x和y。 1.预备结论, a)100以内的质数有25个,如下: 2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97, b)歌德巴赫猜想,任何大于6的偶数都能写成两个奇质数的和。 c)B明显大于等于6,而小于等于196 2.一些更要结论。 a)B不可能是偶数。因为B如果是偶数,而偶数都能写成两个奇质数的和,例如22=5+17,那么如果C=5*17=85,则因为C=85只有一种质因数分解方式,所以C知道这两个数是5和17。也就是说,B说“我不知道这2个数,但是C也肯定不知道”这句话是错误的,C有可能知道。 b)B是奇数,并且一定不能写成两个质数的和。例如若B=19,那么就有可能是2和17,如果C=34=2*17,只有一种质因数分解方式,所以C知道这两个数。 那么不能写成两个质数的和的奇数见下:记做集合M 11,17,23,27,29,35,37,41,47,51,53,57,59,65,67,71,77,79,83,87,89,93,95,97,还有100至196之间的奇数(因为例如103,虽然=101+2,但是101一经大于100) 这些数的思路是这样的,奇数=两个质数和,那一定有一个数是2。不如分析30-40的,可以用排除法,奇数有31,33,35,37,39,但是29+2=31,31+2=33,37+2=39所以要排除31,33,39剩余35,37。 所以B只可能是集合M中的数。 c)B可有多种可能的分解方式,但是只有一种是可以确定的。这句话如果不理解,后面有例子。 3.实际这个题可以分为两个重要部分,一是找到一组这样个数,并证明这组数符合条件,而是证明其它的数组不满足条件。本人只能证明的一部分,第二部分我目前没有更好的方法,只能是列举排除法。 4.下面实例分析 a)若B=11 x=2,y=9,那么C=18=3*6,C会这样想,如果是3和6,那么B=9,而9可以是2+7,那么我C就是14,我肯定可以知道是2和7,所以不能是3和6。也就是说若B=11,B可以判断出是x=2,y=9 x=3,y=8,那么C=24=2*12=4*6,无论2+12,还是4+6都是偶数,可以排除,B可以判断出是x=2,y=9 x=4,y=7,C=2*14,2+16也可以排除,B可以判断出是x=2,y=9 x=5,y=6,C=2*15,2+15=17,17是集合M中的数,也就是说C知道这两个数是什么,但是B不能确定。 B有三组可以确定,那么,B就不知道究竟是那组了,只有一组能判断出来才可以。 一个结论: ()C可以有多中分解方式,但分解中的x+y的和如果是M中的数,那说明这种分解方式不能排除,反之则能排除。 ()如果B的几种不同分解方式,有两个或以上的C可以确定,那么这样的B不满足条件(B说这样我也知道了) ()如果C的分解方式中x或y是4,8,16……2^2,另一个是质数,那么这种分解方式可以排除,因为,此时C的其他分解方式不过是,把质因数2分给质数,这样两个数都是偶数了,那么和B也成了偶数,这和前面的结论是矛盾的。 b)若B=17 x=2,y=15,那么C=30=5*6,5+6=11,属于M,不能排除。 x=3,y=14,那么C=42=2*21,2+21=23,属于M,不能排除。 x=4,y=13,那么C=52=2*26,2+26=28,不属于M,可以排除。 x=5,y=12,那么C=60=3*20,3+20=23,属于M,不能排除。 x=6,y=11,那么C=66=2*33,2+33=35,属于M,不能排除。 x=7,y=10,那么C=70=2*35,2+35=37,属于M,不能排除。 x=8,y=9,那么C=72=3*24,2+24=27,属于M,不能排除。 这样

标签:笔试 腾讯