腾讯2016校园招聘 研发工程师在线模拟

1                                                                                                                                                                  

二维数组X按行顺序存储,其中每个元素占1个存储单元。若X[4][4]的存储地址为Oxf8b82140,X[9][9]的存储地址为Oxf8b8221c,则X[7][7]的存储地址为(  )。

正确答案 :A

您的答案 :B

AOxf8b821c4
BOxf8b821a6
COxf8b82198
DOxf8b821c0
 
假设每行有n个元素:
[9][9] - [4][4] = 21c-140=5n+5
[7][7] - [4][4]=x- 140 =3n+3
[7][7] = 140+3/5*( 21c-140 )= 1c4 

2                                                                                                                                                                  

32位系统中,定义**a[3][4],则变量占用内存空间为(  )。

正确答案 :B

您的答案 :D

A4
B48
C192
D12
 
在32为系统下,指针大小4B,所以结果为4*3*4=48

3                                                                                                                                                                  

关于操作系统heap与stack说法中,正确的是()。

正确答案 :BC

您的答案 :BC

stack由编译器自动分配和释放,存放函数的参数值,局部变量,全局变量的值
heap一般由程序员分配和释放,若程序员不释放,可能会造成操作系统的内存泄露
stack由系统自动分配,无需程序员干涉,heap需要手动申请
heap与stack都会在初始大小空间用满时,系统自动增加其大小
 

4                                                                                                                                                                  

对于定义"int *p",下列哪些说明可能是正确的?(  ) 

正确答案 :ABD

您的答案 :ABD

p是一个指向int型值的指针
p是一个指向一维数组的指针
p是一个指向二维数组的指针
p是一个动态数组
 

5                                                                                                                                                                  

一个系统,提供多个http协议的接口,返回的结果Y有json格式和jsonp格式。Json的格式为{"code":100,"msg":"aaa"},为了保证该协议变更之后更好的应用到多个接口,为了保证修改协议不影响到原先逻辑的代码,以下哪些设计模式是需要的?协议的变更指的是日后可能返回xml格式,或者是根据需求统一对返回的消息进行过滤。(  )

正确答案 :ABD

您的答案 :ABD

AAadapter
Bfactory method
Cproxy
Ddecorator
Ecomposite
 
1.adapter:新增功能但不能修改原来代码,原来代码实现思路——标准接口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. 装饰者模式,是用来动态添加功能的,就是过滤 消息,比如非法字符&&&之类的,消息过长之类;
为了保证该协议变更之后更好的应用到多个接口    适配器模式;
为了保证修改协议不影响到原先逻辑的代码    协议的变更指的是日后可能返回xml格式     工厂模式;
或者是根据需求统一对返回的消息进行过滤   装饰模式;

6                                                                                                                                                                  

下列哪些http方法对于服务端和用户端一定是安全的?()

正确答案 :D

您的答案 :C

AGET
BHEAD
CTRACE
DOPTIONS
EPOST
 
HEAD,GET,OPTIONS和TRACE视为安全的方法,因为它们只是从服务器获得资源而不对服务器做任何修改。而POST,PUT,DELETE和PATCH则影响服务器上的资源。
GET方法存在安全问题,GET提交数据时,用户名和密码出现在URL上 
TRACE: 请求服务器回送收到的请求信息,主要用于测试或诊断。所以是安全的。

7                                                                                                                                                                  

下面程序运行的结果是(  )。
#include<stdio.h>
void add(int *p)
{
    (*p)++;
    printf("%d",*p);
    if (*p>5)
    {
        return;
    }
    add(p);
}
int main()
{
    int i=0;
    add(&i);
    return 0;
}
View Code

正确答案 :B

您的答案 :A

A12345
B123456
C111111
D未知
 
当*p = 5时,会再调用add(p),然后先输出*p = 6,然后进行判断,直接跳出程序。所以,输出123456 。

8                                                                                                                                                                  

有36辆自动赛车和6条跑道,没有计时器的前提下,最少用几次比赛可以筛选出最快的三辆赛车?

正确答案 :B

您的答案 :B

A7
B8
C9
D10
 

9                                                                                                                                                                  
写出下列代码的输出内容()
#include<stdio.h>
int inc(int a)
{
   return (++a);
}
int multi(int *a,int *b,int *c)
{ 
  return (*c=*a* *b);
}
typedef int (FUNC1)(int in);
typedef int (FUNC2)(int*,int*,int*);
void show(FUNC2 fun,int arg1,int *arg2)
{
  FUNC1 p=&inc;
  int temp=p(arg1);
  fun(&temp,&arg1,arg2);
  printf("%d\n",*arg2);
}
int main()
{ 
   int a;
   show(multi,10,&a);
   return 0;
}
View Code

正确答案 :B

您的答案 :B

A100
B110
C120
D0
 
typedef int(FUNC1)(int in); 是函数指针定义
show(multi,10,&a); FUNC2类型函数指针fun 指向函数multi的首地址
FUNC1 p=&inc;  FUNC1类型 函数指针p 指向函数inc的首地址
int temp=p(arg1); 此时调用函数inc,参数为10,将arg1=10自增,返回值为11
fun(&temp,&arg1,arg2); 调用函数multi,参数为(11,10,arg2) arg2为指针变量负责带回返回,*arg2=temp*arg1=11*10=110
printf("%d ",*arg2); 输出 110

10                                                                                                                                                                

22个顶点的连通图中边的条数至少为()

正确答案 :C

您的答案 :C

A18
B20
C21
D23
 
n个顶点的连通图至少有n-1条边(树);
n个顶点的简单图(完全图)至少有n*(n-1)/2条边。

11                                                                                                                                                                

下面函数的时间复杂度是

long foo(long x){

    if(x<2) return 1;

        return x*x*foo(x-1);

}

正确答案 :A

您的答案 :A

AO(N)
BO(N^2)
CO(N^3)
Do(N!)
 
这里要从foo(1)一直计算到foo(n),因此时间复杂度为O(N)。

12                                                                                                                                                                

线性表的长度为10,在最坏情况下,冒泡排序需要比较次数为( )。

正确答案 :D

您的答案 :D

A40
B42
C44
D45
原文地址:https://www.cnblogs.com/tk55/p/6618312.html