备战Android实习(计算机基础篇)

这次主要复习计算机网络、操作系统等知识。


1.TCP三次握手和四次挥手?

三次握手:

四次挥手:


2.进程间通信(IPC)有哪几种方式?

  • 管道(pipe)
  • 共享内存(shared memory)
  • 信号量(semaphore)
  • 消息队列(message queue)
  • 队列(queue)

3. TCP和UDP 的区别?

TCP UDP
是否连接 面向连接 面向非连接
重传机制
是否可靠 可靠 不可靠
速度
应用场合 传输大量数据 传输小量数据

4. 滑动窗口算法?

在论坛找到一个很浅显易懂的解释:王道论坛

总结一下:

  • 1.滑动窗口算法是停等算法的改进,是停等算法的一个特殊情况(当接收方的窗口大小为1的时候,滑动窗口算法和停等算法一样。)
  • 在网络丢帧率很小的情况下,滑动窗口算法可以大大缩短等待时间,提高传输效率。
  • 滑动窗口算法的某次传输中,只要有丢帧的情况发生,那么整组数据都要重传。

5. 死锁产生的四个条件?

  1. 资源互斥
  2. 请求并保持
  3. 不可剥夺
  4. 循环等待

6. 操作系统如何进行分页调度?


7. 进程和线程的区别?

  • 进程是资源分配的基本单位。线程是CPU调度,或者说是程序运行的最小单位。
  • 线程之间可以通信。一个进程中可以有多个线程并发执行。

8. Window内存管理方式:段存储,页存储,段页存储?


9. 进程的几种状态?

  1. 新建(new)
  2. 运行(start)
  3. 阻塞(synchronized)
  4. 等待(wait)
  5. 消亡(执行完毕)

10. 什么是虚拟内存?

  • 虚拟内存别称虚拟存储器(Virtual Memory)
  • 电脑中所运行的程序均需经由内存执行,若执行的程序占用内存很大或很多,则会导致内存消耗殆尽。为解决该问题,Windows中运用了虚拟内存 技术,即匀出一部分硬盘空间来充当内存使用。
  • 虽然虚拟内存可以缓解上面的问题,但是计算机从RAM读取数据的速率要比从硬盘读取数据的速率快,因而扩增RAM容量(可加内存条)是最佳选择。

11.虚拟地址、逻辑地址、线性地址、物理地址的区别?

  • 物理地址(physical address)
    用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。
    ——这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地址理解成插在机器上那根内存本身,把内存看成一个从0字节一直到最大空量逐字节的编号的大数组,然后把这个数组叫做物理地址,但是事实上,这只是一个硬件提供给软件的抽像,内存的寻址方式并不是这样。所以,说它是“与地址总线相对应”,是更贴切一些,不过抛开对物理内存寻址方式的考虑,直接把物理地址与物理的内存一一对应,也是可以接受的。也许错误的理解更利于形而上的抽像。

  • 逻辑地址(logical address)
    Intel为了兼容,将远古时代的段式内存管理方式保留了下来。逻辑地址指的是机器语言指令中,用来指定一个操作数或者是一条指令的地址。以上例,我们说的连接器为A分配的0x08111111这个地址就是逻辑地址。
    ——不过不好意思,这样说,好像又违背了Intel中段式管理中,对逻辑地址要求,“一个逻辑地址,是由一个段标识符加上一个指定段内相对地址的偏移量,表示为 [段标识符:段内偏移量],也就是说,上例中那个0x08111111,应该表示为[A的代码段标识符: 0x08111111],这样,才完整一些”

  • 线性地址(linear address)或也叫虚拟地址(virtual address)
    跟逻辑地址类似,它也是一个不真实的地址,如果逻辑地址是对应的硬件平台段式管理转换前地址的话,那么线性地址则对应了硬件页式内存的转换前地址。


12. OSI与TCP/IP各层的结构与功能,都有哪些协议?

OSI七层模型:

备战Android实习(计算机基础篇)_第1张图片

TCP/IP层:

备战Android实习(计算机基础篇)_第2张图片


12. 电脑上访问一个网页,整个过程是怎么样的?

这个大神讲得挺详细的:牛客面经


13. Http的报文结构?

先看一下具体的格式:

备战Android实习(计算机基础篇)_第3张图片

再来看一个实际的Http请求报文:

备战Android实习(计算机基础篇)_第4张图片


14. Http的状态码含义?

HTTP 状态码是用以表示网页服务器HTTP响应状态的3位数字代码

第一个数字代表响应的五种状态之一:

  • 1:代表消息
  • 2:代表成功
  • 3:代表重定向
  • 4:代表请求错误
  • 5:代表服务器错误

1xx:信息

101:Switching Protocols, 服务器讲遵从客户的请求转换到另外一种协议
2xx:成功

200:OK, 请求成功

201:Created, 请求被创建完成,同时新的资源被创建

3xx:重定向

301: Moved Permanently, 锁清秋的页面转移到新的url

4xx:客户端错误

401:Unauthorized, 被请求的页面需要用户名和密码
404:Not Found, 服务器找不到被请求的页面

5xx:服务器错误

501:Not Implemented, 请求未完成,服务器不支持所请求的功能

你可能感兴趣的:(Android)