当前位置: 代码迷 >> 综合 >> “广联达2021校园招聘”笔试
  详细解决方案

“广联达2021校园招聘”笔试

热度:69   发布时间:2024-02-01 02:23:40.0

笔试时间:2020/7/17 19:00 笔试时长:120分钟

笔试岗位:测试开发工程师

 

笔试题目:

Q1:

下面C++中类和对象的关系描述中,错误的是?

A、类就是C语言中的结构体类型,对象就是C语言中的结构体变量

B、类是具有共同行为的若干对象的统一描述体

C、一个对象是类的实例,一个对象必然属于一个类

D、类和对象之间的关系是抽象和具象的关系

A1:

 

Q2:

有三个变量:char a; float b; double c;如果进行赋值c = a + b + c;变量c的类型为?

A、char

B、double

C、float

D、int

A2:

 

Q3:

线性规划问题与其对偶问题有可行解,下列正确的结论是?

A、线性规划有最优解,但是对偶问题没有

B、线性规划与其对偶问题有最优解

C、线性规划与对偶问题都没有最优解

D、对偶问题有最优解,但线性规划没有

A3:

 

Q4:

在C/S模型中,客户端与服务器socket描述中不包括的相关参数有?

A、protocol

B、port

C、mac

D、ip address

A4:

 

Q5:

设有八个顾客,同时等待用一服务,他们需要的服务时间为28、94、100、39、52、17、42、73,求使顾客等待时间最小的平均等待时间为?

A、241

B、242

C、239

D、240

A5:

 

Q6:

C++中有一种纯虚函数,下列申明正确的是?

A、virtual void func(int){}

B、virtual void func(int)

C、void func(int)=0

D、virtual void func()=0

A6:

 

Q7:

进程按照各自独立的、不可预知的速度向前推进是指进程的?

A、并发性

B、封闭性

C、异步性

D、独立性

A7:

 

Q8:

下列各表中,可应用二分查找法进行查找的有

①{1,3,5,7,9}

②{10,8,6,4,2}

③{1,10,3,8,5,6,7,4,9,2}

④{1,5,10}

⑤{10,6,1}

A、③

B、①②③④⑤

C、①③

D、①②④⑤

A8:

 

Q9:

下列程序的运行结果是2 3,请为横线处选择合适的程序

#include<iostream>

using namespace std;

template<class T>

class D

{

T a,b;

public:

    D(T i=0,T j=0):a(i),b(j){}

    void show(){cout<<a<<” ”<<b<<endl;}

};

int main()

{

________ o2(2,3);

o2.show();

//system(“PAUSE”);

return 0;

}

A、D

B、D(int)

C、D::

D、D<int>

A9:

 

Q10:

下列程序的运行结果是1/2,请为横线处选择合适的程序

#include<iostream>

using namespace std;

class A

{

int a,q;

public:

    A(int x,int y){a=x;q=y;}

    friend void operator<<(ostream &out,A &x)

    {

        out<<x.a<<”/”<<x.q;

    }

};

int main()

{

A o1(1,2);

A *p;

operator<<(________);

return 0;

}

A、*cout,o1

B、p,o1

C、cout,o1

D、o1,p

A10:

 

Q11:

下列程序的运行结果是

class B

{

public:

    virtual void f(){cout<<”B::f()”<<”  “;}

    void g(){cout<<”B::g()”<<” “;} };

class D:public B

{

public:

    void f(){cout<<”D::f()”<<” “;}

    void g(){cout<<”D::g()”<<” “;} };

void fun1(B &q){q.f();}

void fun2(B &q){q.g();}

int main()

{

D d;

fun1(d);

fun2(d);

return 0;

}

A、D::f() B::g()

B、B::f() B::g()

C、B::f() D::g()

D、D::f() D::g()

A11:

 

Q12:

设栈S和队列Q的初始状态均为空,元素abcdefgh依次进入栈S,若每个元素出栈后,立即进入队列Q,且8个元素出队的顺序是bcfegdha,则栈S的容量至少为?

A、3

B、2

C、5

D、4

A12:

 

Q13:

计算矩阵的连乘积M0M1M2M3,其中各自的维数为r0=10、r1=20、r2=50、r3=6、r4=80,利用动态规划算法求最优解

A、(M0M1)(M2M3)

B、(M0(M1M2))M3

C、((M0M1)M2)M3

D、M0((M1M2)M3)

A13:

 

