WEB开发网
开发学院软件开发VC C++和操作系统面试问题分类 阅读

C++和操作系统面试问题分类

 2009-06-05 20:04:28 来源:WEB开发网   
核心提示:inline的使用是有所限制的,inline只适合函数体内代码简单的函数使用,C++和操作系统面试问题分类,不能包含复杂的结构控制语句例如while switch,并且不能内联函数本身不能是直接递归函数(自己内部还调用自己的函数)C++多态实现机制:在C++中,用取余操作做 ——>??20

inline的使用是有所限制的,inline只适合函数体内代码简单的函数使用,不能包含复杂的结构控制语句例如while switch,并且不能内联函数本身不能是直接递归函数(自己内部还调用自己的函数)

C++多态实现机制:在C++中,对于有virtual的类,其sizeof会比正常情况多处4个字节。既在类的最开始四个字节,放的是VTABLE表的地址(void *类型)。而在VTABLE中,所有虚函数是以指针数组的形式存放。 对于派生的类,即时没有重载基类的虚函数,也会在其VTABLE占用一格。造成空间上的浪费。非虚基类没有VTABLE,VTABLE是在构造的时候编译器生成的。

线程和进程:进程是操作系统资源分配的最小单位,线程是CPU运行的最小单位。linux中,使用的是用户线程(对应核心线程:线程管理由内核实现),而且是1:1形式,既每一个线程,都对应内核中的一个轻量级进程,调度由内核实现,但是线程的管理(比如产生和结束),均有一个管理线程实现。管理线程在第一次调用pthread_create的时候生成。

软件开发流程:

需求分析和项目计划:可行性计划,项目计划,需求分析,测试计划

软件设计说明书:功能设计说明书,实现设计说明书

使用手册

测试报告

项目总结

C++继承机制:

n类成员的访问控制方式

public:类本身、派生类和其它类均可访问;

protected:类本身和派生类均可访问,其它类不能访问;

private(默认):类本身可访问,派生类和其它类不能访问。

继承成员的访问控制规则

——由父类成员的访问控制方式和继承访问控制方式共同决定

private+public(protectd,private)=>不可访问

pubic(protected)+public=>public(protected)

public(protected)+protected=>protected

public(protected)+private(默认)=>private

C++中的模板和virtual异同? ==>?

private继承和public继承区别? ==>?

6. static有什么用途?(请至少说明两种)

1.限制变量的作用域

2.设置变量的存储域

7. 引用与指针有什么区别?

1) 引用必须被初始化,指针不必。

2) 引用初始化以后不能被改变,指针可以改变所指的对象。

3) 不存在指向空值的引用,但是存在指向空值的指针。

8. 描述实时系统的基本特性

在特定时间内完成特定的任务,实时性与可靠性

9. 全局变量和局部变量在内存中是否有区别?如果有,是什么区别?

全局变量储存在静态数据区,局部变量在堆栈

10. 什么是平衡二叉树?

左右子树都是平衡二叉树 且左右子树的深度差值的绝对值不大于1

11. 堆栈溢出一般是由什么原因导致的?

没有回收垃圾资源

12. 什么函数不能声明为虚函数?

constructor ==>C++中的类的构造函数声明

13. 冒泡排序算法的时间复杂度是什么?

O(n^2)

14. 写出float x 与“零值”比较的if语句。

if(x>0.000001&&x<-0.000001)

16. Internet采用哪种网络协议?该协议的主要层次结构?

tcp/ip 应用层/传输层/网络层/数据链路层/物理层

17. Internet物理地址和IP地址转换采用什么协议?

ARP (Address Resolution Protocol)(地址解析协议)

18.IP地址的编码分为哪俩部分?

IP地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。

19.用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。

循环链表,用取余操作做 ——>??

20.不能做switch()的参数类型是:

SWITH(表达式),表达式可以是整型、字符型以及枚举类型等表达式。

switch的参数不能为实型。

Tags:操作系统 面试 问题

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接