蘑菇街2017年校园招聘笔试题

摘要:
GO ON1.下面的哪个选项是自底向上分析方法() 自底向上的分析技术 有: ( 1 )简单优先分析法 ( 2 )算符优先分析法 ( 3 )优先函数 ( 4 ) LR 分析法123456自底向上分析法(bottom-up analysis method )一种语言形式分析算法.是根据形式文法的重写规则,自叶开始逐级向上归约,直到构造出表示句子结构的整个推导树为止的一种语言形式分析算法.

GO ON

1.下面的哪个选项是自底向上分析方法()
自底向上的分析技术 有:
( 1 )简单优先分析法
( 2 )算符优先分析法
( 3 )优先函数
( 4 ) LR 分析法123456

自底向上分析法(bottom-up analysis method )一种语言形式分析算法.是根据形式文法的重写规则,自叶开始逐级向上归约,直到构造出表示句子结构的整个推导树为止的一种语言形式分析算法.
递归向分析法为每一个非终结符建立相应的子程序,然后模拟语法树自动向下推倒,在推倒过程中遇到终结符则检查是否匹配,遇到非终结符则调用相应的子程序处理。
预测分析法是根据客观对象的已知信息而对事物在将来的某些特征、发展状况的一种估计、测算活动。运用各种定性和定量的分析理论与方法,对事物未来发展的趋势和水平进行判断和推测的一种活动。
LL(1)分析使用显式栈而不是 递归调用 来完成分析。以标准方式表示这个栈非常有用,这样LL(1)分析程序的动作就可以快捷地显现出来。
算符优先分析法是一种简单直观、特别方便于表达式分析,易于手式实现的方法。算符优先法只考虑算符(广义为终结符号)之间的优先关系,它是一种自底向上的归约过程,但这种归约未必严格按照句柄归约。它是一种不 规范归约 法。

2.有关曼彻斯特编码叙述正确的是()
正确答案: C D   你的答案: A B C (错误)
A 在信号位开始时不改变信号极性,表示辑”1”
B 模拟数据转换为数字信号C 在信号位中电平从高到低跳变表示0D 数字数据转换为数字信号123456

在信号位中电平从低到高跳变表示1
在信号位中电平从高到低跳变表示0
差分曼彻斯特编码的编码规则是:
在信号位开始时改变信号极性,表示辑”1”
在信号位开始时不改变信号极性,表示逻辑”0”

3.关于中间件特点的描述.不正确的是()
正确答案: A   你的答案: C (错误)
A 中间件运行于客户机/服务器的操作系统内核中,提高内核运行效率
B 中间件应支持标准的协议和接口C 中间件可运行于多种硬件和操作系统平台上D 跨越网络,硬件,操作系统平台的应用或服务可通过中间件透明交互123456

中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或OS环境。
(简单来说,中间件并不能提高内核的效率,一般只是负责网络信息的分发处理,中间件位于操作系统之上,应用软件之下,而不是操作系统内核中)

4.KMP算法下,长为n的字符串中匹配长度为m的子串的复杂度为()
正确答案: B   你的答案: B (正确)O(N)O(M+N)1234
5.执行chmod 644 mm.txt后的权限是()正确答案: B   你的答案: A (错误)A -rw-r--r--B rw-r--r--C -rwxr--r--D rwxr- -rw-123456
6.下列说法正确的是()
正确答案: A B D   你的答案: B D (错误)
二维以上的数组其实是一种特殊的广义表
数组一旦建立,结构的元素个数和元素间的物理存储关系就不再变化
数组是一种线性结构,因此只能用来存储线性表
数组采用顺序存储方式表示123456

