现在的位置: 首页 > 综合 > 正文

[综合面试] 牛人整理分享的面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结

2013年12月11日 ⁄ 综合 ⁄ 共 3529字 ⁄ 字号 评论关闭

感谢面试群 S-北京-陈磊 的整理分享。

基础篇:操作系统、计算机网络、设计模式

一:操作系统

1. 进程的有哪几种状态,状态转换图,及导致转换的事件。

2. 进程与线程的区别。

3. 进程通信的几种方式。

4. 线程同步几种方式。(一定要会写生产者、消费者问题,完全消化理解)

5. 线程的实现方式. (也就是用户线程与内核线程的区别)

6. 用户态和核心态的区别。

7. 用户栈和内核栈的区别。

8. 内存池、进程池、线程池。(c++程序员必须掌握)

9. 死锁的概念,导致死锁的原因.

10. 导致死锁的四个必要条件。

11. 处理死锁的四个方式。

12. 预防死锁的方法、避免死锁的方法。

13. 进程调度算法。(周转时间 =  程序结束时间 -- 开始服务时间、带权周转时间=  周转时间 /  要求服务时间)

14. Windows内存管理的方式(块式、页式、段式、段页式).

15. 内存连续分配方式采用的几种算法及各自优劣。

16. 动态链接及静态链接.

17. 基本分页、请求分页储存管理方式。

18. 基本分段、请求分段储存管理方式。

19. 分段分页方式的比较各自优缺点。

20. 几种页面置换算法,会算所需换页数。(LRU用程序如何实现?)

21. 虚拟内存的定义及实现方式。

22. 操作系统的四个特性。

23. DMA。

24. Spooling。

25. 外存分配的几种方式,及各种优劣。

二:计算机网络

1. 电路交换与分组交换的区别?优劣对比。

2. OSI有哪几层,会画出来,知道主要几层的各自作用。

3. TCP/IP有哪几层,会画出来,知道所有层数的作用,会列举各层主要的协议名称。

4. 硬件(MAC)地址的概念及作用。

5. ARP协议的用途 及算法、在哪一层上会使用arp ?

6. CRC冗余校验算法,反码和检验算法。

7. 如何实现透明传输。

8. 知道各个层使用的是哪个数据交换设备。(交换机、路由器、网关)

9. 路由表的内容。

10. 分组转发算法。

11. IP报文的格式,格式的各个字段的含义要理解。

12.MTU的概念,啥叫路径MTU? MTU发现机制,TraceRoute(了解)。

13.RIP协议的概念及算法。

14.ICMP协议的主要功能。

15.组播和广播的概念,IGMP的用途。(环回地址、广播地址)

16.Ping协议的实现原理,ping 命令格式。

17. 子网划分的概念,子网掩码。

18. IP地址的分类,如何划分的,及会计算各类地址支持的主机数。

19.DNS的概念,用途,DNS查询的实现算法。

20. TCP与UDP的概念,相互的区别及优劣。

21.UDP报文的格式,字段的意义。

22. TCP 报文的格式,字段的意义。

23.TCP通过哪些措施,保证传输可靠?

24. 三次握手,四次断开过程。

25. TIME_WAIT状态的概念及意义。

26.滑动窗口协议 与停止等待协议的区别。

27. TCP的流量控制和拥塞控制实现原理(会画拥塞控制的典型图)。

28.TCP的快速重传与快速恢复算法。

29.TFTP 与 FTP的区别。

30.阻塞方式和非阻塞方式,阻塞connect与非阻塞connect。(比较难,有兴趣可以了解)

31. HTTP基本格式。(java程序员必须掌握)

三:设计模式

1. 各种常用模式的用途,使用方法(类图)。

2. 单例模式的双重检查实现。

3. MVC模式


提高篇:WIN32、MFC与Linux


一: WIN32

1. Win32应用程序的基本类型.

2. 创建win32窗口程序的几个步骤,及使用到的函数。

3. nmake 与 makefile。

4. 有哪些字符集? Win32对于各种字符集如何进行兼容及转换? (wchar_t、TCHAR、TEXT() )。

5. 怎么创建一个子窗口?在哪进行设置?

6. 窗口类的分类,如何创建一个应用程序全局窗口类。

7. Win32窗口程序运行机制与控制台程序的运行机制有何区别?

8. Getmessage函数的作用,与Peekmessage函数的区别。

9. 发送WM_QUIT消息使程序终止的内部过程。

11. TranslateMessage及 DispatchMessage的作用。

12. SendMessage与PostMessage的区别。

13. Win32消息机制获取消息的过程(先查看什么消息?再查看什么消息?)

