(转)腾讯2011.10.15校园招聘会笔试题

1、下面的排序算法中,初始数据集的排列顺序对算法的性能无影响的是()

A、插入排序                      B、堆排序                    C、冒泡排序                     D、快速排序

 

答:B。堆排序,这题不是求稳定性,是求最好时间和和最坏时间一样的排序

 

2、以下关于Cache的叙述中,正确的是()

A、CPU中的Cache容量应大于CPU之外的Cache容量

B、Cache的设计思想是在合理成本下提高命中率

C、Cache的设计目标是容量尽可能与主存容量相等

D、在容量确定的情况下,替换算法的时间复杂度是影响Cache命中率的关键因素

答:B

 

3、数据存储在磁盘上的排列方式会影响I/O服务的性能,一个圆环的磁道上有10个物理块,10个数据记录R1------R10存放在这个磁道上,记录的安排顺序如下表所示:

 

物理块

1

2

3

4

5

6

7

8

9

10

逻辑记录

R1

R2

R3

R4

R5

R6

R7

R8

R9

R10

 

 

假设磁盘的旋转速度为20ms/周,磁盘当前处在R1的开头处,若系统顺序扫描后将数据放入单缓冲区内,处理数据的时间为4ms(然后再读取下个记录),则处理这10个记录的最长时间为()

A、180ms                           B、200ms                          C、204ms                             D、220ms

[cpp] view plaincopy
  1. 答:C  
  2.  首先从磁盘的转速:20ms/圈,我们可以知道:读取一条记录需要2ms。值得注意的一点是:处理一条记录的前提,是将其读出来。所以处理第一条记录时,要先将其读取出来,再进行处理,所以处理R1所需时间为2ms+4ms,当R1处理完时,磁头已经转到了R4的位置,此时要将其调整到R2的位置,需要经过R4,R5,R6,R7,R8,R9,R10,R1,这样要耗16ms的时间,再加上读取R2需要2ms以及处理数据的4ms,R2的总处理时间应为22ms。所以2+4+(16+2+4)*9=204ms。  

 

4、随着IP网络的发展,为了节省可分配的注册IP地址,有一些地址被拿出来用于私有IP地址,以下不属于私有IP地址范围的是()

A、10.6.207.84                              B、172.23.30.28                     C、172.32.50.80               D、192.168.1.100

[cpp] view plaincopy
  1. 答:C  
  2. 私有IP地址共有三个范围段:  
  3. A:     10.0.0.0~10.255.255.255 /8   B:      172.16.0.0~172.31.255.255 /12   C:   192.168.0.0~192.168.255.255 /16  

 

5、下列关于一个类的静态成员的描述中,不正确的是()

A、该类的对象共享其静态成员变量的值                              B、静态成员变量可被该类的所有方法访问                 

C、该类的静态方法只能访问该类的静态成员变量                 D、该类的静态数据成员变量的值不可修改

答:D

 

6、已知一个线性表(38,25,74,63,52,48),假定采用散列函数h(key) = key%7计算散列地址,并散列存储在散列表A【0....6】中,若采用线性探测方法解决冲突,则在该散列表上进行等概率成功查找的平均查找长度为()

A、1.5                  B、1.7                           C、2.0                       D、2.3

答:C

 解析: 线性表(38,25,74,63,52,48)已构造好 散列函数h(key) = key%7计算散列地址 则为:

         38%7.......3                 寻址 1次 找到

         25%7.....4                   寻址 1次 找到

         74%7......4x->5            寻址 2次 找到

         63%7......9  寻址 1次 找到   寻址 1次 找到

         52%7......3x->4x->5x->6   寻址 4次 找到

         48%7.......3x->4x->5x->6x->7  寻址 5次 找到

      若等概率寻址成功,则查找的平均查找长度(ASL) = (1+1+2+1+4+5)/7=2.0

 

7、表达式“X=A+B*(C--D)/E”的后缀表示形式可以为()

A、XAB+CDE/-*=                     B、XA+BC-DE/*=                      C、XABCD-*E/+=                         D、XABCDE+*/=

答:C。根据优先级将X=A+B*(C--D)/E写成二叉树的形式,后序顺利的结果就是后缀表示形式

在A*B*C这样的运算中,两个运算符优先级相同,从左往右依次计算。

 

