⼴联达笔试题汇总
1. 代码输出结果为?
#include<iostream>
using namespace std;
class A {
public:
virtual void f() { cout << "/"; }
};
class B :public A {
public:
virtual void f() { cout << "#"; }
};
void fun1() { A *p = new B; p->f(); }
void fun2() { A a, &p=a; p.f(); }
void fun3() { B b;A p=b; p.f(); }
int main() {
fun1();
fun2();
fun3();
return 0;
}
#//
2. 代码输出结果为?
#include<iostream>
using namespace std;
class B {
public:
B(int xx = 1) :x(xx) { x += 1; };
virtual void show() { cout << x << endl; }
private:
int x;
};
class D :public B {
public:
D(int xx = 1, int yy = 2) :B(xx), y(yy) { y += 2; }
void show() { cout << y << endl; }
private:
int y;
};
int main() {
B ob1, &ob2 = ob1;
ob1.show();
return 0;
}
2
3. 能采⽤贪⼼算法求最优解的问题,⼀般具有的重要性质为:
①贪⼼选择性质:进⾏选择时,直接做出在当前问题中看来最优的选择,⽽不必考虑⼦问题的解;
②最优⼦结构:如果⼀个问题的最优解包含其⼦问题的最优解,则称此问题具有最优⼦结构性质
4. 代码输出结果为4,5,6,横线处应该填什么?
#include<iostream>
using namespace std;
class A {
int a1;
public:
A(int x, int y) :a1(x),a2(y){}
void show1() { cout << a1 << " " << a2 << endl; }
protected:
int a2;
};
class B :public A {
int b1;
protected:
int b2;
public:
B(int x,int y,int z,int k):_______,b1(z),b2(k){}
void show2() { cout << a2<<" "<<b1<<" "<<b2 << endl; }
};
int main() {
B ob2(3,4,5,6);
ob2.show2();
system("pause");
return 0;
}
A(x,y)
5. 计算机操作系统中,若WAIT、SIGNAL操作的信号量S初值为3,当前值为-2,则表⽰当前有( )个等待信号量S的进程。
2
若信号量为正则表⽰资源数,若为负则其绝对值表⽰等待的进程数。
初值为3,表⽰初始时有3个可⽤的资源。现在为-2,说明这3个可⽤资源已经被占⽤了,⽽且有2个进程在等待资源
6. NP(Nondeterministic Polynomially,⾮确定性多项式)类问题是指⼀个复杂问题不能确定是否在多项式时间内到答案,但是可以在多项式时间内验证答案是否正确。
7. 解决死锁的4种基本⽅法:
1、预防死锁:通过设置⼀些限制条件,去破坏产⽣死锁的必要条件
2、检测与拆除死锁:这种⽅式使允许死锁发⽣,检测死锁产⽣,然后解除死锁;
检测的具体实施可以维护两个资源矩阵,对可⽤资源和需要资源进⾏⽐较;
解除死锁的⽅式主要可以实施抢占剥夺;kill掉进程;回滚系统等;
3、动态避免:在资源分配过程中,确保资源请求批准后系统不会进⼊死锁或潜在的死锁状态。如银⾏家算法。
8.
邻接表,存储⽅法跟树的孩⼦链表⽰法相类似,是⼀种顺序分配和链式分配相结合的。如这个表头结点所对应的顶点存在相邻顶点,则把相邻顶点依次存放于表头结点所指向的单向链表中。
9.
当程序从编辑完成到执⾏成功都会经过5个步骤,分别是预处理(Prepressing)、编译(Compilation)、汇编(Assembly)、链接(Linking)和执⾏(Executing)。
10. 贪⼼算法和动态规划区别
贪⼼算法
基本思想:贪⼼算法并不从整体最优上加以考虑,它所做的选择只是在某种意义上的局部最优解。
基本要素:最优⼦结构性质和贪⼼选择性质。
最优⼦结构性质问题的整体最优解中包含⼦问题的最优解
贪⼼选择性质l 整体的最优解可通过⼀系列局部最优解达到
l 每次的选择可依赖以前作出的选择,但不依赖后续选择
动态规划
基本思想:将待求解的问题分解成若⼲个⼦问题,先求解⼦问题,然后从这些⼦问题的解得到原问题的解。
基本要素:最优⼦结构性质和重叠⼦问题性质
namespace是干嘛的贪⼼算法与动态规划的区别
共同点:两者都具有最优⼦结构性质
不同点:
1) 动态规划算法中,每步所做的选择往往依赖于相关⼦问题的解,因⽽只有在解出相关⼦问题时才能做出选择。⽽贪⼼算法,仅在当
前状态下做出最好选择,即局部最优选择,然后再去解做出这个选择后产⽣的相应的⼦问题。
2) 动态规划算法通常以⾃底向上的⽅式解各⼦问题,⽽贪⼼算法则通常⾃顶向下的⽅式进⾏。
3)贪⼼算法:全局最优解由局部最优解构成,下⼀步的局部最优解仅由上⼀步的局部最优解推导出,
也就是说每次仅保留上⼀步的最优解。
动态规划:全局最优解肯定包含局部最优解,但下⼀步的局部最优解,不⼀定由上⼀步的局部最优解推导出,因此需要保留之前所有的最优解。
11. B/S模型中标准协议是http,http协议特点()
⽀持客户/服务器模式;
简单快速;
灵活;
⽆连接;
⽆状态。
HTTP是⽆连接:限制每次连接只处理⼀个请求,服务器处理完客户的请求 ,并接收到客户的应答后即断开连接,采⽤这种⽅式可以节省传输时间。
HTTP是媒体独⽴的:意味着只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通
过HTTP发送。客户端以及服务器指定使⽤适合的MIME-type内容类型。
HTTP是⽆状态的:HTTP协议是⽆状态协议。意指协议对事物处理没有记忆能⼒。如果后续处理需要前⾯的信息则他必须重传,这样可能导致每次连接传送的数据量增⼤。另⼀⽅⾯,在服务器不需要先前信息时,它的应答就⽐较快。
12.
主键索引:它是⼀种特殊的唯⼀索引,不允许有空值。⼀般是在建表的时候指定了主键,就会创建主键索引, CREATE INDEX不能⽤来创建主键索引,使⽤ ALTER TABLE来代替。
唯⼀索引:与普通索引类似,不同的就是:索引列的值必须唯⼀,但允许有空值。如果是组合索引,则列值的组合必须⼀。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。