腾讯笔试题目

发布 2024-04-17 04:45:11 阅读 3090

1. 1-20的两个数把和告诉a,积告诉b,a说不知道是多少,b也说不知道,这时a说我知道了,b接着说我也知道了,问这两个数是多少?

答案:2和3

2 爸爸,妈妈,妹妹,小强,至少两个人同一生肖的概率是多少?

3, 计算 a^b <<2

答案:运算符优先级:括号,下标,->和。(成员)最高;

单目的比双目的高;

算术双目的比其他双目的高;

位运算高于关系运算;

关系运算高于按位运算(与,或,异或);

按位运算高于逻辑运算;

三目的只有一个条件运算,低于逻辑运算;

赋值运算仅比 , 顺序运算)高。

在此题中,位左移"<<优先级高于按位异或"^"所以b先左移两位(相当于乘以4),再与a异或。

例如: 当 a = 6; b = 4 时; 则 a^b<<2 = 22

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

答案: printf("the file name: %d", file__)

printf("the current line no:%d", line__)

ansi c标准预定义宏:

_line__

_file__

_date__

_time__

_stdc__ 当要求程序严格遵循ansi c标准时该标识符被赋值为1

_cplusplus__ 当编写c++程序时该标识符被定义。

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

答案: *a[1]+1)

a是数组的首地址,a[1]就表示a[1][0]地址了,不用再取地址了。

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

答案:两个。

形式参数:在声明和定义函数时,写在函数名后的括号中的参数。

实参是调用参数中的变量,行参是被调用函数中的变量。

7. 希尔冒泡快速插入哪个平均速度最快?

答案:快速排序。

快速排序、归并排序和基数排序在不同情况下都是最快最有用的。

8. enum的声明方式。

答案:enum 枚举类型名 ;

enum weekday week_day;//week_day 就是一个枚举类型变量。

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

答案:链表。

10. *p=null *p=new char[100] sizeof(p)各为多少?

答案:都为4。因为都是指针类型,所占存储空间必然为4。

11. 顺序查找的平均时间。

答案:(1+2+3+..n)/n = n+1)/2

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

答案:sum = 55

13. 不能做switch()的参数类型是:

答案:switch的参数不能为浮点型。

14.不使用其他变量,交换两个整型a,b的值。

答案:x = x+y; y = x-y; x = x-y

15. 写出float x 与“零值”比较的if语句。

if(x>=0.000001 &&x<=-0.000001)(x不为0的比较)

float: 6位精度。

double: 16位精度。

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

数据库。

1. 有个表tableqq,有整型的id项和字符类型的nickname项,这两个项都不允许为空。

1)写出建立该表的sql语句。

2)找出nickname为qq的用户,按id降序排列的sql语句。

3)写出删除id为1234用户记录的sql语句。

4)写出添加id为5555,nickname为'1234'的sql语句。

答案:1) create table tableqq

id number(12) not null,nickname varchar2(30) not null

2) select * from tableqq where nickname = qq' order by id desc;

3) delete from tableqq where >

4) insert into tableqq values(5555,'1234');

/删除表。5)drop table tableqq;

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

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

2 成绩最高的学生号。

3 每科大于90分的人数。

答案:1)select

from s, c, sc

where = and = and = db';

2)select sno, max(grade)from sc group by sno;

3)select cno, count(sno) from sc where grade > 90 group by cno;

操作系统网络。

1. 描述实时系统的基本特性。

答案:在特定时间内完成特定的任务,实时性与可靠性。

2. internet采用哪种网络协议?该协议的主要层次结构?

答案:tcp/ip协议。应用层、传输层、网络层、数据链路层和物理层。

3. internet物理地址和ip地址转换采用什么协议?

答案:地址解析协议arp address resolution protocol

4. ip地址的编码分为哪俩部分?

答案:网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位。

哪些是主机位。

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

大题: 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] =0';

