【面试题】BD

时间:2022-02-01 05:52:26

一面:

自我介绍,简单介绍项目;

/***********发现项目没什么可问的,然后开始各种基础知识o(╯□╰)o************/

内存结构,低地址,高地址;

STL底层实现,set是否有序;

多态在什么情况下触发----(基类调用虚函数);

C++类型转换(4种);

链表的转置;

二叉树的按层输出,输出某指定层;

Malloc与new区别;

特征

new/delete

malloc/free

分配内存的位置

*存储区

内存分配成功的返回值

完整类型指针

void*

内存分配失败的返回值

默认抛出异常

返回NULL

分配内存的大小

由编译器根据类型计算得出

必须显式指定字节数

处理数组

有处理数组的new版本new[]

需要用户计算数组的大小后进行内存分配

已分配内存的扩充

无法直观地处理

使用realloc简单完成

是否相互调用

可以,看具体的operator new/delete实现

不可调用new

分配内存时内存不足

客户能够指定处理函数或重新制定分配器

无法通过用户代码进行处理

函数重载

允许

不允许

构造函数与析构函数

调用

不调用

Struct与class的区别;

进程间的通信有哪几种;

管道(Pipe)及有名管道(named pipe)

信号(Signal)

消息队列

共享内存

信号量(semaphore)

套接口(Socket)

sockect服务器,客户端到服务器的过程;

排序有哪些,堆排序怎么实现,快排怎么实现,哪些排序稳定;

空结构体的大小;

除项目之外,自己动手写的一些东西,自己在学习的东西;

二面:

简单的自我介绍;

10的n次方个数属于(1,10);只遍历一次,确定逆序对的个数;---基数排序

五子棋的状态(五子棋游戏);