8、()设计模式将抽象部分与它的实现部分相分离。

A、Singleton(单例)                                      B、 Bridge(桥接)                     

C、 Composite(组合)                                   D、 Facade(外观)

[cpp] view plaincopy
  1. 答:B  
  2. Bridge的思想就是抽象与实现分离  
  3. Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。  
  4. 将对象组合成树形结构以表示“部分——整体”的层次结构。Composite使得用户对单个对象操作和组合对象的操作使用具有一致性。  
  5. Facade(外观)模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,隐藏子系统的复杂性,使子系统更加容易使用。  

 

9、下面程序的输出结果为多少?

[cpp] view plaincopy
  1. void Func(char str_arg[100])    
  2. {    
  3.     printf("%d\n",sizeof(str_arg));    
  4. }    
  5.     
  6. int main(void)    
  7. {    
  8.     char str[]="Hello";    
  9.     printf("%d\n",sizeof(str));    
  10.     printf("%d\n",strlen(str));    
  11.     char *p = str;    
  12.     printf("%d\n",sizeof(p));    
  13.     Func(str);    
  14. }    
[cpp] view plaincopy
  1. 答:输出结果为:6   5     4      4  
  2. 对字符串进行sizeof操作的时候,会把字符串的结束符“\0”计算进去的,进行strlen操作求字符串的长度的时候,不计算\0的。  
  3. 数组作为函数参数传递的时候,已经退化为指针了,Func函数的参数str_arg只是表示一个指针,那个100不起任何作用的。  

 

10、C++将父类的析构函数定义为虚函数,下列正确的是哪个?
A、释放父类指针时能正确释放子类对象
B、释放子类指针时能正确释放父类对象
C、这样做是错误的
D、以上全错

答:A

 

11、下列哪一个不属于关系数据库的特点?
A、数据冗余度小
B、数据独立性高
C、数据共享性好
D、多用户访问

答:D


12、下面程序的输出结果为多少?

[cpp] view plaincopy
  1. void Func(char str_arg[2])    
  2. {    
  3.     int m = sizeof(str_arg);     //指针的大小为4     
  4.     int n = strlen(str_arg);     //对数组求长度,str_arg后面的那个2没有任何意义,数组已经退化为指针了     
  5.     printf("%d\n",m);    
  6.     printf("%d\n",n);    
  7. }    
  8. int main(void)    
  9. {    
  10.     char str[]="Hello";    
  11.     Func(str);    
  12. }    
[cpp] view plaincopy
  1. 答:输出结果为:      4         5  
  2. strlen只是对传递给Func函数的那个字符串求长度,跟str_arg中的那个2是没有任何关系的,即使把2改为200也是不影响输出结果的。。  


13、typedef char *String_t; 和 #define String_d char * 这两句在使用上有什么区别?

[cpp] view plaincopy
  1. 答:typedef char *String_t 定义了一个新的类型别名,有类型检查。而#define String_d char * 只是做了个简单的替换,无类型检查,前者在编译的时候处理,后者在预编译的时候处理。  
  2. 同时定义多个变量的时候有区别,主要区别在于这种使用方式String_t  a,b;  String_d  c,d;    a,b ,c都是char*类型,而d为char类型  
  3. 由于typedef还要做类型检查。。#define没有。。所以typedef比#define安全。。  

 

14、到商店里买200的商品返还100优惠券(可以在本商店代替现金)。请问实际上折扣是多少?

答:折扣60%。花了200,买了300的东西


15、题目:已知rand7() 可以产生 1~7 的7个数(均匀概率),利用rand7()  产生rand10()   1~10(均匀概率)
答:可以通过rand7()方便地求rand5()和rand2(),rand5()和rand2()得到的不同的值相组合,能得到10种结果,分别代表1-10 

 

 

16、给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数。

答:可以通过rand5()方便地求rand2()和rand4(),rand2()和rand4()得到的不同的值相组合,能得到8种结果,分别代表1-8,由此求得到rand8(),再得到rand7()

 

17、对一个正整数作如下操作:如果是偶数则除以2,如果是奇数则加1,如此进行直到1时操作停止,求经过9次操作变为1的数有多少个?

 

