社区应用 最新帖子 精华区 社区服务 会员列表 统计排行 社区论坛任务 迷你宠物
  • 3251阅读
  • 0回复

[笔试]tencent腾讯——笔试题

级别: 经院本科
发帖
1586
铜板
2193
人品值
2089
贡献值
15
交易币
0
好评度
1575
信誉值
0
金币
0
所在楼道
基本都是基础题目,看来腾讯不准备放弃那些有思想但是还没有开始苦练基本功的人,只涉及到语言问题和简单的 
数据结构,其他的操作系统,编译原理,离散数学,软件工程,计算机原理,体系结构等等无一涉及,题目很多,
题号不与原试题相符,经过几天的冥思苦想,现已补全 希望师弟师妹可以探讨探讨答案,从中学到笔试的经验 
声明:以下问题仅供本校园网校内师弟师妹为了考察自己学习的参考,不要传播
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);的运行结果
    int i, sum = 0;
for(i=0;i<10;++i,sum+=i);
cout << sum;
55
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 A{
a1,
a2,
a3,
};
15 1-20的两个数把和告诉A,积告诉B,A说不知道是多少,
B也说不知道,这时A说我知道了,B接着说我也知道了,问这两个数是多少


大题:

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] = '{content}';
        while(_____3____)
          sDest[sLen] = toLowerChar(sSrcStr[sLen]);
    }
    return sDest;
}
char toLowerChar(char a)
{
    if(a >= 'A' && a <= 'Z')
      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] = '{content}';
      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分的人数

2005年腾讯招聘
选择题(60)
c/c++ os linux 方面的基础知识 c的Sizeof函数有好几个!
程序填空(40)
1.(20) 4空x5
不使用额外空间,将 A,B两链表的元素交叉归并
2.(20) 4空x5
MFC 将树序列化 转存在数组或 链表中!

发信人: ChinaOfey (勇敢的傻,傻得勇敢), 信区: Career_Plaza
标 题: 腾讯笔试题
发信站: 水木社区 (Sat Nov 5 16:25:25 2005), 站内

希望明年的兄弟有用!(B卷)

第一部分:基本都是数据结构题+1,2道操作系统和数据库相关的(比较基本)

有印象的:

1,为节省空间,两个栈共用一个空间,栈底在两边,问什么时候表明空间用完
    答案:栈顶相遇时
    这道题就是很基础的一个题目,因为是第一道题,所以印象比较深^_^

2,char A[5]; char* B ="abcdefg"; void * C; C = new char[100];
    sizeof(A) sizeof(B) size(C)
5,4,4
3,爸爸,妈妈,妹妹,小强,至少两个人同一生肖的概率是多少
    1- 12*11*10*9/12*12*12*12 = 43% ,我忘用1减了....

然后还有几个看程序给结果的题,考察了类,指针的内容

第二部分:程序填空

  主要要能看出他的思路

第三部分:写代码

  1,关于mfc的,一个控件,显示时间,1s钟刷新一次

  2,SQL语言进行简单的数据库操作,建表,查询,求平均工资等

    不记得语言了,因此只好自创....ft

  3,Unix进程通信有哪些方式,各有什么特点?

  (其中A卷给的是道网络编程题目)

第四部分:主观题

考rp的,比较无聊,手都写酸了....

程序4说明]
设 M 叉树采用列表法表示,即每棵子树对应一个列表,列表的结构为:子树根结点的值部分
(设为一个字符) 和用“( )”,括起来的各子树的列表 (如有子树的话) ,各子列表间用“
,”,分隔。例如下面的三叉树可用列表 a( b( c,d ),e,f( g,h,i ))表示。
 

本程序输入列表,生成一棵 M 叉树,并由 M 叉树输出列表。假定输入无错误。
[程序4]
#include〈stdio.h〉
#include〈stdlib.h〉
#define M 3
typedef struct node{ char val;
struct node *subTree[M];
} NODE;
char buf[255] ,*str = buf
NODE *d = NULL
NODE *mackTree( ) /*由列表生成M叉树*/
{ int k; NODE *s ;
s = __(1)__
s -> val = *str++ ;
for ( k = 0 ; k < M ; k++ ) s-> subTree[k] = NULL ;
if(*str='( '){
k = 0;
do { str++;
s -> subTree[k] = __(2)__ ;
if ( *str == ')' ) { str++; break ; }
k = k+l ;
} while ( __(3)__ );
}
return s ;
}
void walkTree( NODE *t ) /*由 M 叉树输出列表*/
{ int i ;
if( t != NULL ) {
__(4)__
if ( t -> subTree[0] == NULL ) return ;
putchar ( '( ' ) ;
for ( i = 0 ; i < m ; i++) {
__(5)__
if ( i! = M - l && t -> subTree[i+l] != NULL )
putchar ( ', ' ) ;
}
putchar ( ') ' ) ;
}
}
 
void main( )
{ printf( "Enter exp:" ) ;
scanf( "%S" , str ) ;
d = makeTree() ;
walkTree( d ) ; putchar( '\n') ;
}
有两个集合 
集合A{1,7,19,21,55,100。。。} 
集合B{7,22,100。。。} 
两个集合都是10万个数据(已排序),要求写一个算法,判断B是不是A的子集,算法时间复杂度为Q(N)

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
有了快感你就喊-----急速体验、急速快感

不可以天真的以为 大学是混出来的
描述
快速回复

您目前还是游客,请 登录注册
批量上传需要先选择文件,再选择上传
认证码:
验证问题:
10+5=?,请输入中文答案:十五