区分数据的物理结构与逻辑结构。物理结构主要是指存储方式,包含线性存储与链式存储,它是从计算机存储的角度去考虑。逻辑结构指的是数据之间的关系,有线性关系和链式关系等,主要是从人为定义角度去考虑。数组是一种被人们定义为线性关系的表,至于其存储结构,可以用线性存储也可以是链式存储去存储.线性结构是一个有序数据元素的集合。 常用的线性结构有:线性表,栈,队列,双队列,数组,串。 关于广义表,是一种非线性的数据结构。 常见的非线性结构有:二维数组,多维数组,广义表,树(二叉树等),图。

7.为了提高数据库的性能,需要针对系统设计基准测试进行压力测试,那么进行压力测试时需要考虑以下哪些指标()
正确答案: B C D   你的答案: A B C D (错误)
A 可扩展性
B 响应时间C 并发性D 吞吐量123456
8.利用时间重叠概念实行并行处理的是()
正确答案: B   你的答案: A (错误)
A 多处理机
B 流水处理机C 相联处理机D 并行(阵列)处理机123456

时间重叠:让多个处理过程在时间上错开,轮流重叠的使用同一套硬件设备的各个部分,加快硬件使用的周转来赢得速度。——流水线处理机
资源重叠:通过重复设置硬件资源来提高性能或可靠性。——并行处理机、相联处理机
资源共享:用软件的方法让多个用户公用同一套资源,通过提高系统资源的利用率来提高系统的效率和性能。——多处理机

9.下列关于策略处理规则描述正确的是()
正确答案: A C D   你的答案: C D (错误)
A 如果子容器的某个策略被配置,则此配置值会覆盖由其父容器所传递下来的配置值
B 当组策略的用户配置和计算机配置冲突的时候,优先处理用户配置C 组策略的配置值是有累加性的D 系统是先处理计算机配置,再处理用户配置123456

B 选项 计算机策略覆盖用户策略;不同层次的策略产生冲突时,子容器上的gpo优先级高;同一容器上多个gpo产生冲突时,处于gpo列表最高位置的gpo优先级最高。总体原侧就是:后执行的优先级高。这样,处理方法是:变更组策略的应用顺序;阻止继承;强制(禁止替代);避免变更应用顺序。

10.设二叉树中的结点总数为49,若用二叉链表作为存储结构,则该二叉树中总共有多少个空指针域()
正确答案: C   你的答案: 空 (错误)
A 51B 52C 50D 49123456

只要是二叉树,有n个节点,就一定是有n+1个空指针域

11.Linux中包括两种链接:硬链接(Hard Link)和软连接(Soft Link),下列说法正确的是()
正确答案: A   你的答案: B (错误)
A 软连接可以跨文件系统进行连接,硬链接不可以
B 当删除原文件的时候软连接文件仍然存在,且内容不变C 硬链接被删除,磁盘上的数据文件会同时被删除D 硬链接会重新建立一个inode,软链接不会123456

1>首先什么是链接?
链接操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称。对于这个新的文件名,我们可以为之指定不同的 访问权限 ,以控制对信息的共享和安全性的问题。 如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不用打一大堆的路径名。而且,即使我们删除这个链接,也不会破坏原来的目录。
2>硬链接
硬链接只能引用同一文件系统中的文件。它引用的是文件在文件系统中的物理索引(也称为 inode)。当您移动或删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在文件结构中的位置。硬链接的文件不需要用户有访问原始文件的权限,也不会显示原始文件的位置,这样有助于文件的安全。如果您删除的文件有相应的硬链接,那么这个文件依然会保留,直到所有对它的引用都被删除。
3>软链接(符号链接)
软连接,其实就是新建立一个文件,这个文件就是专门用来指向别的文件的(那就和windows 下的快捷方式的那个文件有很接近的意味)。软连接产生的是一个新的文件,但这个文件的作用就是专门指向某个文件的,删了这个软连接文件,那就等于不需要这个连接,和原来的存在的实体原文件没有任何关系,但删除原来的文件,则相应的软连接不可用(cat那个软链接文件,则提示“没有该文件或目录“)。
4> 硬链接与软链接的区别;
硬连接是不会建立inode的,他只是在文件原来的inode link count域再增加1而已,也因此硬链接是不可以跨越文件系统的。相反都是软连接会重新建立一个inode,当然inode的结构跟其他的不一样,他只是一个指明源文件的字符串信息。一旦删除源文件,那么软连接将变得毫无意义。而硬链接删除的时候,系统调用会检查inode link count的数值,如果他大于等于1,那么inode不会被回收。因此文件的内容不会被删除。
硬链接实际上是为文件建一个别名,链接文件和原文件实际上是同一个文件。可以通过ls -i来查看一下,这两个文件的inode号是同一个,说明它们是同一个文件;而软链接建立的是一个指向,即链接文件内的内容是指向原文件的指针,它们是两个文件。
软链接可以跨文件系统,硬链接不可以;软链接可以对一个不存在的文件名(filename)进行链接(当然此时如果你vi这个软链接文件,linux会自动新建一个文件名为filename的文件),硬链接不可以(其文件必须存在,inode必须存在);软链接可以对目录进行连接,硬链接不可以。两种链接都可以通过命令 ln 来创建。ln 默认创建的是硬链接。使用 -s 开关可以创建软链接。

