2024.2.28 网络

思维导图

整理面试题

1、什么是回调函数

答:将函数作为参数传到另一个函数里面,当那个函数执行完之后,再执行传进去的这个函数。这个过程就叫做回调。

2、结构体和共用体的区别

答:结构体的每个成员都会分配内存,大小又各个成员的内存之和但要满足字节对齐原则

共用体的内存以占字节数最大的成员为主

3、赋值与初始化有什么不同

答:初始化是从无到有的过程,先分配空间,然后再填充数据;赋值是对己有的对象进行操作。
对于基本数据类型,二者是没有任何区别,对于非基本数据类型,在写法与效率上有许多不同。

4、局部变量和全局变量能否重名

答:能,局部会屏蔽全局。要用全局变量,需要使用"::",局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体

5、形参和实参有什么区别

答:形参(Formal Parameter)是函数定义时声明的参数,它是函数内部的局部变量。形参在函数定义时指定了参数的类型和名称,用于接收函数调用时传递的实参的值。

实参(Actual Argument)是函数调用时传递给函数的值或变量。实参可以是常量、变量、表达式或者其他函数的返回值。实参的值会被传递给对应的形参,从而在函数内部进行处理。

形参和实参之间的区别主要有以下几点:

1>定义位置:形参是在函数定义时声明的,位于函数的参数列表中;实参是在函数调用时传递的,位于函数名后面的括号中。
2>数据类型:形参可以指定具体的数据类型,用于接收相应类型的实参;实参可以是任意合法的表达式或变量。
3>值传递:实参的值会被传递给对应的形参,形成一次值传递。在函数内部对形参进行修改不会影响到实参的值。

4>作用范围:形参只在函数内部有效,超出函数范围后就无法访问;实参在函数调用时生效,可以在函数内部使用。

6、数组与指针的区别是什么

答:指针的大小是固定的,数组的大小是根据申请时数据类型和元素个数决定的

数组名表示的是首元素地址,从功能上等同于一个地址,数组是构造数据类型,指针是指针类型

7、void指针就是空指针吗?它有什么作用?

答:空指针是(void*)0,void指针是万能指针,可以执行任意类型的地址

void的指针不能直接解引用,必须先转换为具体的指针后再使用

8、简述快速排序的思想

答:快速排序是一种常用的排序算法,它的基思想是通过一趟排序将待排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列的目的。

具体的快速排序算法步骤如下:

1.>选择一个基准元素(通常选择第一个元素)。
2.>将序列中所有比基准元素小的元素移到基准元素的左边,将序列中所有比基准元素大的元素移到基准元素的右边。
3.>对基准元素的左右两个子序列重复步骤1和步骤2,直到每个子序列只有一个元素。

快速排序的关键在于划分操作,即如何将序列中的元素按照基准元素进行划分。常用的划分方法是使用双指针法,即设置一个左指针和一个右指针,左指针从序列的左边开始向右移动,右指针从序列的右边开始向左移动,当左指针指向的元素大于基准元素且右指针指向的元素小于基准元素时,交换左右指针指向的元素,直到左指针和右指针相遇,此时将基准元素与左指针指向的元素进行交换。

快速排序的时间复杂度为O(nlogn),其中n为待排序序列的长度。它是一种原地排序算法,不需要额外的存储空间。

9、什么是野指针?怎么避免野指针?

答:野指针即非法访问

①未初始化的指针②释放堆区空间后,指针没有指向NULL③越界访问数组的指针④指向一个空间后,空间被释放的指针

避免野指针:①初始化指针②防止指针越界访问数组③防止指针指向一个被释放的空间④使用指针之前检查有效性

10、网络7层体系结构

答:①物理层②数据链路层③网络层④传输层⑤会话层⑥表示层⑦应用层

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/708241.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

加密与安全_深入了解哈希算法

文章目录 Pre概述哈希碰撞常用的哈希算法Codejava.security.MessageDigestMD5SHA-1SHA-256MessageDigest支持算法 哈希算法的用途彩虹表攻击基本原理攻击过程 防御彩虹表攻击基本原理用途 小结 Pre PKI - 01 散列(Hash)函数 概述 哈希算法(Hash)又称摘…

c# 异常处理

异常类 .NET Framework 类库中的所有异常都派生于 Exception 类,异常包括系统异常和应用异常。 默认所有系统异常派生于 System.SystemException,所有的应用程序异常派生于 System.ApplicationException。 系统异常一般不可预测,比如内存堆…

python中版本,操作系统等问题汇总

1. linux源码部署到windows 1.1ModuleNotFoundError: No module named pwd 这个问题&#xff0c;是因为源码是给linux的。这里在windows中&#xff0c;没有该命令。 解决方法之一&#xff0c;在相应的环境目录中&#xff0c;如图中<MetaGPTenv>虚拟环境中&#xff0c;在…

nginx(三)实现反向代理客户端 IP透传

正常情况下&#xff0c;客户端去访问代理服务器&#xff0c;然后代理服务器再取访问真实服务器&#xff0c;在真实服务器上&#xff0c;只能显示代理服务器的ip地址&#xff0c;而不显示客户端的ip地址&#xff0c;如果想让客户端的ip地址也能在真实服务端看见&#xff0c;这一…

Excel数据表定制分组排序

实例需求&#xff1a;某学校体育活动统计表如下图左侧表格所示&#xff0c;数据按照班级排列&#xff0c;现在需要根据如下规格对表格进行排序 “幼儿”班级排列在表格最后按照“次数”降序排列“幼儿”班级同样按“次数”降序排列 排序结果如下图中右侧表格所示。 示例代码…