[cpp] view plaincopy
  1. 答:55  
  2. 把操作“如果是偶数则除以2”定义为a,把操作“如果是奇数则加1”定义为b,那么9次操作可以用9个字母的字符串组成,字符串与正整数一一对应。  
  3. 由9个字母a或b组成的字符串,其中最后一位不是b,且不能连续两个b,这样的字符串的个数就是所求的正整数的个数。  
  4. 这样就是一道组合数组题目。  


18、给定一个字符串,求出其最长的重复子串

[cpp] view plaincopy
    1. 思路:使用后缀数组,对一个字符串生成相应的后缀数组后,然后再排序,排完序依次检测相邻的两个字符串的开头公共部分。  
    2. 这样的时间复杂度为:  
    3.   
    4. 生成后缀数组 O(N)  
    5. 排序 O(NlogN*N) 最后面的 N 是因为字符串比较也是 O(N)  
    6. 依次检测相邻的两个字符串 O(N * N)  
    7. 总的时间复杂度是 O(N^2*logN)  

转载于:https://www.cnblogs.com/whf-Staring/p/4792254.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/431382.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle安装命令大全,oracle安装教程及常用命令

虽然网上已经有很多安装教程了,但还是写一个记录一下自己的安装过程以及遇到问题的解决办法1 安装包下载:去oracle的官网 选择DownLoads->database->oracle database:选择接受选择Windows 64的下载,选择file1,和file2,注意两个文件都要下载,下载时要求登录,有oracle账户的…

规格选择_日常使用的拉杆箱脚轮选择哪种规格最合适?

大家可能在采购拉杆箱脚轮的时候,都会有一个问题,拉杆箱脚轮规格选择哪种比较好呢?万向轮好还是单向轮?是万向轮还是单向轮比较耐磨?脚轮厂家诺贝小编接收到大家的疑问,接下来将告诉大家拉杆箱脚轮选择的规…

ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)

1   ERROR: transport error 202: bind failed 2 ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510) 3 JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690] 4 …

php session存到redis,php Session存储到Redis的方法

php Session存储到Redis的方法当然要写先安装php的扩展,可参考这篇文章:Redis及PHP扩展安装修改php.ini的设置复制代码 代码如下:session.save_handler redissession.save_path “tcp://127.0.0.1:6379″修改后重启php-fpm或nginx,phpinfo(…

ajax ssm 页面跳转_SSM框架的面试常见问题

阅读文本大概需要9分钟。一、Spring面试题1、Spring 在ssm中起什么作用?Spring:轻量级框架作用:Bean工厂,用来管理Bean的生命周期和框架集成。两大核心:IOC/DI(控制反转/依赖注入) :把dao依赖注入到service…

poj Going from u to v or from v to u? 强联通缩点+拓扑排序(或搜索)

方法一 #include <stdio.h> #include <string.h> #include <iostream> #include <algorithm> #include <vector> #include <queue> #include <stack> #include <set> #include <map> #include <string> #include …

php搭建的网站空白,使用phpstudy搭建dedecms网站后台页面空白解决方法

这篇文章主要为大家详细介绍了使用phpstudy搭建dedecms网站后台页面空白解决方法&#xff0c;具有一定的参考价值&#xff0c;感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴。在把 phpStudy升级到2013版后&#xff0c;在登录本地织梦dedecms5.7时&#xff0c…

运维工程师绩效考核表_IT运维存在问题及改进

欢迎大家一起学习交流https://t.zsxq.com/imimAYF​t.zsxq.com1.1 IT运维机制不完善&#xff0c;流程操作层面缺乏统一 没有建立起稳定、规范的IT运维机制。现有的IT运维流程的操作层面缺乏统一。如事件单提交之后&#xff0c;事件预判和优先级的设定缺少统一、规范的指导文档&…

在linux中 要删除abc目录,操作系统原理与应用(linux)A卷

福州外语外贸职业技术学院2010-2011学年第一学期(期末)试卷09 级网络系统管理专业操作系统原理与应用(linux)科目(A )卷课程代码考试形式闭卷考试时量 120 分钟姓名__ _______ _级班学号____ __1.操作系统是一种( )A.系统软件B.系统硬件C.应用软件D.支援软件2.MS—DOS的存贮管理…

数据产品经理修炼手册pdf_【尼读书】数据产品经理修炼手册(附思维导图)