12.以下集合对象中哪几个是线程安全的()
正确答案: C D   你的答案: A B D (错误)
A LinkedList
B ArrayListC VectorD Hashtable123456

简单记忆线程安全的集合类: 喂!SHE! 喂是指 vector,S是指 stack, H是指 hashtable,E是指:Eenumeration

13. 1.bit = input("Enter a binary digit:")     2.if bit = 0 or 1:     3.print "your input is" ,bit    4.else    5.print "your input is invalid"以上程序要求用户输入二进制数字0/1并显示之,请指出程序中代码第几行存在错误:()123456

注意第 2 行千万不能写成:
if bit == 0 or 1: #相当于 if (bit == 0) or 1:
因为以上条件语句不管 bit 为何值,都恒为真!
还有第 4 行的 else 后需要加上冒号。

14.以下字符串定义与赋值中,正确的是()
正确答案: D   你的答案: C (错误)char s[80] = {"A", "B" ,"C"}char s[80]; s = {'A', 'B','C'}char s[80]; s = "ABC";char s[80] ="ABC";123456

字符数组初始化有俩种方法:
1.用字符为数组赋初值,A选项等式右边所有字符如果使用单引号,则也正确
2.用字符串常量赋初值,即D选项,注意字符串用双引号

15.为了提高数据的查询效率,需要在数据库中建立索引,则下列设计索引的原则描述正确的是()
正确答案: A B   你的答案: B C (错误)
A 在频繁进行排序或分组(即进行group by 或order by操作)的列上建立索引
B 考虑列中值的分布,列的基数越大,索引的效果越好
C 在select关键字后选择列表的列上,建立索引
D 在表中,索引越多越好123456

表的某个字段值得离散度越高,该字段越适合选作索引的关键字。主键字段以及唯一性约束字段适合选作索引的关键字,原因就是这些字段的值非常离散。尤其是在主键字段创建索引时, cardinality (基数,集的势)的值就等于该表的行数。 MySQL 在处理主键约束以及唯一性约束时,考虑周全。数据库用户创建主键约束的同时, MySQL 自动创建主索引( primary index ),且索引名称为 Primary ;数据库用户创建唯一性索引时, MySQL 自动创建唯一性索引( unique index ),默认情况下,索引名为唯一性索引的字段名。
2、 占用存储空间少的字段更适合选作索引的关键字。例如,与字符串相比,整数字段占用的存储空间较少,因此,较为适合选作索引关键字。
3、 存储空间固定的字段更适合选作索引的关键字。与 text 类型的字段相比, char 类型的字段较为适合选作索引关键字。
4、 Where 子句中经常使用的字段应该创建索引,分组字段或者排序字段应该创建索引,两个表的连接字段应该创建索引。
5、 更新频繁的字段不适合创建索引,不会出现在 where 子句中的字段不应该创建索引。
6、 最左前缀原则。
7、 尽量使用前缀索引。