Q14:

设无向图G中的边的集合E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},则从顶点a出发进行深度优先遍历可以得到的一种顶点序列为?

A、aebcfd

B、aedfbc

C、aedfcb

D、acfebd

A14:

 

Q15:

网络192.168.1.224/27和192.168.1.192/27汇聚后的网络地址是?

A、192.168.1.128/26

B、192.168.1.192/25

C、192.168.1.192/27

D、192.168.1.192/26

A15:

 

Q16:

设一棵二叉树的前序序列为abdec,中序序列为dbeac,则该二叉树后序遍历的顺序为?

A、debac

B、debca

C、abdec

D、abedc

A16:

 

Q17:

有下列类定义,C类中的保护成员的个数是?

class A

{

int x1;

protected:

    int y1;

public:

    void show1()

    {cout<<x1<<y1<<endl;}

};

class B:public A

{

int x2;

protected:

    int y2;

public:

    void show2()

    {cout<<x2<<y2<<endl;}

};

class C:protected B

{

int x3;

protected:

    int y3;

public:

    void show3()

    {cout<<x3<<y3<<endl;}

};

A、5

B、6

C、4

D、7

A17:

 

Q18:

某操作系统共享资源的一个信号量的初值为4,经过多次PV操作以后当前值为-2,此表示等待进入临界区的进程数是?

A、3

B、1

C、2

D、4

A18:

 

Q19:

下列程序的输出结果是1_5,请为横线处选择合适的程序

#include<iostream>

using namespace std;

class A

{

public:

    int i;

    static int count;

    A(int n=0):i(n){count++;}

    void show(){cout<<count<<”_”<<i<<endl;}

};

int A::count=0;

int main()

{

A o1(5);

A *p=&o1;

________=&A::show;

(p->*q3)();

//system(“PAUSE”);

return 0;

}

A、void A::*q3()

B、void *A::q3()

C、void *q3()

D、void (A::*q3)()

A19:

 

Q20:

下列程序定义Test类对象的个数是?

#include<iostream>

using namespace std;

class Test

{

int x;

public:

    Test(int a=0):x(a){}

    Test(Test &p):x(p.x){}

    int Count(){return x;}

};

int main()

{

Test t1;

Test t2(t1);

Test* pT3 = new Test[3];

Test &t4=t2;

delete []pT3;

system(“pause”);

return 0;

}

A、5

B、3

C、4

D、2

A20:

 

Q21:

下列代码,输出为

#include<iostream>

using namespace std;

int main()

{

int z = 0;

for(int x=0,y=0;!y&&x<=10;x++){

    z++;

}

cout<<z<<endl;

}

A、11

B、12

C、10

D、0

A21:

 

Q22:

以下哪项陈述是正确的?

A、DELETE释放包含表,TRUNCATE不会释放包含表的空间

B、DELETE和TRUNCATE都不释放包含表的空间

C、DELETE不释放包含表的空间,TRUNCATE释放包含表的空间

D、DELETE和TRUNCATE都释放包含表的空间

A22:

 

Q23:

下列程序的运行结果是

#include<iostream>

#include<fstream>

using namespace std;

struct D

{ char a,b,c,d; };

int main()

{

D d1={‘A’,’a’,’b’,’B’};

ofstream file1(“date.dat”,ios::binary);

file1.write((char *)&d1,sizeof d1);

file1.close();

D d2;

ifstream file2(“date.dat”,ios::binary);

file2.read((char *)&d2,sizeof d2);

cout<<d2.a<<” “<<d2.b<<” “<<d2.c<<” “<<d2.d<<endl;

file2.close();

return 0;

}

A、65 97

B、A a b B

C、65 97 66 98

D、A a

A23:

 

Q24:

有下列类定义

class A

{

public:

    void f1(){cout<<”A”;}

protected:

    int a1;

private:

    int a2;

};

class B:public A

{

public:

    void f2(){cout<<”B”;}

protected:

    int b1;

private:

    int b2;

};

派生类B中的成员描述正确的是

A、私有成员a2,b2

B、私有成员b2

C、公有成员f1,f2

D、保护乘员a1,b1

A24:

 

Q25:

有下列类定义

class A

{

int n;

public:

    A(int x=0):n(x){}

    A(A &p):n(p.n){}

    A fun();

    ~A(){}

};

A A::fun()

{

A a;

A a1(a);

return a1;

}

则执行

