八股文——操作系统

操作系统

C++说白了就是和操作系统打交道,不了解操作系统永远无法发挥C++的优势,因此操作系统在C++开发中尤为重要。

1.讲一下C++内存模型(十分重要,十个面试九个问)

2.什么是内存泄漏?怎么防止?有用过什么检测工具吗?

3.堆和栈的区别

4.假设有一个class A,在函数里执行A a = new A()的话,在哪个区?*(不理解分区容易出错)

5.什么是栈溢出?内存越界又是什么?

6.进程和线程的区别(同样很重要)

7.线程有哪些状态(相互间如何转换要讲清楚)

8.某个进程有两个线程A,B,A如果进入死亡态会影响B吗?如果会的话在什么情况下会?

9.多线程平常使用API还是第三方库,你觉得有什么区别

(我回答一般使用C++11提供的thread库)

10.同步异步阻塞非阻塞分别是什么

11.线程同步方式有哪些?(一般重要)

12.无锁编程了解吗?用什么实现?

13.死锁是什么?四个必要条件?

14.进程间通信能讲一下吗?平常主要用哪个?你在开发中根据什么来选择?

(这题是腾讯的,答得不是很好,因为我基本用的共享内存)

15.僵尸进程和惊群效应是什么?怎么防止惊群效应?

16.C中字符串赋值怎么保证安全?用=号会怎么样?

17.什么是虚拟内存?怎么实现的?

18.不同进程可以通过虚拟内存来指向同一块内存吗?

(小米的面试题,这里我犯病了,这不就是共享内存的原理,我还回答不能,还好面试官提醒了我)

19.分段分页了解吗?简单介绍一下

20.编程题:将一个txt文件中的文字按行读出存入vector(网宿科技一面)

21.中断是什么?

22.时间片了解吗?

23.深拷贝浅拷贝是什么

24.一个C++文件变成可执行文件的过程

25.程序是怎么装入内存的

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值