16.网络地址为172.16.0.0,采用子网掩码255.255.224.0 .以下说法正确的是()
正确答案: C   你的答案: 空 (错误)
A 其中一个子网的广播地址为:172.16.32.255B 其中一个子网的广播地址为:172.16.128.255C 划分了8个有效子网D 划分了6个有效子网123456

(1)255.255.224.0 = 11111111 11111111 11100000 00000000 ,所以可以知道这个是个B类的网络地址,网络号是8位,所有19-16 = 3位是用于子网的划分,所以有2x2x2 = 8个子网,所以C肯定是对的;
(2)一个子网的广播域是后面的主机位全部为1,即后面的13位应该全为1,相应的八类的网络地址的广播域分别为
172 16 00011111 11111111 = 172.16. 31.255
172 16 00111111 11111111 = 172.16 .63.255
172 16 01011111 11111111 = 172.16. 95.255
172 16 01111111 11111111 = 172.16. 127.255
172 16 10011111 11111111 = 172.16. 159.255
172 16 10111111 11111111 = 172.16. 191.255
172 16 11011111 11111111 = 172.16. 223.255
172 16 11111111 11111111 = 172.16. 255.255

首先,由ip地址可知,这是个B类的地址,那么,默认的子网掩码是255.255.0.0,但这里是255.255.224 。224=192+64+32 说明主机号多提供了3位给网络号,那么,子网个数=2^3=8个子网,划分的话依次为0,32,64,96,128,160,192,224 除去0子网用于做题目主机ip所在子网的网络号,和224子网中的225网络号用于广播外,剩下的有效子网当然就是6个了!32子网的广播地址当然是172.16.31.255, 其他类推吧!

17.对下列常见的各种网络术语描述正确的是()
正确答案: C D   你的答案: C D (正确)
A ADNS是一种用于TCP/IP应用程序的分布式数据库,因此它在TCP/IP体系中处于应用层
B TFTP是一种文件传递应用程序,它使用的传输层协议是TCPC Ping是对两个TCP/IP系统连通性进行测试的基本工具,它利用ICMP进行基本的请求的应答D Telnet 是标准的提供远程登录功能的应用,可以在不同OS系统的主机之间运行123456

DNS,Domain Name System或者Domain Name Service(域名系统或者余名服务)。域名系统为Internet上的主机分配域名地址和IP地址。用户使用域名地址,该系统就会自动把域名地址转为IP地址。
ADNS是硬件防火墙的意思.
PDNS 本身是一个支持 mysql 数据库的 dns 服务器。
TFTP 使用UDP
FTP 使用TCP
四个使用的是TCP,其余的都是UDP,这四个是:文件传送FTP,电子邮件SMTP(simple mail transport protocol),远程终端接入Telnet,万维网http。大家一般记住这四个是实用的TCP

免责声明:文章转载自《蘑菇街2017年校园招聘笔试题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇struts2实现简单文件下载功能jquery json 格式教程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C#刷遍Leetcode面试题系列连载(1)

目录 系列教程索引 为什么要刷LeetCode 刷LeetCode有哪些好处? LeetCode vs 传统的 OJ LeetCode刷题时的心态建设 C#如何刷遍LeetCode 选项1: VS本地Debug + 在线验证后提交 选项2: VS Code本地Debug + 在 LeetCode 插件中验证和提交 安装C#相关插件 配置 .NET...

40个Android问题

1、 Android的四大组件是哪些,它们的作用?答:Activity:Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它需要为保持各界面的状态,做很多持久化的事情,妥善管理生命周期以及一些跳转逻辑service:后台服务于Activity,封装有一个完整的功能逻辑实现,接受上层指令,完成相关的事物,定义好需要接受...