A o1,o2(3);

o1=o2.fun();

类A的析构函数调用次数是?

A、2

B、5

C、4

D、3

A25:

 

Q26:

下列程序的运行结果是333-555,请为横线处选择合适的程序

#include<iostream>

#include<string>

using namespace std;

class A

{

string name;

public:

    A(string a=”000”){________;}

    string get1() const

      {return name;}

    virtual string get2() const

      {return “111”;}

};

class B:public A

{

public:

    B(string p):A(p){}

    string get2() const

      {return “333”;}

};

void show(A &p)

{cout<<p.get2()<<”-“<<p.get1()<<endl;}

int main()

{

B ob(“555”);

show(ob);

//system(“pause”);

return 0;

}

A、name=a

B、name=*a

C、strcpy(*name,*a)

D、strcpy(name,a)

A26:

 

Q27:

在系统运行过程中,通过检查系统是否处于安全状态而不让死锁发生的策略是?

A、死锁避免

B、死锁检测

C、死锁预防

D、死锁解除

A27:

 

Q28:

有下列类定义,C o1;则o1可以合法调用的成员是?

class A

{

int x1;

protected:

    int y1;

public:

    void show1()

      {cout<<x1<<y1<<endl;}

};

class B:public A

{

int x1;

protected:

    int y2;

public:

    void show2()

      {cout<<x2<<y2<<endl;}

};

class C:protected B

{

int x3;

protected:

    int y3;

public:

    void show3()

      {cout<<x3<<y3<<endl;}

};

A、其它选项都不合法

B、show2()

C、show3()

D、show1()

A28:

 

Q29:

在电子政务系统通常使用https协议传输数据,https协议默认使用的端口是?

A、80

B、143

C、443

D、1023

A29:

 

Q30:

下列程序输出的星号个数是?

#include<iostream>

using namespace std;

class D

{

int a;

public:

    D(int i=0):a(i){}

    D(D &p){a=p.a;cout<<”*”;}

    void show(){cout<<a<<endl;}

};

D f(D p)

{

D d1(p);

return d1;

}

int main()

{

D o1,o2(2);

o2=f(o1);

// system(“PAUSE”);

return 0;

}

A、1

B、3

C、2

D、0

A30:

 

Q31:

给出你n条长度不一的边,请你从中选择四条边,组成一个最大的平行四边形。请你输出最大的平行四边形的面积。

 

输入描述:

输入第一行包含一个正整数n,表示边的数量。(4<=n<=50000)

输入第二行包含n个正整数,表示n条边的长度,边的长度不会超过10^9。

 

输出描述:

输出仅包含一个正整数,即最大的平行四边形的面积,无解则输出-1。

 

样例输入:

5

3 3 4 4 5

 

样例输出:

12

A31:

 

Q32:

有一种排序算法定义如下,该排序算法每次只能把一个元素提到序列的开头,例如2,1,3,4,只需要一次操作把1提到序列起始位置就可以使得原序列从小到大有序。现在给你个乱序的1-n排列,请你计算最少需要多少次操作才可以使得原序列从小到大有序。

 

输入描述:

输入第一行包含两个正整数n,表示序列的长度。(1<=n<=100000)

接下来一行有n个正整数,表示序列中的n个元素,中间用空格隔开。(1<=a_i<=n)

 

输出描述:

输出仅包含一个整数,表示最少的操作次数。

 

样例输入:

4

2 1 3 4

 

样例输出:

1

A32:

 

Q33:

在一个2D横板游戏中,所有的怪物都是在X轴上的,每个怪物有两个属性X和HP,分别代表怪物的位置和生命值。玩家控制的角色有一个AOE(范围攻击)技能,玩家每次释放技能可以选择一个位置x,技能会对[x-y,x+y]范围内的所有怪物造成1点伤害。请问,玩家最少需要使用多少次技能,才能杀死所有怪物,怪物血量清0即视为被杀死。

 

输入描述:

输入第一行包含两个正整数n和y,分别表示怪物的数量和技能的范围。

(1<=n<=100000)

接下来有n行,每行有两个正整数x和hp分别表示一只怪物的位置和血量。

(1<=x,hp<=10^9)

 

输出描述:

输出仅包含一个整数,表示最少使用的技能次数。

 

样例输入:

3 5

1 10

10 5

22 3

 

样例输出:

13

A33:

 

笔试结果:

未知

 

(答案会逐渐补充完整)