研发类笔试题基础(第一篇

57 篇文章 1 订阅

1)一个系统,提供多个http协议的接口,返回的结果Y有json格式和jsonp格式。Json的格式为{“code”:100,”msg”:”aaa”},为了保证该协议变更之后更好的应用到多个接口,为了保证修改协议不影响到原先逻辑的代码,以下哪些设计模式是需要的?协议的变更指的是日后可能返回xml格式,或者是根据需求统一对返回的消息进行过滤。( )
A) Adapter
B) factory method
C) proxy
D) decorator
E) composite
解答: ABD
 1.Aadapter:新增功能但不能修改原来代码,原来代码实现思路——标准接口Target定义interface, ConcreteTarget就是当前解析json的类(实现 Target接口 ); 新增功能这样实现—— Adaptee是新增功能的所属类,Adapter实现 Target接口并集成 Adaptee,这样的 Adapter就有了新的功能了,因此需要适配器模式。调用实例如下:
public static void main(String[] args) {
// 使用普通功能类
Target concreteTarget = new ConcreteTarget();
concreteTarget.request();
// 使用特殊功能类,即适配类
Target adapter = new Adapter();
adapter.request();
}
 2. 工厂模式: 为多个http协议的接口,在客户端代码中,告诉要请求的接口名称,会调用不同的类来处理,显然是工厂方法
 4. 装饰者模式,是用来动态添加功能的,就是过滤 消息,比如非法字符&&&之类的,消息过长之类。

2)下列哪些http方法对于服务端和用户端一定是安全的?()
A) GET
B) HEAD
C) TRACE
D) OPTIONS
E) POST
解答:C
 GET:通过请求URI得到资源,POST:用于添加新的内容,OPTIONS:询问可以执行哪些方法,TRACE:用于远程
诊断服务器,HEAD:类似于GET, 但是不返回body信息,用于检查对象是否存在,以及得到对象的元数据 HEAD,GET,OPTIONS和TRACE视为安全的方法,因为它们只是从服务器获得资源而不对服务器做任何修改,
但是HEAD,GET,OPTIONS在用户端不安全。而POST则影响服务器上的资源。

3)下面函数的时间复杂度是

long foo(long x){
    if(x<2) return 1;
        return x*x*foo(x-1);
}

A) O(N)
B) O(N^2)
C) O(lonN)
D) O(N!)
解答:A

4)有36辆自动赛车和6条跑道,没有计时器的前提下,最少用几次比赛可以筛选出最快的三辆赛车?
A) 7
B) 8
C) 9
D) 10
解答:B
首先分为6组跑一次,6次
A1 A2 A3 A4 A5 A6
B1 B2 B3 B4 B5 B6
………
每组的第一都跑一次, 一共为7次,取前三名,暂定为(A1 B1 C1),此时第一名已经定了 为A1;
D组 E组 F组肯定直接被淘汰,他们的第一名都跑不进前三;
接着ABC组缩小范围;
A组 A2 A3 参加比赛,因为只有A1作为参照物,而A1是冠军 所有它俩都机会,A1>A2>A3
B组 B1 B2 参加比赛,B3跑输 B1 B2 ,B1跑输A1,因此B2之后的拿不到前三,A1>B1>B2
C组 C1 参加比赛,同理,A1>B1>C1
最后 A2 A3 B1 B2 C1 可以决出前三 A1陪跑哈,总共为8次 。

5)32位系统中,定义**a[3][4],则变量占用内存空间为( )。
A) 4
B) 48
C) 192
D) 12
解答:B
  **a[3][4],这是一个3行4列的指向指针的指针数组,也就是说3行4列中存储的都是指针,那么所占内存空间是:3*4*4 = 48。

6)i的初始值为0,i++在两个线程里面分别执行100次,能得到最大值是(),最小值是()。
解答:最大值为200,最小值为2。

7)下面有关static类变量和实例变量的描述,正确的有?
A) static类变量又叫静态成员变量,它不需要创建对象就可以已经在内存中存在了
B) 在创建实例对象的时候,内存中会为每一个实例对象的每一个非静态成员变量开辟一段内存空间,用来存储这个对象所有的非静态成员变量值
C) static类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果
D) 实例变量则属对象私有,某一个对象将其值改变,不影响其他对象
解答:ABCD
 A:static变量在未初始化时存储在BSS段,初始化后存储在data section数据段,A正确
 B:静态成员则不会开辟空间,B正确
 C:static变量是类变量,可理解为只有一份,C正确
 D:可理解为:对实例对象,每个实例均有各自的一份变量,改变其值只是改变了自己的那一份,D正确

