C++ 网络编程 数据结构 面试题罗列

5 篇文章 0 订阅

在这里有我自己的面试问题,还有网上收集的。
1. connect方法会阻塞,请问有什么方法可以避免其长时间阻塞?
2. 网络中,如果客户端突然掉线或者重启,服务器端怎么样才能立刻知道?
3. 在子网210.27.48.21/30种有多少个可用地址?分别是什么?
4. TTL是什么?有什么用处,通常那些工具会用到它?(ping? traceroute? ifconfig? netstat?)
5. 路由表示做什么用的?在linux环境中怎么来配置一条默认路由?
6. 在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排除故障?
7. 网络编程中设计并发服务器,使用多进程 与 多线程 ,请问有什么区别?
8. C++中一个类的大小如何确定?
9. 虚函数机制?
10. Linux下的一个文件 /proc 这个目录是存放什么的?如何查看当前跑的进程的最大数量?如果查看当前所打开的文件的数量?如何查看当前所建立的连接?统计当前建立的连接的数量?
11. 进程和线程之间的区别?什么是“线程安全”?
12. 操作系统中 什么是临界区?什么是临界资源? 举例说明!
13. 同步通信与异步通信区别?
14. TCP协议的作用?三次握手是通过什么方法来保证通信双方确认的正确?
15. 操作系统执行可执行程序时,内存分配是怎样的?
16. 引用和多态的区别?
17. 堆和栈的区别?
18. 进程之间通信的方式有哪些?
19. 面向对象的三个特征,分别有什么作用?
20. 如何判断一棵树是平衡二叉树?
21. sizeof在计算变量所占空间大小时采取的机制?
22. 结构体struct和联合体union的区别?
23. 目前效率最好的内部排序是什么?
24. tcp三次握手的过程,accept发生在三次握手哪个阶段?
25. Tcp流, udp的数据报,之间有什么区别,为什么TCP要叫做数据流?
26. const的含义及实现机制,比如:const int i,是怎么做到i只可读的?
27. valitale的含义
28. 流量控制与拥塞控制的区别,节点计算机怎样感知网络拥塞了?
29. 共享内存的使用实现原理(必考必问,然后共享内存段被映射进进程空间之后,存在于进程空间的什么位置?共享内存段最大限制是多少?)
30. cpu 内存 硬盘 等等与系统性能调试相关的命令必须熟练掌握,设置修改权限 tcp网络状态查看 各进程状态 抓包相关等相关命令 必须熟练掌握
31. c++进程内存空间分布(注意各部分的内存地址谁高谁低,注意栈从高道低分配,堆从低到高分配)
32. ELF是什么?其大小与程序中全局变量的是否初始化有什么关系(注意.bss段)
33. 使用过哪些进程间通讯机制,并详细说明(重点)
34. 如何定位内存泄露?
35. 动态链接和静态链接的区别?
36. 32位系统一个进程最多多少堆内存?
37. 多线程和多进程的区别(重点 面试官最最关心的一个问题,必须从cpu调度,上下文切换,数据共享,多核cup利用率,资源占用,等等各方面回答,然后有一个问题必须会被问到:哪些东西是一个线程私有的?答案中必须包含寄存器,否则悲催)
38. 写一个c程序辨别系统是64位 or 32位
39. 写一个c程序辨别系统是大端or小端字节序
40. 信号:列出常见的信号,信号怎么处理?
41. i++是否原子操作?并解释为什么???????
42. 说出你所知道的各类linux系统的各类同步机制(重点),什么是死锁?如何避免死锁(每个技术面试官必问)
43. linux系统的各类异步机制
44. exit() _exit()的区别?
45. 如何实现守护进程?
46. linux的内存管理机制是什么?
47. linux的任务调度机制是什么?
48. 标准库函数和系统调用的区别?
49. 系统如何将一个信号通知到进程?
50. 哪些库函数属于高危函数,为什么?
51. sizeof一个类求大小
52. 指针和引用的区别?
53. 多重类构造和析构的顺序?
54. stl各容器的实现原理?
55. extern c 是干啥的,(必须将编译器的函数名修饰的机制解答的很透彻)
56. volatile是干啥用的,(必须将cpu的寄存器缓存机制回答的很透彻)
57. tcp与udp的区别?
58. udp调用connect有什么作用?
59. tcp连接中时序图,状态图,必须非常非常熟练
60. socket服务端的实现,select和epoll的区别(必问)?
61. epoll哪些触发模式,有啥区别?(必须非常详尽的解释水平触发和边缘触发的区别,以及边缘触发在编程中要做哪些更多的确认)
62. tcp结束连接怎么握手,time_wait状态是什么,为什么会有time_wait状态?哪一方会有time_wait状态,如何避免time_wait状态占用资源(必须回答的详细)
63. tcp头多少字节?哪些字段?(必问)
64. 什么是滑动窗口(必问)
65. connect会阻塞,怎么解决?(必考必问,提示:设置非阻塞,返回之后用select检测状态)
66. 如果select返回可读,结果只读到0字节,什么情况?
67. keepalive 是什么东东?如何使用?
68. 列举你所知道的tcp选项,并说明其作用。
69. socket什么情况下可读?

  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值