14. 知道有哪几类主要的消息。(WM_CREATE, WM_DESTROY, WM_SIZE, WM_SYSCOMMAND,  WM_COMMAND,  WM_PAINT,  鼠标消息, 键盘消息)。

15. 定时器如何使用。

16. 用户自定义消息如何定义。

17. 创建菜单、设置菜单的函数,在哪处理菜单命令的消息。

18. 加速键如何使用?

19. GDI绘图对象,使用的步骤,及函数。

20. 使用位图的步骤及用到的主要函数。

21. 可用于文字绘制的API函数。

22. 有模式对话框与无模式对话框的区别,创建步骤。收到的创建消息是什么?

23. 子控件和父窗口通过什么进行通信? 父窗口在哪里处理子窗口发送的消息?

24. 有哪些常见的子控件?(静态框、编辑框、按钮、listbox、comboBox、滚动条)25.
什么样的控件支持自绘制?

26. 动态库与静态库的区别。

27. Win32里面怎样用静态库? C++程序在引用c的静态库时,需要注意什么?

28. Win32里面动态库有哪几种导出方式,有哪几种导入方式?(注意c++的导出方式)

29. Win32里面文件打开和关闭的API。

30. Windows地址空间的划分。

31. Windows 内存使用的几种方式及相应的函数(虚拟内存、堆内存、栈内存)。

32. Malloc内部调用A函数,A函数调用B函数。A和B分别是什么?

33. 内存映射文件的作用。主要函数。

34. 创建进程和打开进程用什么函数? 有什么区别?

35. 创建线程用什么函数?

36. Waitforsingleobject与Waitformultiobjects的区别。Waitforsingleobject的第二个参数为0表示什么意思?37.
关闭线程和关闭进程的函数分别是什么?

38. 线程局部存储(TLS)的意义,如何指定一个变量的TLS属性。

39. Win32线程同步提供的方式,及主要函数为什么?

40. 提供的同步措施中哪些是内核对象? 试比较互斥量和临界区。

二:MFC

1. MFC包含哪几类程序? 其中MFC应用程序又包含哪几类?

2. MFC的中的大多数类都继承自哪个类?

3. MFC主要要用到哪几个类?及其各个类的作用。

4. MFC中有哪6类核心机制?Cobject中封装了哪些机制?

5. 在哪个类的什么函数中进行MFC程序初始化? 相当于main功能的函数。

6. MFC应用程序的启动机制的实现。(几个步骤及相关函数)

7. 窗口的创建及窗口处理函数机制的实现。(几个步骤及相关用到函数)

8. 消息映射机制的原理及实现。宏。(查找消息处理函数的几个步骤及其函数)

9. MFC的消息分类。自注册消息用什么函数进行注册?消息映射宏是什么?

10. MFC菜单、工具栏、状态栏所用的类是什么?

11. 怎么定义一个视图窗口?

12. 划分窗口使用什么类? 划分窗口有哪两类,有什么区别?

13. 运行时类信息 机制的宏,及原理。CRuntimeClass的内容,isKindOf实现方法。

14. 动态创建 机制的宏,及实现。与运行时类信息在内容添加上的区别?

15. 消息的派发会经过哪几个类?一般在哪个类里进行处理?SetActiveView的作用。

16. 单文档、多文档模板类是什么? 保存模板类用什么函数?新建模板用什么函数?

17. 单文档视图的创建过程及所用到的相关函数。

18. MFC绘图有哪几类DC?各自的类名,及区别。

19. MFC有哪几类绘图对象?各自的类名。

20. MFC有哪几类数据集合类?CMAP的底层实现?

21. MFC的文件类是什么?文件查找类是什么?

22. 序列化机制 的宏,怎么使用? 执行>>和<<时进行的内部操作及其相应函数。

23. MFC的对话框的种类,各自怎么使用?及相关函数。

24. 定义对话框数据交换的步骤,及使用方法,实现原理。

25. 通用对话框有哪些,试举例。

26. MFC常用的通用控件有哪些?举出类名。

27. MFC的动态库有哪几种类型?扩展库一般用来做什么?

28. MFC的线程有哪几类? 相互有什么区别?各自的创建方法是什么?

29. VC环境下可以使用哪几类socket? 其中MFC的socket类 有哪几种,各自区别?类名是什么?用什么函数初始化MFC的socket库。




三:Linux基本命令

1. 绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令?

2. 怎么查看当前进程?怎么执行退出?怎么查看当前路径?

3. 怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户id?查看指定帮助用什么命令?

抱歉!评论已关闭.