CVTE一面

昨天辛辛苦苦写了一堆。。居然都没有了。好不容易写好的东西,点了发布居然在博客列表里找不到。这里重新简单整理一下题目:

1.c++基础

1. 当你使用new之后,发生了什么?

问题不难,和面试官沟通之后,发现他还想问当创建一个空类,除了有默认构造函数还会有什么默认成员函数。
总共有六个:(前四个是通常都知道的)
1. 默认构造函数
2. 默认析构函数
3. 默认赋值运算符
4. 取址运算符
5. 取址运算符 const

2.深拷贝和浅拷贝

深拷贝和浅拷贝可以简单理解为:如果一个类拥有资源,当这个类的对象发生复制过程的时候,资源重新分配,这个过程就是深拷贝,反之,没有重新分配资源,就是浅拷贝。
浅拷贝有一个问题:如果把对象里的值完全复制给另一个对象,如A=B(浅拷贝的话)。这时,如果B中有一个成员变量指针已经申请了内存,那A中的那个成员变量也指向同一块内存。这就出现了问题:当B把内存释放了(如:析构),这时A内的指针就是野指针了,出现运行错误。

3.关联容器用过吗?

4.一个类对象有多大?

和面试官交流,了解到实际上是想问我如果创建了一个类对象,我如何计算他占用的内存大小。

5.析构函数可以是虚函数吗?

可以。考虑动态绑定。如果是基类指针去操纵子类的对象,且基类析构函数不是虚函数,那么delete这个指针的时候,就无法释放子类的资源。造成对象只释放了一半。

6.虚函数指针在哪里?

和面试官交流,发现他并不是只是想知道和编译器有关,有的在最开头这种。
而是想问指针在内存的哪一个区。
虚函数指针应该和对象在一起,对象在哪个区,它就在哪个区。
虚函数表我后来查了,认为可能是在全局区。GCC编译器下是在rodata区。

7.常见的排序算法

8. vector是如何动态增长的


2.操作系统

1.进程和线程的区别是什么?

(1)进程是资源的分配和调度的一个独立单元,而线程是CPU调度的基本单元
(2)同一个进程中可以包括多个线程,并且线程共享整个进程的资源(寄存器、堆栈、上下文),一个进行至少包括一个线程。
(3)进程的创建调用fork或者vfork,而线程的创建调用pthread_create,进程结束后它拥有的所有线程都将销毁,而线程的结束不会影响同个进程中的其他线程的结束
(4)线程是轻两级的进程,它的创建和销毁所需要的时间比进程小很多,所有操作系统中的执行功能都是创建线程去完成的
(5)线程中执行时一般都要进行同步和互斥,因为他们共享同一进程的所有资源

2.进程之间通信方式

共享内存、管道、优先队列、消息、soket套接字

3. vector接口是线程安全的吗?

这个是完全不会的。其他的不会的我是感觉还能分析分析,这个就真的不会
我觉得是线程不安全的,我设计了一个多线程的简单程序,也不知道能不能说明:

#include <vector>  
#include <iostream>  
#include <Windows.h>  
#include <thread>
#include <tchar.h> 
using namespace std;

vector<int> a;
void my_thread1()
{
    for(int i=0;i<3;++i)
        a.push_back(10);
}
void my_thread2()
{
    for(int i=0;i<2;++i)
        a.pop_back();
}
int _tmain(int argc, _TCHAR * argv[])
{
    thread t(my_thread1);

    thread t1(my_thread2);
    t1.join();
    t.join();
    for(int i=0;i<1;++i)
        cout<<a[i];
    return 0;
}

大家都知道先创线程后写join是没有用的,是没有加锁的,所以我认为这就是一个没额外加锁的多线程。程序运行中崩溃了,是out of range。
我感觉是可以证明是不安全的。如果把t.join放在空白地方,即加了锁就是可以实现相应的功能的。
如果不对的话,请大神教我一下~谢谢

计算机网络

这块都还开始看书。。都不太会。面试官也说我这块答得不太好。

1.四层协议了解吗?

2. TCP/IP有哪些协议?

当时我没反应过来,我以为是问运输层网络层什么的有什么协议。。。
实际上不是:
网络层:IP协议、ICMP协议、ARP协议、RARP协议。
传输层:UDP协议、TCP协议。
应用层:FTP(文件传送协议)、Telenet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3协议(邮局协议),HTTP协议。


其他记不得啦。。

猜你喜欢

转载自blog.csdn.net/wushuomin/article/details/80102423
今日推荐