C++腾讯2014学校招聘 研究开发工程师在线模拟

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                  
                                                                       
                                                                     
 

三十位系统中,定义**a[3][4],则变量占用内部存款和储蓄器空间为(  )。

 

科学答案 :B

你的答案 😀

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是3个对准一维数组的指针

p是叁个对准二维数组的指针

p是二个动态数组

 


5                  
                                                                       
                                                                     
 

1个系统,提供多个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();
}

  1. 厂子形式:
    为多个http协议的接口,在客户端代码中,告诉要请求的接口名称,会调用差异的类来拍卖,显著是工厂方法
  2. 装饰者形式,是用来动态增加效果的,就是过滤
    音讯,比如违规字符&&&之类的,音信过长之类;
    为了保证该协议变更之后更好的使用到八个接口    适配器形式;
    为了保障修改协议不影响到原来逻辑的代码  
     协议的转移指的是事后大概回到xml格式     工厂方式;
    只怕是遵照须要统一对回到的音信进行过滤   装饰格局;

6                  
                                                                       
                                                                     
 

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

 

毋庸置疑答案 😀

您的答案 :C

AGET

BHEAD

CTRACE

DOPTIONS

EPOST

 

HEAD,GET,OPTIONS和TRACE视为安全的点子,因为它们只是从服务器得到财富而不对服务器做此外修改。而POST,PUT,DELETE和PATCH则影响服务器上的财富。
GET方法存在安全难点,GET提交数据时,用户名和密码出现在UXC90L上 
TRACE: 请求服务器回送收到的呼吁新闻,首要用来测试或确诊。所以是高枕无忧的。


7                  
                                                                       
                                                                     
 

下面程序运行的结果是(  )。

C++ 1C++ 2

#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            
                                                                       
                                                                       
     

写出下列代码的输出内容()

C++ 3C++ 4

#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\n”,*arg2); 输出 110


10                  
                                                                       
                                                                     

二十二个极点的连通图中边的条数至少为()

 

毋庸置疑答案 :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,在最坏情形下,冒泡排序必要相比较次数为( )。

 

正确答案 😀

您的答案 😀

A40

B42

C44

D45