C++研发106面试题总结(五)

C++研发106面试题总结(五)

 

创建进程的步骤?

  (1)申请空的PCB(2)为新进程分配资源(3)初始化PCB(4)将新进程插入就绪队列中 

进程切换发生的原因?处理进程切换的步骤?

  原因:中断发生;更高优先级进程唤醒;进程消耗完了时间片;资源阻塞; 

  步骤:(1)保存处理器的上下文(2)用新状态和其它相关信息更新正在运行进程的PCB(3)将原来的进程移到合适的队列中【就绪,阻塞】(4)选择另外一个执行的进程,更新被选中进程的PCB,将它加载进CPU 

虚函数表是在什么时候确定的?那虚表指针呢?

  编译时确定虚函数表,虚表指针则是运行时 

如何检查内存泄露?如果不通过printf,debug等调试方式和编译器报错提示呢?

  使用GDB调试器 

Int(*f(int,void(*)()))(int,int)是什么意思?

  一个函数,参数为int和指向返回值为void的无参数的函数指针,返回值为一个指向返回值为int,参数为int和int的函数指针 

STL空间配置器如何处理内存的?能说一下它的大概实现方案吗?为什么是8bytes的倍数?

  分为两部分:大于128bytes用malloc直接申请,小于128bytes则使用一个8bytes倍数的数组来进行申请。 

  为8bytes的原因是为了提高效率,同时对于64位的机器而言,地址大小为8bytes 

HTTP 403表示什么?

  权限不够 

静态函数能定义为虚函数吗?为什么?

  不可以,因为虚函数属于对象,不属于类 

静态函数能定义为常函数吗?为什么?

  不可以,因为常函数是操作成员变量的,而静态函数没有成员变量可说 

知道什么是幂等性吗?举个例子?

  其任意多次执行所产生的影响均与一次执行的影响相同。 

当接受方的接受窗口为0时还能接受数据吗?为什么?还能接受什么数据?那怎么处理这些数据呢?

  可以接受。 

  数据:零窗口探测报文;确认报文段;携带紧急数据的报文段 

  可能会被抛弃 

当接受方的返回的接受窗口为0时,发送方会进行什么操作?

  开启计时器,发送零窗口探测报文 

请求页面置换策略有哪些方式?他们的区别是什么?各自有什么算法解决?

  全局和局部; 

  全局:在整个内存空间置换 

  局部:在本进程中进行置换 

  全局:(1)工作集算法(2)缺页率置换算法 

  局部:(1)最优算法(2)FIFO先进先出算法(3)LRU最近最久未使用(4)时钟算法 

系统调用与函数调用的区别?

  (1)一个在用户地址空间执行;一个在内核空间执行 

  (2)一个是过程调用,开销小;一个需要切换用户空间和内核上下文,开销大 

  (3)一般相同;不同系统不同 

对于默认处理的结构体,能用memcmp来进行比较吗?为什么?如果不能,该如何比较?

  不能,因为字节对齐多出来的内存是随机的,必须要一个个成员比较 

C++中有哪些机制可以取代宏?

  Inline,typedef,const 

手写一个有可变参数的函数?

  使用va_list,va_start,va_arg,va_end。 

  也可以用宏定义##__VA_ARGS__,可以针对空参数消除逗号 

可靠信号与不可靠信号的区别?

  一个会丢失,另外一个则会用队列来保存相应的事件 

this指针调用成员变量时,堆栈会发生什么变化?

  将相应的参数从右往左压栈,然后将this指针放到寄存器中 

实现一个shared_ptr类和auto_ptr类?

  Shared_ptr则是引用计数处理,auto_ptr则是权限转移机制 

下面这两个函数在执行过程中有什么区别?

  Int f(string&a); f(“abc”);//报错 

  Int f(const string&a); f(“abc”);//正常 

C++中可以继承string类吗?为什么?

  不可以,因为string不是类 

Char * const *(*next)()是什么?

  next是一个指针,指向一个函数,这个函数返回一个指针,这个指针指向char类型的常量指针 

访问一个网页的过程,计算机发生了什么?

  (1)先找DNS 

  (2)建立TCP连接 

  (3)发送HTTP报文 

  (4)接受HTTP报文 

  (5)浏览器解析显示 

如何判断const所修饰的对象?

  const只修饰其后的【变量】,至于const放在类型前还是类型后并没有区别

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值