面试某公司,由于本身非科班,基本功不扎实,在笔试没答上来,被刷了。这里记录一下题目
1.二层交换机能够识别()地址。
A.MAC地址
B.域名
C.IP地址
D.UDP端口号
2.以下代码运行结果为
#include "stdio.h"
class Base {
public:
Base() { echo(); }
virtual void echo() { printf("Base"); }
};
class Derived : public Base {
public:
Derived() { echo(); }
virtual void echo() { printf("Derived"); }
};
int main() {
Base *base = new Derived();
base->echo();
return 0;
}
答:BaseDerivedDerived
3.以下程序的输出是
#include "bits/stdc++.h"
using namespace std;
class Base {
public:
Base(int j) : i(j){};
virtual ~Base() {}
void func1() {
i *= 10;
func2();
}
int getValue() { return i; }
protected:
virtual void func2() { i++; }
int i;
};
class Child : public Base {
public:
Child(int j) : Base(j) {}
void func1() {
i *= 100;
func2();
}
protected:
void func2() { i += 2; }
};
int main() {
Base *pb = new Child(1);
pb->func1();
cout << pb->getValue()<< endl;
delete pb;
}
答:12
4.查看TCP连接的命令是什么()
A.netstat
B.tcpdump
C.top
D.ifconfig
答:A
5.盒子里有8支笔,黑色5支,蓝色3支,请问抽3支,至少2支是蓝色的概率?
6.计算以下代码的空间复杂度
int factorial(unsigned int n) {
if (i <= 1)
return 1;
else
return n * factorial(n-1)
}
答:O(N)
7.以下代码的输出结果是
#include "stdio.h"
int main() {
printf("This book is only $%2.2f for sale.", 3.246e2);
}
答:This book is only $324.60 for sale.
前面的2是指长度,如果长度不够会在前面补充空格,如果长度够则不会截断
8.下面哪个操作符能重载
A.::和()
B..和→
C.sizeof和static_cast
D.*和+
c++不能重载的运算符
答:D
9.190.233.27.13/16所在网段地址()
答:192.233.0.0
c++11中的三种智能指针是什么?
答:unique_prt,share_prt,weak_prt
11.两个人轮流抛硬币,规定第一个抛出正面的人可以吃到苹果,请问先抛的人吃到苹果的概率?
答:1/2
12.以下代码的输出结果
#include "stdio.h"
void func(int *p) {
static int num = 4;
p = #
(*p)--;
}
int main() {
int i = 5;
int *p = &i;
func(p);
printf("%d", *p);
return 0;
}
答:参数传递是拷贝指针,并非同一个指针,故答案是5
13.下面c++程序的运行结果为:
#include "bits/stdc++.h"
using namespace std;
class Base {
public:
void virtual Func() { cout << "Base" << endl; }
};
class Derived : public Base {
public:
void virtual Func() { cout << "Derived" << endl;}
};
int main() {
Base *pBase = new Base();
pBase->Func();
Derived *pDerived = (Derived *)pBase;
pDerived->Func();
delete pBase;
pDerived = new Derived();
pBase = pDerived;
pBase->Func();
delete pDerived;
return 0;
}
答:BaseBaseDerived
14.在ASC算法team日常开发中,常常面临一些数据结构的抉择,… 6000左右的词汇,词汇长度在10-15之间,词汇字符是英文字母,区分大小写,请选择一个最快的数据结构
A. 链表,比较函数开销;1次运算/每字符
B.二叉搜索树,比较函数开销;1次运算/每字符
C.哈希表,hash算法开销;10次运算/每字符
D.TRIE树,寻找子节点开销;1次运算/每字符
答:网上找的答案说是D,我也不懂
在ASC算法team日常开发中,常常面临一些数据结构的抉择
15.以下代码中,a的值为
#include "stdio.h"
#define SUM(x, y) x + y
int main() {
int a = 3;
int b = 2;
a += a * SUM(a, b) * b;
printf("%d", a);
return 0;
}
16.Internet的网络层含有四个重要的协议,分别为()
A. IP,ICMP,ARP,RARP
B. IP,ICMP,ARP,UDP
C. TCP,ICMP,UDP,ARP
D. UDP,IP,ICMP,RARP
答:C
17.请找出下面程序中有哪些错误
int main() {
int i = 10;
int j = 1;
const int *p1; // (1)
int const *p2 = &i; // (2)
p2 = &j; // (3)
int *cosnt p3 = &i; // (4)
*p3 = 20; // (5)
*p2 = 30; // (6)
p3 = &j; // (7)
return 0;
}
18.下面哪种STL容器中的对象是连续存储的()?
A. map
B. list
C. vector
D. set
答:C
19.在发送TCP接收到确认ACK之前,由其设置的定时倒计时到时,此时发送TCP会
A.调整传送窗口尺寸
B.重传重要的数据段
C. 放弃该连接
D.向另一个目标端口重传数据
答:超时应该是重传
20.以下不属于TCP拥塞控制方法的是
A. 慢启动阈值ssthresh减慢
B. 慢开始
C. 拥塞避免加法增大
D. 慢重传
答:不了解