腾讯2014实习北京笔试

    腾讯笔试的范围还真是广,很多知识都是完全不记得。首先是不定项的选择题,惊呆了,怎么能学高考物理选择题,这不科学。

    二叉树的知识,二叉树的高度计算,二叉树的先序,中序,后序遍历等,这个知识多少还有一些。

    哈弗曼编码的知识,这个知识记忆的不多,不过后来想起来了哈弗曼树的构造,但是想不到如何编码了,我把树根构造为一个字符之后,树根的如何编码,因为记忆中左0右1的话树根无编码,选项很是拿不定主意。

    sql语句判断是否等价,4个sql语句选项当中有2个看不懂,平时写的sql语句不是这样的,

    竟然还出现了数据库表的范式优化的选择题,1NF,2NF,3NF,BCNF,这个完全记不得了。

    网络地址的子网掩码,C类网络,3个子网,每个子网最少包含55个机器。印象当中应该保留6个0,但是3个子网怎么定不晓得了,所以具体的计算还是不太记得。

    还有磁盘寻道的计算,这个我真心不知道,按照序列计算的。

    计算机体系结构的基础知识,比如磁盘平均存取时间,系统总线,程序控制器这些,连蒙带猜。

    还有考继承,多态的,外加sizeof的用法,后来发现sizeof直接对数组名原来返回数组长度,但是数组名经过函数传参就会退化为指针,然后sizeof就会变成指针,学习到的新知识...,我以为一直全是按照指针来计算。

    还有用1分钱,2分钱,5分钱组成1块钱多少种方法,组合数学啊,不会了,硬算的话好慢

    指定源端口,目的端口的协议,tcp,udp,icmp不晓得是不是,计算机网络知识学得不好,那时是开卷考试

    操作系统内存页调用,FIFO,LRU方法也不熟悉了,中断多少次的计算。

    还有一些程序的书写,判断输出结果是什么,这种小程序很拿不准的,基础知识不牢固,都不记得局部声明的数组返回会是什么情况...

    又想到有一个题目考的javascript,主要大概是javascript中对象的赋值是传值还是传引用,我觉得考点在这个地方,因为不会javascript,所以也拿不准。

    两个附加题都挺数学的,其中一个是20问题游戏,可以在这里玩一下:http://cn.akinator.com/personnages/jeu 应该是二分的思想,尽量把两边分的范围一样,形式化为数学问题的能力不行,

    另外一个用数学公式表示呼吸道疾病传染的模型,数学建模,应该是,没有好好学,太过于抽象,抽象不出来数学问题,所以两个附加题属于能力范畴之外了。

    另外还有题目考的是内存模型,这个之前简单的了解过,后来就忘记了,什么是堆,什么是栈,什么样的数据类型放在堆中,什么样的数据类型放在栈中,还是要好好复习的。

    其他暂时忘记了,这么写应该也不算泄题。笔试和面试感觉差好多,面试不会涉及这么宽,笔试的范围涉及真的好宽,很多知识不复习一下笔试被刷的几率应该很高。

 

    今天找到了热乎的腾讯笔试题,题目zz地址:http://www.itmian4.com/forum.php?mod=viewthread&tid=4706 

    欢迎提供思路,因为很多题目我还是不懂的。

    

1.   关于二叉树,下面说法正确的是()

A.  对于N个节点的二叉树,其高度为nlog2n;

B.   一个具有1025个节点的二叉树,其高度范围在11~1025之间

C.  二叉树的先序遍历是EFHIGJK,中序遍历为HFIEJKG,该二叉树的右子树的根为G

D.  二叉树中至少有一个节点的度为2

这个题目我的思路是BC,

A二叉树不一定是满二叉树等,高度应该是范围。

D选项其中如果只有一个树根的二叉树应该是反例。

2.   假设函数f1的时间复杂度O(n),那么f1*f1的时间复杂度为()

A.  O(n)B.   O(n*n)C.  O(n*log(n))D.  以上都不对

 这个题目我的思路是A,讨论后答案应该是D,因为f1的返回值不确定,如果是个数组当然复杂度就不同了。

3.   对下列四种排序方法,在排序中关键字比较次数与记录初始化顺序无关的是()

A.  直接排序B.   二分法插入C.  快速排序D.  归并排序

 这个答案据说是BD,我的答案是D,因为一时反应不过来什么是二分法插入。可以百度一下二分法插入,据说是考研的原题。

4.   已知一段文本有1382个字符,使用了1382个字节存储,这段文本全部是由a、b、c、d、e字符组成,a 354次,b 483次,c 227次,d 96次,e 222次,对这5个字符使用哈夫曼编码。则以下说法正确的是?()