前言&#xff1a;进入一个行业&#xff0c;除了要多在工作中实践和思考之外&#xff0c;还需要多读书。这样能够站在一个更高的角度去看问题&#xff0c;往往会对问题有更全面的掌握和新的认知。在【尼读书】这个栏目中&#xff0c;尼同学通过自己读书后的理解和整理与大家分享…

用JQUERY为INPUT的TXT类型赋值及取值操作

注意和纯JS操作的区别&#xff0c;一个是对象&#xff0c;一个是字串&#xff0c;如下说明&#xff1a; 在Jquery中,用$("#id")来获得页面的input元素,其相当于document.getElementById("element")但是,该获取的是一个Jquery对象,而不是一个dom element对象…

linux内核打印前有buildroot,buildroot-linux内核

Buildroot可以从Linux Kernel的官网(kernel.org)下载并编译内核&#xff0c;也可以使用用户自己的定制化内核。使用官方内核使用官方的内核构建系统非常简单&#xff0c;事实上&#xff0c;mini2440_defconfig就是采用官方的内核进行构建的。make menuconfig --> Kernel --&…

POJ 1077 Eight

题意&#xff1a;经典的八数码3 3*3的格子&#xff0c;里面有1~8这8个数字&#xff0c;还有一个空格x&#xff0c;移动空格的位置&#xff0c;直到移到1~8按顺序排好&#xff0c;输出移动的序列。 解法&#xff1a;看到题果断写了个广搜……然后T了……百度了一下说广搜虽然慢了…

成都软件工程师python_为什么每个软件工程师都应该学习Python?

为什么要写一篇文章告诉大家去学习python&#xff1f;最受欢迎的编程语言不是JAVA么&#xff1f;的确&#xff0c;TIOBE指数显示JAVA依然是最受欢迎的编程语言&#xff0c;但是Python的崛起不可小觑&#xff0c;请看4月份最新的TIOBE指数其实从2016年起&#xff0c;Python就已经…

linux修改某个用户的数组,linux-shell编程1:变量和数组

Shell用户与系统内核之间交流平台Shell类型/bin/sh/bin/bash(系统默认bash)/bin/tcsh/bin/csh/etc/shells 放置当前系统可用shell为什么需要shell编程1.减少繁琐工作的重复进行&#xff0c;减少错误2.提高工作效率3.事态的批量化进行Bash特点功能1.查看命令历史(1000条)history…

erlang OTP中的四大behaviour fsm的例子

下面是一个fsm的例子&#xff0c;代码如下&#xff1a; 1 -module(code_lock2).2 3 -behaviour(gen_fsm).4 -export([start_link/1]).5 -export([button/1]).6 -export([init/1, locked/2, open/2]).7 -export([code_change/4, handle_event/3, handle_info/3, handle_sync_eve…

node python复用代码_python-代码复用(函数、lambda、递归、PyInstaller库)

一、函数1、函数定义def 函数名(参数列表)&#xff1a;2、返回值 return返回值可以有多个&#xff0c;其实是返回一个tuple##多个返回值def sumDiff(x,y):return xy,x-yn1,n2 eval(input(输入两个数&#xff1a;))s,d sumDiff(n1,n2)print(和为{}&#xff0c;差为{}.format(…

关于linux内核的有关叙述中,下列关于嵌入式Linux系统内核的叙述正确的是()。

听力原文&#xff1a; A $150 million project to replace all of the vertical suspension cables on the 100-year-old Manhattan Bridge will cause occasional weekend disruptions in subway service and require closings of the bikeway and some traffic lanes for par…

WebStorm 预览时把浏览器地址localhost 改成IP

最近在使用WebStorm时&#xff0c;预览网页时地址总是显示的 http://localhost:63342/... &#xff0c;如果要调试其它设备感觉很不方法&#xff0c;此时肯定首先想到的亲爱的度娘&#xff0c;但是貌似没有真正很解决问题的&#xff08;可能是我搜索方法不对&#xff09;。最后…

通用即插即用监视器驱动下载_电脑设备驱动程序有问题,教你3招,快速修复...

驱动程序允许你的设备与Windows 10进行通信。计算机必须安装最新版本的驱动程序才能正常运行。设备驱动程序是一种特殊的软件程序&#xff0c;它控制连接到计算机的特定硬件设备&#xff0c;设备驱动程序对于计算机促进系统与所有已安装程序或应用程序之间的通信至关重要&#…