面试问题

网络分几层 交换机 路由器属于那一层?

  • 交换机(数据链路层)
    数据交换机(Switch)也叫交换式集线器,是一种工作在OSI第二层(数据链路层,参见“广域网”定义)上的、基于MAC (网卡的介质访问控制地址)识别、能完成封装转发数据包功能的网络设备。
  • 路由器(网络层)
    路由器是一种连接多个网络或网段的网络设备,它能将不同网络或网段之间的数据信息进行“翻译”,以使它们能够相互“读”懂对方的数据,从而构成一个更大的网络。
    路由器有两大典型功能,即数据通道功能和控制功能。数据通道功能包括转发决定、背板转发以及输出链路调度等,一般由特定的硬件来完成;控制功能一般用软件来实现,包括与相邻路由器之间的信息交换、系统配置、系统管理等。

dns是什么?

  • 通俗来说,域名管理系统DNS(Domain Name System)是域名解析服务器的意思.它在互联网的作用是:把域名转换成为网络可以识别的ip地址.比如:我们上网时输入的www.abc.com会自动转换成为61.145.112.141 。

队列和栈的区别

  • 都是线性表(一位数组来实现,顺序存储的),但是栈是先进后出,队列是先进先出。
  • 属性不一样。
    • 栈:容量,指示栈顶位置的下标。
    • 队列:容量,front指针,rear队尾指针。
  • 应用场景

进程和线程的区别

  • 进程是资源分配的基本单位,线程是调度的基本单位。系统会给每一个进程分配资源,但是不会给线程单独分配内存。
  • 进程的个体间是完全独立的,而线程间是彼此依存的。多进程环境中,任何一个进程的终止,不会影响到其他进程。而多线程环境中,父线程终止,全部子线程被迫终止(没有了资源)。而任何一个子线程终止一般不会影响其他线程,除非子线程执行了exit()系统调用。任何一个子线程执行exit(),全部线程同时灭亡。
    • tips:exit()是用来结束一个进程的,不可以用来结束线程,一旦调用,那么进程结束,所有线程结束。
    • 线程结束函数函数:return 和 pthread—exit(),主线程通过pthread_join()来进行回收。
  • 进程短板:通信不方便,切换的开销比较大,但是线程的话实现并发,独立运行,通信起来就比较的方便。

这里写图片描述

进程之间的通信方式

  • ipc
    • posix
    • system v
  • 普通文件

两个栈实现队列


程序变成二进制可执行文件的几个过程

过程 转变 生成文件
预编译 替换宏,展开头文件等工作 .i文件
编译 文本变成汇编程序 .s文件
汇编 汇编文件变成二进制的机器玛 .o文件
链接 多个二进制的机器玛文件链接成为一个二进制可执行文件 a.out文件
阅读更多
上一篇进程通信 —消息队列
下一篇awk
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