8)设x、y、t均为int型变量,则执行语句:t=3; x=y=2; t=x++||++y; 后,变量t和y的值分别为__
A) t=1 y=2
B) t=1 y=3
C) t=2 y=2
D) t=2 y=3
E) t=3 y=2
F) t=3 y=3
解答:A
  此题考点为运算符的优先级,自增运算符、短路运算、赋值运算符的优先级。
按照优先级原则来说:
t=x++||++y; 先执行 x++ 然后执行||,最后执行=。由于x=2 根据逻辑运算符可知x++ 理解为true,根据短路运算符可知++y不会执行了。根据逻辑运算可知x++||++y 返回1,则可知t=1;y没有执行,y=2
由于
  

这里写图片描述

  
9)KMP算法的特点是在模式匹配时指示主串的指针不会变小( )
A) 对
B) 错
解答:A
  KMP算法的改进在于:每当一趟匹配过程中出现字符比较不相等时,不需回溯主串指针,而是利用已经得到的“部分匹配”的结果将模式向右“滑动”尽可能远的一段距离后,继续进行比较。

10)一台刚刚接入互联网的WEB服务器第一次被访问到时,不同协议的发生顺序是下面中的__
A) ARP -> DNS -> HTTP
B) ARP -> HTTP -> DNS
C) DNS -> HTTP -> ARP
D) DNS -> ARP -> HTTP
E) HTTP -> ARP -> DNS
F) HTTP -> DNS -> ARP
解答:A
1、当给WEB服务器接上网线的时候,它会自动发送一条ARP信息,使得接入网关能找的到它;
网关上会形成一条类似:2c 96 1e 3c 3e 9b - 192.168.1.123的MAC地址到IP地址的映射记录。
2、当第一个用户使用域名访问WEB服务器的时候,首先要进行一次DNS查询。
3、最后才是http协议

11) 局域网内有一主机ip为192.168.1.2,请找到他的mac地址?
A) 使用ping 192.168.1.2,从返回结果找到对应信息
B) 使用netstat 192.168.1.2,从返回结果找到对应信息
C) 先使用ping 192.168.1.2,然后使用arp -a找对应mac地址
D) 上述方法都不正确
解答:A
c:\ ping 192.168.1.2 after some echo replies from host 192.168.1.2
c:\arp -a
and you will see MAC address of 192.168.1.2
只能用于局域网

12)适合于较小本地网的网路组织是?
A) 覆盖单汇接局结构
B) 无汇接局网状网结构
C) 分区单汇接局结构
D) 汇接局分区
解答:B

13)假设某棵二叉查找树的所有键均为1到10的整数,现在我们要查找5。下面__不可能是键的检查序列。
A) 10,9,8,7,6,5
B) 2,8,6,3,7,4,5
C) 1,2,9,3,8,7,4,6,5
D) 2,3,10,4,8,5
E) 4,9,8,7,5
F) 以上均正确
解答:B
  这个题目不用进行画,利用二叉排序树的概念进行判断即可,对于选项B来说:6>5,应该在左子树上面开始查找,其左子树上的所有节点应该都小于6,但是后续序列中出现7>6,所以选B。

14)请找出下面代码中的所有错误。说明:以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba”。

1 #include "string.h"
2 int main() 
3 {
4    char *src = "hello,world";
5    char *dest = NULL;
6    int len = strlen(src);
7    dest = (char *)malloc(len);
8    char *d = dest;
9    char *s = src[len];
10   while (len-- != 0)
11      d++ = s--;
12   printf("%s", dest);
13   return 0;
14     
15}

A) 第7行要为’\0’分配一个空间
B) 第9行改成char * s = &src[len-1]
C) 第12行前要加上*d = 0;
D) 第13行前要加上free(dest)释放空间
解答:ABCD

15)TCP的关闭过程,说法正确的是( )
A) 处于TIME_WAIT状态的连接等待2MSL后真正关闭连接
B) 对一个established状态的TCP连接,在调用shutdown函数之前调用close接口,可以让主动调用的一方进入半关闭状态
C) 主动发送FIN消息的连接端,收到对方回应ack之前不能发只能收,在收到对方回复ack之后不能发也不能收,进入CLOSING状态
D) 在已经成功建立连接的TCP连接上,任何情况下都不允许丢失数据。
解答:A

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值