基于springboot+vue的保险信息网站(源码+论文)

文章目录 文章目录 前言 一、功能设计 二、功能实现 2.1 前台功能设计 2.1.1 网站首页 2.1.2 保险产品列表 2.1.3 留言板界面 2.1.4 产品查询界面 2.2后台管理设计 2.2.1 系统用户登录管理 三、库表设计 四、论文 前言 随着互联网的不断发展&#xff0c;现在人们获…

mybatis基础操作(二)

事务管理 获取sqlSession时&#xff0c;默认开启事务&#xff0c;SqlSessionFactory类实例在调用openSession时不设置或者设置为false&#xff0c;此情况下&#xff0c;操作完成后&#xff0c;需要手动提交。 手动提交与回滚事务 public void insertStudent() {// 会话链接S…

Apache Bench(ab )压力测试

目录 参数说明示例1&#xff1a;压力测试示例2&#xff1a;测试post接口post数据文件该如何编写&#xff1f; apr_pollset_poll: The timeout specified has expired (70007)apr_socket_recv: Connection reset by peer (104)参考 参数说明 官方文档参考这里。 ab -c 100 -n …

解决vscode内置视图npm脚本操作报权限问题

项目背景 当我们使用 vscode 运行NPM脚本时却爆红了&#xff0c;提示系统上禁止运行脚本。 解决思路 竟然提示权限不够&#xff0c;那么咱们就从系统权限出发&#xff0c;vscode右键以管理员身份运行 在集成终端中输入一下命令 # get-executionpolicy是PowerShell中的命令,用…

人工智能水印技术入门:工具与技巧

近几个月来&#xff0c;我们看到了多起关于“深度伪造 (deepfakes)”或人工智能生成内容的新闻报道&#xff1a;从 泰勒斯威夫特的图片、汤姆汉克斯的视频 到 美国总统乔拜登的录音。这些深度伪造内容被用于各种目的&#xff0c;如销售产品、未经授权操纵人物形象、钓鱼获取私人…

学不动系列-eslint

ESLint 介绍在最简单的项目使用eslint,包括eslint的vscode插件的使用&#xff0c;自动化格式代码&#xff0c;自动化修复代码&#xff0c;和webpack&#xff0c;vite的配合使用 单独使用 第一步&#xff1a;构建一个空项目 npm init -y 在根目录新建文件./src/app.js&#…

[spark] RDD 编程指南(翻译)

Overview 从高层次来看&#xff0c;每个 Spark 应用程序都包含一个driver program&#xff0c;该程序运行用户的main方法并在集群上执行各种并行操作。 Spark 提供的主要抽象是 resilient distributed dataset&#xff08;RDD)&#xff0c;它是跨集群节点分区的元素集合&…

生成对抗网络

生成对抗网络 GAN 什么是GAN GAN含义&#xff1a;生成对抗网络&#xff08;Generative Adversarial Networks&#xff09;&#xff0c;主要做目标判别&#xff0c;应用在图像分类、语义分割、目标检测。 GAN简述&#xff1a;GAN包括生成器Generator(G)、判别模型Discriminat…

【架构之路】糟糕程序员的20个坏习惯,切记要改掉

文章目录 强烈推荐前言&#xff1a;坏习惯:总结&#xff1a;强烈推荐专栏集锦写在最后 强烈推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站:人工智能 前言&#xff1a; 优秀的程序员…

关于电脑一天24小时多少度电电脑的一天用电量计算

随着这几年物价的上涨&#xff0c;一些地区的电价越来越高&#xff0c;而我们经常需要使用电脑&#xff0c;那么一台电脑一天24小时用多少度电呢&#xff1f; 如何计算电脑一天的用电量&#xff1f; 让我们跟随小编来了解更多吧。 1、功耗、主机箱功耗 现在的计算机中&#xf…

DTD、XML阐述、XML的两种文档类型约束和DTD的使用

目录 ​编辑 一、DTD 什么是DTD&#xff1f; 为什么要使用 DTD&#xff1f; 内部 DTD 声明 具有内部 DTD 的 XML 文档 外部 DTD 声明 引用外部 DTD 的 XML 文档 二、XML 什么是XML&#xff1f; XML 不执行任何操作 XML 和 HTML 之间的区别 XML 不使用预定义的标记…

js 面试 什么是WebSockets?HTTP和HTTPS有什么不同?web worker是什么?

概念&#xff1a; webSocket 是一种在客户端和服务端之间建立持久连接的协议&#xff0c;它提供全双工通信通道&#xff0c;是服务器可以主动向客户端推送数据&#xff0c;同时也可以接受客户端发送的数据。 1 webSocket与https区别&#xff1f; 在网络通信中&#xff0c;We…

SVN教程-SVN的基本使用

SVN&#xff08;Apache Subversion&#xff09;是一款强大的集中式版本控制系统&#xff0c;它在软件开发项目中扮演着至关重要的角色&#xff0c;用于有效地跟踪、记录和管理代码的演变过程。与分布式系统相比&#xff0c;SVN 的集中式架构使得团队能够更加协同地进行开发&…

如何进行写作的刻意练习

写作从来不可能一蹴而就&#xff0c;而是一件需要我们持续坚持、努力的事情。 人如果没有目标就会迷失方向&#xff0c; 既然需要长期的坚持&#xff0c;就需要我们根据自身情况制定每一阶段的目标。 目标的制定要清晰可达&#xff0c;不能模棱两可&#xff0c;要认证对待。 …

基于springboot+vue的二手手机管理系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…