while(__3___

sdest[slen] =tolowerchar(ssrcstr[slen]);

return sdest;

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

main()

if( *string

n = 1___

else n = num(string);

int num(char* string)

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

int k;

k = 2___

j = slen;

while( _3__)

k = k * 10;

num = num + k;

return num;

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

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

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

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

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

#define max(a,b) (a/b)?a:b

写一个病毒

while (1)

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

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

struct st

num++;

for(i=0;i

for(i=0;i delete [ matr[ i ];

return1;

腾讯的一道面试题:(与相似,可惜昨天死在这方面了)//

在一个文件中有 10g 个整数,乱序排列,要求找出中位数。内存限制为 2g。只写出思路即可。

答案:1, 把整数分成256m段,每段可以用64位整数保存该段数据个数,256m*8 = 2g内存,先清0

2,读10g整数,把整数映射到256m段中,增加相应段的记数

3,扫描256m段的记数,找到中位数的段和中位数的段前面所有段的记数,可以把其他段的内存释放

4,因中位数段的可能整数取值已经比较小(如果是32bit整数,当然如果是64bit整数的话,可以再次分段),对每个整数做一个记数,再读一次10g整数,只读取中位数段对应的整数,并设置记数。

5,对新的记数扫描一次,即可找到中位数。

如果是32bit整数,读10g整数2次,扫描256m记数一次,后一次记数因数量很小,可以忽略不记。

设是32bit整数,按无符号整数处理

整数分成256m段? 整数范围是0 - 2^32 - 1 一共有4g种取值,4g/256m = 16,每16个数算一段 0-15是1段,16-31是一段,..

整数映射到256m段中? 如果整数是0-15,则增加第一段记数,如果整数是16-31,则增加第二段记数,..

其实可以不用分256m段,可以分的段数少一写,这样在扫描记数段时会快一些,还能节省一些内存)

腾讯题二:一个文件中有40亿个整数,每个整数为四个字节,内存为1gb,写出一个算法:求出这个文件里的整数里不包含的一个整数。

答:方法一: 4个字节表示的整数,总共只有2^32约等于4g个可能。

为了简单起见,可以假设都是无符号整数。

分配500mb内存,每一bit代表一个整数,刚好可以表示完4个字节的整数,初始值为0。基本思想每读入一个数,就把它对应的bit位置为1,处理完40g个数后,对500m的内存遍历,找出一个bit为0的位,输出对应的整数就是未出现的。

算法流程:

)分配500内存buf,初始化为0

)unsigned int x=0x1;

for each int j in file

buf=buf x < j;

end 3) for(unsigned int i=0; i <=0xffffffff; i++)

if (!buf & x < i))

以上只是针对无符号的,有符号的整数可以依此类推。

腾讯笔试题目

腾讯是国内数一数二的it企业了。那么每年想要进入腾讯公司的应聘者也是络绎不绝。那么一个好的笔试答卷绝对是脱颖而出的亮点。现在就来看看腾讯笔试题都有哪些内容吧。腾讯笔试题 const的含义及实现机制。const的含义及实现机制,比如 const int i,是怎么做到i只可读的?const用来说明所定...

2019腾讯笔试题目

简答题 1 请设计一个排队系统,能够让每个进入队伍的用户都能看到自己在中所处的位置和变化。队伍可能随时有人加入和退出,当有人退出影响到用户的位置排名时需要即时反馈到用户。2 a b两个整数集合,设计一个算法求他们的交集,尽可能的高效。博主能力有限,不是所有题目都会求解,第1题不是我的擅长,这里贴出来...

腾讯笔试题目汇总

一 网上收集资料 1 有a卷b卷,各六十分,a卷基本是软件测试的知识和一点点计算机网络一点点智力题。tcp的三次握手 b卷基本是c 和数据结构,其实并不难,但是出来才发现有不少地方没有考虑周全,2 笔试时间为2个小时,开发和测试的题目是一样的。考查的知识点主要是c 数据结构和算法,题型包括选择题 填...