面试题练习

OSI的七层网络模型有哪些,每一层有什么作用?

(1)应用层
    负责处理不同应用程序之间的通信,需要满足提供的协议,确保数据发送方和接收方的正确
    应用层提供的协议:
(2)表示层
    负责网络中通信的数据的编码和格式,确保通信过程中数据的正确,数据加密或者解密,保证了数据的安全性等等
(3)会话层
    负责与其他计算机中的应用程序建立、维护或者终止会话

(4)传输层
    负责计算机与计算机之间(端与端)的数据的传输,保证了数据收发的过程
    TCP协议:传输控制协议
    UDP协议:数据报协议
(5)网络层
    网络层,称为网络协议层-----“IP协议”,负责不同网络中的应用程序之间的通信,保证数据的发送方能准确到数据的接收方

(6)数据链路层
    负责的是将网络中的数据转换成物理层能识别的信号(字节类型的数据),还负责设备结点(用MAC地址来进行表示)之间的数据的传输
    主要功能:
        物理寻址,错误重发等等
(7)物理层
    负责底层最原始的数据(比特数据)的传输

TCP/IP的四层网络模型有哪些,每一层有什么作用?

  1. 应用层:提供了用户所需要的各种服务,比如远程登录(TELNET)、文件传输(FTP)以及网页浏览(HTTP)。
  2. 传输层:负责为应用层实体提供端到端的通信功能,确保数据的包顺序传送及数据完整性。在这一层中,主要协议有传输控制协议(TCP)和用户数据报协议(UDP),分别提供可靠的面向连接的服务和不可靠的无连接服务。
  3. 网络层:主要解决数据从源主机到目的主机的传输问题,包括寻址和路径选择等功能。互联网协议(IP)就工作在这一层,它提供了一种不可靠、无连接的数据报传递服务。此层还包括处理差错控制、路由选择等职能。
  4. 网络接口层(数据链路层):也被称为网络访问层,它负责监视数据在主机和网络之间的交换。这一层将网际层收到的IP数据报转换成网络帧,物理地传输到目标地址。它对应于OSI模型中的数据链路层和物理层。

你在做项目的过程中有没有遇到问题?遇到了什么问题?如何解决?之后再次遇到怎么处理?

问题:

在使用scanf()的时候,每次取数组地址的时候,我都会加上&,每次运行时,都报错。

解决:将&去掉

后面写代码时,告诉自己,使用scanf()取数组地址时,不需要加&

什么是大端存储?什么是小端存储?用C语言代码实现数据在内存中的存储是大端存储还是小端存储?               

小端存储:数据的高字节,存储在内存的高地址,数据的低字节,存储在内存的低地址
大端存储:数据的高字节,存储在内存的低地址,数据的低字节,存储在内存的高地址

#include <stdio.h>

int main(int argc, const char *argv[])
{
    int num = 1;  //定义一个整型
    char *ptr = (char *)&num;  //定义一个字符指针,将num的地址强制转换为字符指针类型
    //判断是大端存储还是小端存储
    if (*ptr == 1)
    {
        printf("小端存储");
    } else 
    {
        printf("大端存储");
    }

    return 0;
}

sizeof和strlen有什么区别?

sizeof是一个运算符,用于计算内存中某个对象或类型所占的空间大小

strlen是一个函数,它用来计算以'\0'结尾的字符串的长度,不包括\0

例如,如下代码实现:

#include <stdio.h>
#include <string.h>

int main(int argc, const char *argv[])
{
    char str[100] = "Hello, world!";
    int size = sizeof(str);    // 计算字符串所占用的字节数
    int len = strlen(str);  // 计算字符串的长度

    printf("字节数size = %d\n", size);
    printf("字符串长度len = %d\n", len);

    return 0;
}

相关推荐

  1. 面试练习

    2024-03-12 03:16:02       43 阅读
  2. 100道ajax面试练习题

    2024-03-12 03:16:02       24 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-12 03:16:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-12 03:16:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-12 03:16:02       87 阅读
  4. Python语言-面向对象

    2024-03-12 03:16:02       96 阅读

热门阅读

  1. 力扣爆刷第89天之hot100五连刷31-35

    2024-03-12 03:16:02       43 阅读
  2. 二叉树的先序遍历

    2024-03-12 03:16:02       49 阅读
  3. LeetCode每日一题[c++]-找出字符串的可整除数组

    2024-03-12 03:16:02       40 阅读
  4. linux系统简述docker

    2024-03-12 03:16:02       43 阅读
  5. 优雅应对商业谈判中的软件质疑

    2024-03-12 03:16:02       43 阅读
  6. Nest.js总结

    2024-03-12 03:16:02       43 阅读
  7. explicit关键字详解

    2024-03-12 03:16:02       38 阅读
  8. ms office学习记录10:Excel㈣

    2024-03-12 03:16:02       41 阅读
  9. LeetCode 560 和为K的子数组

    2024-03-12 03:16:02       43 阅读
  10. LeetCode904:水果成篮

    2024-03-12 03:16:02       40 阅读
  11. 【Leetcode】top 100 子串

    2024-03-12 03:16:02       45 阅读
  12. [力扣 Hot100]Day50 二叉树中的最大路径和

    2024-03-12 03:16:02       42 阅读
  13. LaTex 笔记

    2024-03-12 03:16:02       48 阅读
  14. Docker部署的MySQL容器数据备份与导入

    2024-03-12 03:16:02       53 阅读
  15. skynet cluster集群笔记

    2024-03-12 03:16:02       39 阅读