A.  使用哈夫曼编码后,使用编码值来存储这段文本将花费最少的存储空间、

B.   使用哈夫曼编码后,a b c d e 这5个字符对应的编码值是唯一确定的

C.  使用哈夫曼编码后,a b c d e 这5个字符对应的编码值可以有多套,但每个字符的编码位数是确定的

D.  b这个字符的编码位数最短,d这个字符的哈夫曼编码位数应该最长

 

5.   判断单链表有没有环的算法中,至少需要几个指针()

A.  1 B.   2 C.  3 D.  4

之前遇到过的一个算法题目,利用快慢的两个人在环形的跑道上跑必定会再次相遇的原理。

6.   在编译过程中,产生Parse  tree的过程是()

A.  语法分析 B.   语义分析阶段C.  词法分析D.  目标代码生成阶段

编译原理的基本知识。

7.   阅读下面代码,程序会打印出来的值是()

 

#include
Void f(char **p){
                *p += 2;
}
Void main() {
                Char *a[] = { “123”,”abc”,”456”},**p;
                p = a;
                f(p);
                printf(“%s\r\n”,**p);
}

 

  A.  123  B.   abc  C.  456  D.  3 

 指针的应用,a是二维数组的首位指针,首先取值之后变成第一行的首指针,+2移动至3的位置,输出为3。

