《2022年面试知识操作系统计算机网络设计模式编程,数据结构总结.docx》由会员分享,可在线阅读,更多相关《2022年面试知识操作系统计算机网络设计模式编程,数据结构总结.docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品_精品资料_ 综合面试 牛人整理共享的面试学问:操作系统、运算机网络、设计模式、Linux 编程,数据结构总结分类: 面试预备 2022-07-29 10:01 946 人阅读 评论 0 保藏 举报基础篇:操作系统、运算机网络、设计模式一:操作系统1. 进程的有哪几种状态,状态转换图,及导致转换的大事.2. 进程与线程的区分.3. 进程通信的几种方式.4. 线程同步几种方式. 肯定要会写生产者、消费者问题,完全消化懂得5. 线程的实现方式 . 也就是用户线程与内核线程的区分6. 用户态和核心态的区分.7. 用户栈和内核栈的区分.8. 内存池、进程池、线程池.c+程序员必需把握 9. 死锁的
2、概念,导致死锁的缘由.10. 导致死锁的四个必要条件.11. 处理死锁的四个方式.12. 预防死锁的方法、防止死锁的方法.13. 进程调度算法. 周转时间 =程序终止时间- 开头服务时间、 带权周转时间 =周转时间 /要求服务时间 14. Windows 内存治理的方式 块式、页式、段式、段页式.15. 内存连续安排方式采纳的几种算法及各自优劣.16. 动态链接及静态链接 .17. 基本分页、恳求分页储存治理方式.18. 基本分段、恳求分段储存治理方式.19. 分段分页方式的比较各自优缺点.20. 几种页面置换算法,会算所需换页数.LRU用程序如何实现?21. 虚拟内存的定义及实现方式.22.
3、 操作系统的四个特性.23. DMA.24. Spooling.25. 外存安排的几种方式,及各种优劣.二:运算机网络1. 电路交换与分组交换的区分?优劣对比.2. OSI有哪几层,会画出来,知道主要几层的各自作用.3. TCP/IP有哪几层,会画出来,知道全部层数的作用,会列举各层主要的协议名称.4. 硬件 MAC的址的概念及作用.5. ARP协议的用途及算法、在哪一层上会使用arp ?6. CRC冗余校验算法,反码和检验算法.7. 如何实现透亮传输.8. 知道各个层使用的是哪个数据交换设备.(交换机、路由器、网关)9. 路由表的内容.10. 分组转发算法.11. IP 报文的格式,格式的各
4、个字段的含义要懂得.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.
5、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 模式提高篇: W
6、IN32、MFC 与 Linux一: WIN321. Win32 应用程序的基本类型 .2. 创建 win32 窗口程序的几个步骤,及使用到的函数.3. nmake 与 makefile .4. 有哪些字符集?Win32 对于各种字符集如何进行兼容及转换?wchar_t 、TCHAR、TEXT .5. 怎么创建一个子窗口?在哪进行设置?6. 窗口类的分类,如何创建一个应用程序全局窗口类.7. Win32 窗口程序运行机制与掌握台程序的运行机制有何区分.8. Getmessage 函数的作用,与Peekmessage函数的区分.9. 发送 WM_QUIT 消息使程序终止的内部过程.11. Tra
7、nslateMessage 及 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 绘图对象,使用的步骤
8、,及函数.可编辑资料 - - - 欢迎下载精品_精品资料_20. 使用位图的步骤及用到的主要函数.21. 可用于文字绘制的API函数.22. 有模式对话框与无模式对话框的区分,创建步骤.收到的创建消息是什么?23. 子控件和父窗口通过什么进行通信?父窗口在哪里处理子窗口发送的消息?24. 有哪些常见的子控件?静态框、编辑框、按钮、 listbox 、comboBox 、滚动条 25. 什么样的控件支持自绘制?26. 动态库与静态库的区分.27. Win32 里面怎样用静态库?C+程序在引用 c 的静态库时,需要留意什么?28. Win32 里面动态库有哪几种导出方式,有哪几种导入方式?(留意c
9、+的导出方式)29. Win32 里面文件打开和关闭的API.30. Windows 的址空间的划分.31. Windows内存使用的几种方式及相应的函数虚拟内存、堆内存、栈内存.32. Malloc 内部调用 A 函数, A 函数调用 B 函数. A 和 B 分别是什么?33. 内存映射文件的作用.主要函数.34. 创建进程和打开进程用什么函数?有什么区分?35. 创建线程用什么函数?试比较_beginthreadex 、_beginthread和 CreateThread 的区分.36. 关闭线程和关闭进程的函数分别是什么?试比较_endthreadex 、_endthread和 Exit
10、Thread 的区分.36、37 解答:1) 中有很具体的介绍._beginthreadex 是微软的 C/C+运行时库函数, CreateThread 是操作系统的函数. _beginthreadex 通过调用 CreateThread 来实现的,但比 CreateThread 多做了很多工作.留意:如要创建一个新线程,肯定不要使用 CreateThread,而应使用 _beginthreadex.Why.考虑标准 C 运行时库的一些变量和函数,如 errno ,这是一个全局变量.全局变量用于多线程会出什么事,你肯定知道的了.故必需存在一种机制,使得每个线程能够引用它自己的 errno 变量
11、,又不触及另一线程的 errno 变量 ._beginthreadex 就为每个线程安排自己的 tiddata 内存结构. 该结构储存了很多像 errno 这样的变量和函数的值、的址(自己看去吧) .通过线程局部储备将 tiddata 与线程联系起来.具体实现在 Threadex.c 中有.终止线程使用函数 _endthreadex 函数,释放掉线程的 tiddata 数据块.2) 说明一下理论上的区分:CreateThread、 _beginthread 和_beginthreadex 都是用来启动线程的,但大家看到 oldworm 没有供应_beginthread 的方式,缘由简洁, _b
12、eginthread 是_beginthreadex 的功能子集,虽然 _beginthread 内部是调用 _beginthreadex 但他屏蔽了象安全特性这样的功能, 所以 _beginthread 与 CreateThread 不是同等级别, _beginthreadex 和 CreateThread 在功能上完全可替代,我们就来比较一下 _beginthreadex 与CreateThread.CRT的函数库在线程显现之前就已经存在,所以原有的CRT不能真正支持线程,这导致我们在编程的时候有了 CRT库的挑选,在 MSDN 中查阅 CRT的函数时都有:LibrariesLIBC.LI
13、B Single thread static library, retail version LIBCMT.LIB Multithread static library, retail version MSVCRT.LIB Import library for MSVCRT.DLL, retail version 这样的提示;对于线程的支持是后来的事;这也导致了很多CRT 的函数在多线程的情形下必需有特别的支持,不能简洁的使用CreateThread 就OK.大多的 CRT函数都可以在 CreateThread 线程中使用, 看资料说只有signal函数不行以, 会导致进程终可编辑资料 - -
14、 - 欢迎下载精品_精品资料_止;但可以用并不是说没有问题;有些 CRT的函数象 malloc, fopen, _open, strtok, ctime,或 localtime 等函数需要特的的线程局部储备的数据块,这个数据块通常需要在创建线程的时候就建立,假如使用CreateThread,这个数据块就没有建立, 然后会怎样了?在这样的线程中仍是可以使用这些函数而且没有出错,实际上函数发觉这个数据块的指针为空时,会自己建立一个,然后将其与线程联系在一起,这意味着假如你用CreateThread 来创建线程,然后使用这样的函数,会有一块内存在不知不觉中创建,遗憾的是,这些函数并不将其删除,而Cr
15、eateThread 和 ExitThread 也无法知道这件事,于是就会有Memory Leak,在线程频繁启动的软件中比如某些服务器软件 ,迟早会让系统的内存资源耗尽;_beginthreadex 内部也调用 CreateThread和_endthreadex 就对这个内存块做了处理, 所以没有问题; 不会有人有意用 CreateThread 创建然后用 _endthreadex 终止吧, 而且线程的终止最好不要显式的调用终止函数,自然退出最好;谈到 Handle 的问题,_beginthread 的对应函数 _endthread 自动的调用了 CloseHandle,而_beginthr
16、eadex的对应函数 _endthreadex 就没有,所以 CloseHandle 无论如何都是要调用的不过 _endthread 可以帮你执行自己不必写,其他两种就需要自己写; Jeffrey Richter 剧烈举荐尽量不用显式的终止函数,用自然退出的方式,自然退出当然就肯定要自己写CloseHandle37. Waitforsingleobject与 Waitformultiobjects的区分. Waitforsingleobject 的其次个参数为0 表示什么意思.38. 线程局部储备 TLS的意义 ,如何指定一个变量的TLS属性.39. Win32 线程同步供应的方式,及主要函数
17、为什么?40. 供应的同步措施中哪些是内核对象?试比较互斥量和临界区.二: MFC1. MFC 包含哪几类程序?其中 MFC 应用程序又包含哪几类?2. MFC 的中的大多数类都继承自哪个类?3. MFC 主要要用到哪几个类?及其各个类的作用.4. MFC 中有哪 6 类核心机制? Cobject 中封装了哪些机制?5. 在哪个类的什么函数中进行MFC 程序初始化?相当于 main 功能的函数.6. MFC 应用程序的启动机制的实现. (几个步骤及相关函数)7. 窗口的创建及窗口处理函数机制的实现.(几个步骤及相关用到函数)8. 消息映射机制的原理及实现.宏.查找消息处理函数的几个步骤及其函数
18、9. MFC 的消息分类.自注册消息用什么函数进行注册?消息映射宏是什么?10. MFC 菜单、工具栏、状态栏所用的类是什么?11. 怎么定义一个视图窗口?12. 划分窗口使用什么类?划分窗口有哪两类,有什么区分?13. 运行时类信息机制的宏,及原理. CRuntimeClass的内容, isKindOf 实现方法.14. 动态创建 机制的宏,及实现.与运行时类信息在内容添加上的区分?15. 消息的派发会经过哪几个类?一般在哪个类里进行处理?SetActiveView 的作用.16. 单文档、多文档模板类是什么?储存模板类用什么函数?新建模板用什么函数?17. 单文档视图的创建过程及所用到的相
19、关函数.18. MFC 绘图有哪几类 DC?各自的类名,及区分.19. MFC 有哪几类绘图对象?各自的类名.20. MFC 有哪几类数据集合类?CMAP 的底层实现?可编辑资料 - - - 欢迎下载精品_精品资料_21. MFC 的文件类是什么?文件查找类是什么?22. 序列化机制 的宏,怎么使用?执行 和时进行的内部操作及其相应函数.23. MFC 的对话框的种类,各自怎么使用?及相关函数.24. 定义对话框数据交换的步骤,及使用方法,实现原理.25. 通用对话框有哪些,试举例.26. MFC 常用的通用控件有哪些?举出类名.27. MFC 的动态库有哪几种类型?扩展库一般用来做什么?28
20、. MFC 的线程有哪几类?相互有什么区分?各自的创建方法是什么?29. VC环境下可以使用哪几类socket? 其中 MFC 的 socket 类 有哪几种, 各自区分?类名是什么?用什么函数初始化 MFC 的 socket 库.三: Linux 基本命令1. 肯定路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示. 切换目录用什么命令?2. 怎么查看当前进程?怎么执行退出?怎么查看当前路径?3. 怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户id?查看指定帮忙用什么命令?4. Ls 命令执行什么功能?可以带哪些参数,有什么区分?5. 建立软链接 快捷方式 ,以及
21、硬链接的命令.6. 目录创建用什么命令?创建文件用什么命令?复制文件用什么命令?7. 文件权限修改用什么命令?格式是怎么样的?8. 查看文件内容有哪些命令可以使用?9. 随便写文件命令?怎么向屏幕输出带空格的字符串,比如”helloworld ” .10. 终端是哪个文件夹下的哪个文件?黑洞文件是哪个文件夹下的哪个命令?11. 移动文件用哪个命令?改名用哪个命令?12. 复制文件用哪个命令?假如需要连同文件夹一块复制了?如何需要有提示功能了?13. 删除文件用哪个命令?假如需要连目录及目录下文件一块删除了?删除空文件夹用什么命令?14. Linux 下命令有哪几种可使用的通配符?分别代表什么含
22、义.15. 用什么命令对一个文件的内容进行统计?行号、单词数、字节数16. Grep 命令有什么用?如何忽视大小写?如何查找不含该串的行 .17. Linux 中进程有哪几种状态?在ps 显示出来的信息中,分别用什么符号表示的?18. 怎么使一个命令在后台运行.19. 利用 ps 怎么显示全部的进程 . 怎么利用 ps 查看指定进程的信息?20. 哪个命令特的用来查看后台任务.21. 把后台任务调到前台执行使用什么命令.把停下的后台任务在后台执行起来用什么命令.22. 终止进程用什么命令 . 带什么参数 .23. 怎么查看系统支持的全部信号?24. 搜寻文件用什么命令 . 格式是怎么样的 .2
23、5. 查看当前谁在使用该主机用什么命令. 查找自己所在的终端信息用什么命令.26. 使用什么命令查看用过的命令列表.27. 使用什么命令查看磁盘使用空间?闲暇空间了 .28. 使用什么命令查看网络是否连通.29. 使用什么命令查看ip 的址及接口信息?可编辑资料 - - - 欢迎下载精品_精品资料_30. 查看各类环境变量用什么命令.31. 通过什么命令指定命令提示符.32. 查找命令的可执行文件是去哪查找的. 怎么对其进行设置及添加.33. 通过什么命令查找执行命令.34. 怎么对命令进行取别名?四: Linux 编程1. 列举 Linux 内存治理相关的几个函数,各自有什么功能?2. GC
24、C只编译的选项是什么?只进行预处理的选项是什么?在命令行定义宏的选项是什么?3. Linux 静态库的使用, 怎么创建一个静态库?怎么使用一个静态库?静态库文件的后缀名是什么? 静态库的命名规范.4. nm 工具的作用, ldd 工具的作用.5. Linux 动态库的使用, 怎么创建一个动态库?动态库文件的后缀名是什么?怎么使用一个动态库? 动态库的命名规范?系统默认的动态库的查找路径?动态库显示连接所使用的系统库是什么?6. Linux 下 make 与 makefile .用什么参数指定makefile 文件? 什么是默认的makefile 文件.7. 在哪个文件夹下存有进程运行时的全部信
25、息?8. 每个程序默认打开哪三个文件设备?9. 操作文件描述符的读写函数是什么?打开文件描述符以及关闭文件描述符的函数?10. Fcntl 函数主要的几个作用.11. 创建进程的几个函数,及各自区分.12. 父进程先终止,子进程会变为?子进程先终止,子进程会变为?13. 怎么使父进程回收子进程?相关的几个函数.14. 子进程在创建时与父进程的内存资源的复制问题.15. 中断信号、终止信号、定时器信号的宏是什么?16. 在程序中注册信号和发送信号用什么函数.17. 信号的牢靠与不行靠的含义.哪些信号是牢靠的?哪些信号是不行靠的?18. 信号屏蔽用什么函数?SigSuspend 的作用? Sigp
26、ending 的作用?19. 信号处理函数处理信号时是否会被信号中断?20. 最新版本的信号发送与处理函数?与老版本的发送与数据函数有什么区分?21. Linux 下进程有哪些通信方式 IPC?22. TCP服务器编程模型.23. UDP 服务器编程模型.24. TCP编程特点,由于每次不定长数据到达,就一般使用什么选项?25. Selected 模型是什么?相比而言多进程实现方式有什么区分?Selected、epoll 模型、 poll 模型的区分.26. 常用的 socket 选项有哪些?利用哪个函数来设置socket 选项?27. 怎么发送和设置带外 OOB数据?28. Linux 下多
27、线程的库是什么?利用哪个函数创建线程?利用哪个函数强制终止线程?主线程等待子线程终止时使用的函数.29. 线程怎样在被迫退出时能做一些善后处理?以及怎么用linux 特有的方式处理?算法篇:算法与数据结构一:算法1. 算法的几个特点是什么.2. 算法复杂性的定义.大O、 、小 o 分别表示的含义.3. 递归算法的定义、递归算法的两要素.4. 分治算法的思想,经典的分治算法全排列、二分搜寻、归并排序、快速排序、线性时间挑选、最可编辑资料 - - - 欢迎下载精品_精品资料_接近点对问题 .5. 动态规划算法解题框架,动态规划算法的两个要素是什么?备忘录方法是什么?6. 经典的动态规划问题 矩阵连
28、乘问题、最长公共子序列问题、0-1 背包问题 .7. 贪心算法的思想,贪心算法的两个要素.8. 经典的贪心问题 活动支配问题、背包问题、装载问题、哈夫曼编码、单源最短路径、最小生成树问题.9. 回溯法的思想,回溯法中有哪两种典型的模型.10. 经典的回溯算法 n 后问题、 0-1 背包问题、旅行售货商问题.11. 分支限界法思想,有哪两种分支限界法.12. 经典的分支限界算法 0-1 背包问题、旅行售货商问题.二:数据结构1. 数据结构的定义.2. 栈的两个应用:括号匹配和表达式的运算.是怎么应用的?表达式运算用的是哪种表达方式?有什么好处 .3. 字符串匹配算法:朴实的匹配算法、KMP 算法
29、.4. 二叉树前序、中序、后序递归遍历算法.二叉树前序非递归遍历算法.5. 堆,建堆算法,堆的插入和删除算法,堆排序.6. 哈希.哈希函数的有哪些种?余数的取法?处理冲突的方法?闭散列方法有哪些?7. 二叉搜寻树的搜寻、插入、删除.时间复杂度.8. 二叉平稳树的插入结点的原理,有哪几种旋转方式?分别适用于哪种情形.分析二叉平稳树的时间复杂度.9. 红黑树的定义,红黑树的性能分析和与二叉平稳树的比较.10. 图有哪些储存表示.11. 链表插入排序、链表归并排序.12. 常见的有哪几种排序算法,试比较其时间复杂度,以及是否稳固,及各自使用的情形.13. 常用安排排序有哪几种?基数排序的定义,分类及原理.14. 外部排序的过程.15. B 树、 B+树、 Trie 的概念及用途,添加删除结点的原理.可编辑资料 - - - 欢迎下载