8.   Char p1[] = “Tencent”, void p2 = malloc((10)在32位机器上sizeof(p1)和sizeof(p2)对应的值是()

A.  8:0 B.   4:10 C.  8:4 D.  4:4

 数组的长度和指针的长度,数组只有在传参的时候才会退化为指针。sizeof的时候针对指针进行计算。

9.   现在有以下两个函数,调用test的结果是()

 

Char* getMem(void) {      Char * p = “hello world ”;
      P[5] = 0x0;
      Return p;
}
Voidtest(void) {      Char *s = 0x0;
      s = getMem();
      Printf(s);
}

 

A.  hello B.   无输出 C.  Hello0world D.  不确定

 局部变量在函数返回的时候会删除掉,指向内容就不确定了。答案应该是D。

10.  冯诺依曼体系结构计算机的基本原理是()
A信息存储  B 存储智能 C 数字控制 D 存储程序和程序控制 

 应该是D。

11.   求贡献

 

12.下面哪种设计模式的定义为:定义对象间的一种一对多的关系,当一个对象改变时,其他依赖于他的对象都能够得到通知并自动更新。()

A.  Visitor B.   Adapter C.  Observer D.  Interpreter

 观察者模式也就是C符合描述。

13.请看一下这一段C++代码,如果编译后程序在windows下运行,则一下说话正确的是()

Char*p1 = “123456”;

Char*p2 = (char*)malloc(10);

A.  P1 he p2都存在栈中

B.   P2指向的10个字节内存在栈中

C.  堆和栈在内存中的生长方向是相反的

D.  “123456”这6个字符存储在栈中

 关于堆和栈的内存模型不是很了解...所以这个题目应该写错了。

14.将3个球随机放入4个杯子中,则杯子中球的最大个数为2的概率是()

A.  9/16 B.   3/4 C.  3/8 D.  3/16

 这个和同学讨论了以下也计算错误了,答案应该是A,其实利用反推法比较简单。

15.对n个元素的数组进行快速排序,所需要的二外空间为()

A.  O(1)B.   O(n)C.  O(log(2n)D.  O(n^2))

 快速排序又称为原地排序,本以为选择应该是A,但是所谓原地排序也是递归搞定的,不知道需不需要算递归需要的深度,这样这个题目就不确定了。

16.下面关于编译器与解释器的观点,错误的是()

A.  解释器不产生目标程序,它直接执行源程序或者源程序的内部形式

B.   解释程序和编译程序的主要区别在于是否产生目标程序

C.  编译器对高级语言程序的处理过程划分成词法分析、语法分析、语义分析,中间代码生成、代码优化、目标代码生成几个阶段

D.  解释器参与运行控制、程序执行的速度快

 这个我选择的是D。

17.假设系统中有5太设备,有多个进程需要使用2个设备,假定每个进程一次只能使用一台,则至多允许多少个进程来竞争这5个资源,而不会发生死锁()

A.  2 B.   C.  4 D.  5

 4个设备避免竞争,必定有一个利用完之后会进行释放。

18.下面哪些协议,存在源端口和目的端口是()

A.  IP B.   TCP C.  UDP D.  ICMP协议

 ICMP协议是网络层的协议,所以BC,这个选错了。

19.下列哪些sql是等价的()

A.  Select A.tname ,A.depart from teacher A joincourse B on B.tno = .A.tno

B.   Select A.tname ,A.depart from teacher A whereA.tno = course.tno

C.  Select A.tname ,A.depart from teacher wheretno in (select tno from course)

D.  Select A.tname ,A.depart from teacher where exsist (select * from course B where B.tno = A.tno);

 这个诡异的sql语句不是很懂。

20.某一磁盘请求序列(磁道号):98、 183、 37、122、14、124、 65、 61,按照先来先服务FCFS磁盘调度对磁盘进行请求服务,假设当前磁头在53道上,则磁臂总移动道数为:()

A、169         B、208        C、640         D、236

640?这个题目也太简单了。
21.将一个C类网络划分为3个子网,每个子网最少要容纳55台主机,使用的子网掩码是:()
  A、255.255.255.248   B、255.255.255.224  C、255.255.255.224  D、255.255.255. 192

 192,保留6位计算得到的。3个子网不确定是怎么得到。

22下列关于计算机硬件的描述,正确的是:()
A、磁盘的平均存取时间指的是磁盘的寻道时间加上磁头在某一磁道等待记录扇区的时间
B、计算机的控制器是由多种部件组成,其中包括,指令寄存器、程序计数器和算数逻辑单元
C、一台计算机的字长是32位,表明该机器能处理的数值最多为4个字节
D、系统总线可以分为数据总线、地址总线和控制总线三类
这个题目不怎么会,计算机体系结构的题目。
23、假设有关系模式R(A,B,C,D),其数据依赖集:F={(A,B)- >C,C->D},则关系模式R的规范化程度最高达到:()
A.1NF
B.2NF
C.3NF
D.BCNF

这个也不太会,同学说选择应该是B。
24.以下为一段浏览器中可运行的Javascript 代码,则运行该段Javascript代码的页面弹出框中显示的结果是:()
Var obj = { “key”:”1”,”value”:2};
Var newObj = obj;
newObj.value += obj.key;
alert(obj.value);
A、2           B、12          C、3         D、21

javascript的题目,答案是D...我还以为是考引用的...
25.有足够量的2分、5分、1分硬币,如果想凑齐一元钱,可以有()种方法
A、541    B、270   C、1024    D、128
这个也不会计算了,组合数学的知识。
填空题(共5题,每题4分,共20分)
26、阅读下面代码:
#defineMAX_NUM 1000+1

int Temp = Max_NUM*10;

则Temp的值为(    )

 1010

27.某个单CPU操作系统抢占式进程调度策略。现在有三个任务T1(优先级高),T2(优先级中),T3(优先级低)同时进入调度队列,每个任务都需要占用CPU时间10ms,10ms,13ms,然后再用CPU时间5ms,则T3从进入调度对了到完成需要()ms(不考虑系统任务调度的开销)

28.在一个采用页式虚拟存储管理的系统中,有一用户作业,它依次要访问的也没序列是1,2,3,4,1,2,5,1,2,3,4,5.假定分配给该作业的页数为3且作业初始时未装载页面,那么采用FIFO调度算法产生的缺页中断数为(),采用LRU调度算法产生的缺页中断数为()
9,10,当时写了一个6,7,真是不认真...
29.

 

#include <stdio.h>
class Base
{
public:
virtual int foo(int x){return x*10;}
int foo(char x[14]){return sizeof(x)+10;}
};
class Derived:public Base
{
int foo(int x){return x*20;}
virtual int foo(char x[10]){return sizeof (x)+20;}
};
int main(void)
{
Derived  stDerived;
Base * pstBase=& stDerived;
char x[10];
printf(“%d\n”,pstBase->foo(100)+pstBase->foo(x));
return 0;
}

 

在32位环境下,以上程序的输出结果是()
2014
附加题(共2题,不计入总分)
31.珠宝商甲需要去鉴定一批41克以下的宝石(可能是41克以下不包括41克的任意重量),他只能携带一个天平和四个砝码去称重,请问他会携带那些重量的砝码?

32.UTF-8是现在流行的编码方式,下面是RFC2279对UTF-8编码规则的规定,根据这个规则,中文字符‘我’的unicode值为0X6211,utf-8编码之后为0XE68891。
请回答一下问题:

A)英文字符‘a’,其unicode的十六进制值为0X61,则其UTF-8编码后的十六进制值为?

B)中文字符‘腾’,其unicode的十六进制值为0X817E,则其UTF-8编码后的十六进制值为?

C)中文字符‘讯’,其unicode值经过UTF-8编码之后为0XE8AEAF,则请问其unicode的十六进制值是?

 

 

 

    

 

posted @ 2014-04-16 09:57  weixliu  阅读(2570)  评论(0编辑  收藏  举报