迪普科技 24秋招面经(23年10月)
想积攒一点阴德 还是写一下面经 希望能对后面的同学有帮助
先说一下本人情况 目前研二 想投24年 678月的实习 正好杭电有现场笔试 但是公司招的是正式秋招 投了技术支持
考了计算机网络相关知识,其实自己感觉答得非常差 很多知识考完研之后忘了 纯纯裸考 但是进面了
当天是在 杭电笔试 在3教2楼 晚上 技术支持考的计网:
1ospf rip协议
2子网划分 类似这样 134.56.24.23 /26 我想划分四个子网 怎么操作 (大致这样 我记不清楚了 错了别喷我 我好多知识点都忘了 抱歉)
3 TFTP 协议的端口号 那几个端口号都去背一背 可能会好一点 DNS端口 等等
4 TCP IP 五层协议 分别是什么 说明他们的作用 (简答题)
5 路由表的作用 (简答题)
6 问了MAC地址
考的都是计算机网络的题目 要好好看一看 才能做 但是不算考的很难 主要考研的知识都忘了不少 就很蛋疼
笔试完了两天之后公司给我发了短信 说是进面了(额 有点意外 本来就是裸考的)
一面(挂了)
后来进了一面之后 面试官跟我说其实我答得算还行 (可能别人也没有准备计算机网络吧)
因为我说了 想投24年 678月的实习 但是他们是正式秋招 没有HC 挂了 也比较合情合理吧
最后 整理一下 迪普的过去问(也不知道靠不靠谱)
1 HTTP协议
2 版本控制工具,迁代码用什么命令
3 网络七层模型讲一下
4 TCP三次握手,四次挥手
5 TCP,HTTP工作在哪一层
6 TCP怎么保证可靠性
7 ARP协议知道吗
8 免费ARP报文干什么用的
9 socket编程
10 TCP协议客户端和服务器端建立连接和断开连接的交互过程
11 MAC地址的位数
12 OSI7层,TCP/IP,TCP UDP区别,TCP长/短连接
13 TCP/IP在哪层
14 Linux的相关命令
15 git的相关命令
16 学过数据结构吗,那说说看(迷茫)
17 数据库操作了解什么
18 三次握手四次挥手
19 tcp和udp的区别
20 为什么tcp更可靠一点
21 主机A和主机B在网络上通信,具体要经过哪些过程,中间又涉及到了哪几层网络模型和协议。
22 讲讲TCP协议簇的工作原理及拥塞控制原理。
23 讲讲DHCP协议内容。
24 以前用过linux系统吗?知道哪些linux命令?具体举个例子说明。
25 讲讲网页请求服务器数据的过程,网络通信是怎么运作的。
PS: 面试我的面试官眼袋很重 估计确实加班有点严重
说是加班十点之后打车费报销
在签到教室 我看到的话 男生有挂的 有进面的 女生可能也有挂的有进面的 但是挂的多一些 我说的是技术岗 不是什么HR岗 文科类的岗位
仅客观描述,无性别歧视!
仅客观描述,无性别歧视!
仅客观描述,无性别歧视!
附上过去问答案 也不一定对 别杠 杠就是你对 !
1 HTTP协议
HTTP协议是一种用于在计算机网络上传输超文本的协议 HTTP协议基于TCP协议,HTTP协议使用请求-响应模型,
客户端发送一个HTTP请求到服务器,服务器则返回一个HTTP响应,HTTP请求由请求行、请求头和请求体组成。
2 版本控制工具,迁代码用什么命令
git clone:将远程代码库的所有文件都下载到本地,包括所有的版本信息。
git pull:从远程获取最新版本并合并到本地。
git push:将本地的修改推送到远程代码库。
git commit:记录当前版本的信息。
git log:查看所有的版本记录。
git diff:查看两个版本之间的差异。
git checkout:切换到不同的分支。
git branch:查看所有的分支信息。
git merge:合并不同的分支。
3 网络七层模型讲一下
网络七层模型是指OSI(Open Systems Interconnection)网络模型,是一种对计算机网络体系的分层概念,它规定了不同层次之间的功能和协议。
OSI网络七层模型从上到下分别是:
应用层。确定通信对象,提供访问网络服务的接口,常见协议有Telnet、FTP、HTTP、SNMP等。
表示层。解密加密,图片解码和编码,数据的解压和压缩等,常见:URL加密,口令加密,图片编解码等。
会话层。负责建立、维护、控制会话单工、半双工、全双工三种通信模式的服务,常见:服务器验证用户登录,断点续传等。
传输层。建立连接,处理数据包错误,数据包次序,常见:TCP,UDP,SPX等。
网络层。负责管理网络地址,定位设备,决定路由,常见:路由器,多层交换机,防火墙等。
数据链路层。将数据分帧并处理流控制,物理地址寻找,重发等,常见:网卡,网桥,二层交换机等。
物理层。网络通信的数据传输介质,有电缆与设备共同构成,常见:中继器,集线器,网线等。
4 TCP三次握手,四次挥手
TCP三次握手。是指建立一个TCP连接时,需要客户端和服务端总共发送3个包,
其过程是:客户端发送一个带有SYN(同步)标志的数据包给服务端;服务端接收成功后,
回传一个带有SYN/ACK(同步/应答)标志的数据包传递确认信息,表示收到了;
客户端再回传一个带有ACK(应答)标志的数据包,表示知道了,握手结束。
TCP四次挥手。是指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开,
其过程是:客户端发送一个FIN(结束)标志的数据包给服务端;
服务端收到后,回传一个带有ACK标志的数据包,表示收到了;
服务端发送一个带有FIN标志的数据包给客户端;
客户端收到后,回传一个带有ACK标志的数据包,表示知道了,挥手结束。
5 TCP,HTTP工作在哪一层
TCP工作在OSI模型的第四层(传输层),HTTP工作在OSI模型的第七层(应用层)。
TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。
在TCP协议中,通信双方需要经过"三次握手"来建立连接,并完成数据传输的全部过程。
HTTP协议是一种应用层协议,也就是TCP/IP协议的应用层协议。HTTP协议使用TCP协议作为传输协议,由客户端发起请求,服务器给予响应。
6 TCP怎么保证可靠性
TCP通过以下方式保证可靠性:
序列号 :TCP传输时将每个字节的数据都进行了编号。
检验和 : TCP将保持它首部和数据的检验和,目的是检测数据在传输过程中的任何变化。
确认应答信号 :TCP传输的过程中,每次接收方收到数据后,都会对传输方进行确认应答。
重发控制 : 如果接收方没有收到确认应答,就会重发数据。
连接管理 : TCP通过三次握手建立连接,通过四次握手断开连接。
窗口控制 : 通过滑动窗口机制调整发送窗口和接收窗口的大小,来控制数据传输。
流量控制 : TCP通过滑动窗口机制实现流量控制。
拥塞控制 : 当网络拥塞时,TCP会减少数据包的发送速率。
7 ARP协议知道吗
ARP协议是地址解析协议(Address Resolution Protocol),是通过解析IP地址得到MAC地址的,是一个在网络协议包中极其重要的网络传输协议。
在局域网通信中,当PC或其它网络设备有数据要发送给另一个主机或设备时,它必须知道对方的IP地址。
但仅有IP地址是不够的,因为IP数据报文必须封装成帧才能通过物理网络发送,
因此发送方PC还必须有接收方的物理地址(MAC地址)才可以,ARP就是实现将对方IP地址解析为MAC地址这个功能的协议.
8 免费ARP报文干什么用的
免费ARP报文主要用来检测IP地址的可用性和部分场景下更新MAC地址表项。
免费ARP报文有以下作用:
起到一个宣告作用。它以广播的形式将数据包发送出去,不需要得到回应,只为了告诉其他计算机自己的IP地址和MAC地址。
用于检测IP地址冲突。当一台主机发送了免费ARP请求报文后,如果收到了ARP响应报文,则说明网络内已经存在使用该IP地址的主机。
用于更新其他主机的ARP缓存表。如果该主机更换了网卡,而其他主机的ARP缓存表仍然保留着原来的MAC地址,
这时可以发送免费的ARP数据包,其他主机收到该数据包后,将更新ARP缓存表,将原来的MAC地址替换为新的MAC地址。
9 socket编程
Socket编程是一种允许不同计算机之间进行网络通信的编程方式。它提供了一种标准的、通用的网络编程接口,使得开发人员可以更容易地创建网络应用程序。
在socket编程中,需要使用套接字(socket)这个概念。
套接字是一种抽象的编程接口,它将底层的网络协议封装起来,为应用程序提供了一个用于网络通信的端点。
套接字由IP地址和端口号组成,用于标识网络上的特定进程或服务。
Socket编程的主要步骤包括:
创建套接字:在应用程序中创建一个套接字对象,用于后续的网络通信。
绑定套接字:为套接字指定一个本地IP地址和端口号,以便与远程主机建立连接。
建立连接:使用套接字对象与远程主机的套接字建立连接。这可以通过调用connect()函数来实现。
发送和接收数据:使用send()和recv()函数来发送和接收数据。这些函数将数据从一个进程发送到另一个进程,或者从另一个进程接收数据。
关闭连接:当通信完成后,使用close()函数关闭套接字连接。
Socket编程具有跨平台的特性,可以在不同的操作系统上使用。
它提供了多种协议层,例如TCP、UDP等,可以根据需要选择不同的协议层来进行通信。
同时,socket编程也支持并发和多线程编程,可以同时处理多个连接请求和数据传输任务。
11 MAC地址的位数
MAC地址的位数是48位。
MAC地址也叫硬件地址,长度是48比特(6字节),由16进制的数字组成,分为前24位和后24位1:
前24位叫做组织唯一标志符(Organizationally Unique Identifier,即OUI),是由IEEE的注册管理机构给不同厂家分配的代码,区分了不同的厂家。
后24位是由厂家自己分配的,称为扩展标识符。同一个厂家生产的网卡中MAC地址后24位是不同的。
通常表示为12个16进制数,每两个16进制数之间用冒号隔开,如:08:00:20:0A:8C:6D就是一个MAC地址
12 TCP UDP区别,
连接方式不同:
TCP是面向连接的,发送方和接收方在发送数据之前,必须通过三次握手建立连接;
UDP是无连接的,一方向另一方发送数据时不需要建立连接,直接发送。
传输质量不同:
TCP是可靠的传输协议,通过添加序号机制、确认机制、超时重传机制、数据校验等来保证传输的可靠性;
UDP是不可靠协议,仅在IP协议的基础上添加了端口和差错检查的功能,由于IP协议是尽最大努力传输,从而导致UDP的不可靠性。
处理方式不同:
TCP协议是面向字节流的,将应用层传递下来的数据仅仅当做无结构的数据流;
UDP协议是面向报文的,发送方对应用程序交下来的报文,在添加首部后就向下交付IP层。
13 TCP长/短连接
TCP长连接和短连接的概念如下:
长连接:指建立SOCKET连接后不管是否使用都保持连接,但安全性较差,常用于P2P通信。
短连接:指建立SOCKET连接后发送后接收完数据后马上断开连接,一般银行都使用短连接,短连接多用于操作频繁,点对点的通讯。
13 TCP/IP包含哪些层
TCP/IP协议并不完全符合OSI的七层参考模型,它采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求,具体如下:
物理层 。用于传输比特流。
网络接口层 。这一层包括了为网络传输介质提供接口的所有硬件设备。
网络层 。IP的责任就是把数据从源传送到目的地,它不负责保证传送可靠性、流控制、包顺序和其它对于主机到主机协议来说很普通的服务。
传输层 。这一层用于提供端到端、可靠传输机制,解决数据包顺序问题,以及控制数据流量等。
14 Linux的相关命令
Linux是一种类Unix的操作系统,其命令行界面提供了大量的命令,下面是一些常用的Linux命令:
ls:显示指定工作目录下的内容,常用参数有-a、-l、-r、-R。
cd:切换工作目录,可用相对路径,也可用绝对路径。
mv:用于文件或目录的改名和移动存放位置,常用参数有-b。
mkdir:创建目录。
cp:复制文件或目录。
find:在指定的目录下查找文件。
tar:备份压缩解压文件。
此外,Linux还提供了众多其他命令,如:
du:查看指定目录或文件的大小。
man:查看命令的手册页。
alias:创建或显示别名。
which:显示可执行程序的位置。
15 git的相关命令
Git是一款分布式版本控制系统,常用于代码协作、版本管理和备份等场景。以下是一些常用的Git命令:
git init:初始化一个新的Git仓库。
git add:将指定文件添加到暂存区。
git commit:提交暂存区中的文件到本地仓库。
git clone:克隆一个远程仓库到本地。
git pull:从远程仓库拉取最新代码到本地。
git push:将本地仓库的代码推送到远程仓库。
git branch:查看所有的分支。
git checkout:切换到指定分支。
git merge:将指定分支合并到当前分支。
git status:查看仓库当前的状态。
git remote add:将本地仓库与远程仓库关联。
git log:查看提交日志。
16 学过数据结构吗,那说说看
数据结构是计算机专业的经典专业课,
数据结构有线性结构和非线性结构,比如顺序表、栈、队列、串、数组、树结构、图结构等。
这些数据结构根据其不同的特点应用在不同的场合,比如树结构常用于操作系统文件系统、搜索引擎等,图结构常用于社交网络、推荐系统等
对应的 堆 小根堆 大根堆等等
数据结构往往会结合算法 选择排序 快速排序
17 数据库操作了解什么
数据库操作是指对数据库执行一系列命令,以实现对数据库的存储、检索、管理、维护和优化等功能的操作1。
数据库操作主要分为以下几类1:
数据定义语言(DDL)。包括CREATE、ALTER、DROP等命令,用于定义或修改表结构。
数据查询语言(DQL)。包括SELECT、JOIN等命令,用于查询表中的数据。
数据操作语言(DML)。包括INSERT、UPDATE、DELETE等命令,用于操作表中的数据。
数据控制语言(DCL)。包括GRANT、REVOKE等命令,用于控制用户对数据的访问权限。
此外,数据库操作还可以包括连接数据库、执行SQL语句、处理查询结果等步骤。
在实际应用中,数据库管理系统(DBMS)提供了图形化界面和命令行界面等多种方式进行数据库操作1。
同时,数据库操作也需要注意数据安全性、完整性等问题,以保障数据库的稳定和可靠。
20 为什么tcp更可靠一点
TCP通过以下方式保证可靠性:
序列号 :TCP传输时将每个字节的数据都进行了编号。
检验和 : TCP将保持它首部和数据的检验和,目的是检测数据在传输过程中的任何变化。
确认应答信号 :TCP传输的过程中,每次接收方收到数据后,都会对传输方进行确认应答。
重发控制 : 如果接收方没有收到确认应答,就会重发数据。
连接管理 : TCP通过三次握手建立连接,通过四次握手断开连接。
窗口控制 : 通过滑动窗口机制调整发送窗口和接收窗口的大小,来控制数据传输。
流量控制 : TCP通过滑动窗口机制实现流量控制。
拥塞控制 : 当网络拥塞时,TCP会减少数据包的发送速率。
21 主机A和主机B在网络上通信,具体要经过哪些过程,中间又涉及到了哪几层网络模型和协议。
主机A和主机B在网络上通信,具体要经过以下过程1:
物理层:主机A和主机B通过网络传输介质(如电缆、光缆、无线信号等)建立物理连接,实现比特流的传输。
数据链路层:主机A和主机B在数据链路层通过使用帧(数据链路层的数据单位)来封装数据,并在网络上传输。
网络层:主机A和主机B在网络层通过使用IP协议(网络层协议)来封装数据,并在网络上传输。
传输层:主机A和主机B在传输层通过使用TCP协议(传输层协议)来封装数据,并在网络上传输。
应用层:主机A和主机B在应用层通过使用应用协议(如HTTP、FTP、SMTP等)来封装数据,并在网络上传输。
中间涉及到的网络模型和协议有:
OSI模型:OSI(Open Systems Interconnection)模型是一个网络通信框架,它将网络通信过程划分为七个层次,
从下到上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
TCP/IP模型:TCP/IP(Transmission Control Protocol/Internet Protocol)模型是一个网络通信协议族,
它包括TCP和IP两个主要的协议。TCP/IP模型从下到上分别是网络接口层、网络层、传输层和应用层。
ARP协议:ARP(Address Resolution Protocol)协议是一种网络协议,它用于将网络层的IP地址解析为数据链路层的MAC地址。
在主机A和主机B通信过程中,ARP协议用于在数据链路层找到主机B的MAC地址。
ICMP协议:ICMP(Internet Control Message Protocol)协议是一种网络协议,它用于在网络层传递控制消息。
在主机A和主机B通信过程中,ICMP协议可以用于检测网络连接状态、获取网络诊断信息等。
HTTP协议:HTTP(Hypertext Transfer Protocol)协议是一种应用层协议,它用于在网络上传输超文本(例如网页)。
在主机A和主机B通信过程中,HTTP协议可以用于在应用层进行网页浏览、数据交换等操作。
22 讲讲TCP协议簇的工作原理及拥塞控制原理。
工作原理。TCP协议通过将数据划分为多个小的数据包来传输数据。在数据传输之前,发送方和接收方首先建立一个TCP连接。
连接建立后,发送方将数据按照顺序分割为多个数据包,并为每个数据包分配一个序号。发送方将这些数据包发送到网络中,
而接收方通过确认应答来告知发送方哪些数据已经成功接收。如果发送方没有收到确认应答,
它会重新发送该数据包,确保数据的可靠传输。一旦所有数据包都成功传输并被接收方确认,连接将被关闭
TCP 拥塞控制
慢开始 1 2 4 8 16 会有一个拥塞窗口
加法增大 16 17 18 19 ···· 24 就是拥塞避免 比方说到24了 网络开始拥堵了
乘法减小 24一下变到 12 相当于快恢复 12 相当于是拥塞窗口的值
快重传:用冗余ACK来检测丢包的发生 发送方连续收到三个重复ACK之后,直接重传对方尚未收到的报文段
拥塞控制原理。由于IP层不向端系统提供显式的网络拥塞反馈,所以TCP的拥塞控制必须使用端到端的拥塞控制而不是网络辅助的拥塞控制。
其采用的方法是让每一个发送方根据所感知到的网络拥塞程度来限制其能向连接发送流量的速率。
如果一个TCP发送方感知到从它到目的地之间的路径上没有什么拥塞,则TCP发送方增加其发送速率;
如果发送方感知沿着该路径有拥塞,则发送方就会降低其发送速率。
23 讲讲DHCP协议内容。
DHCP协议内容:DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个应用层的网络协议,主要作用是给网络快速自动地分配IP地址1。
DHCP协议内容要点如下1:
DHCP协议定义:是一个使用UDP协议工作的,被用于局域网的一个网络协议。
DHCP协议作用:减少了管理员的工作量、避免了输入错误的可能、避免了IP地址的冲突、提高了IP地址的利用率、方便客户端的配置。
DHCP工作原理:DHCP客户端启动时,计算机发现本机上没有任何IP地址设定,将以广播方式通过UDP 67端口发送DHCP DISCOVER请求报文,
来寻找DHCP服务器,请求IP地址租约。网络上每一台安装了TCP/IP协议的主机都会接收这个广播信息,但只有DHCP服务器才会做出响应。
24 以前用过linux系统吗?知道哪些linux命令?具体举个例子说明。
ipconfig ping 调试一下网络通不通
top -d 2 每隔两秒刷新一次 查看一下服务器的进程以及对应信息
像我们训练用的双卡服务器 top -d 2输入进去就能看到谁用了多少内容在训练 比方看到他用python
那么就是在做深度学习相关的训练
nvidia-smi
查看显卡的一个基本情况
GPU占用率高不高啊 之类的
用过Linux系统,知道很多Linux命令,比如安装和登录命令、文件处理命令、系统管理相关命令、网络操作命令、系统安全相关命令等。
Linux常用基本命令有多种场合用到,
比如查看硬件信息相关命令就有8个,分别是ifconfig、free、fdisk、ethtool、mii-tool、dmidecode、dmesg、lspci,
用于系统性能监视高级命令有uptime、top、free、vmstat、mpstat、iostat、sar、chkconfig,
用于内存的命令是top、free、vmstat、mpstat、iostat、sar等。还有著名的删除文件命令,Linux系统下删除文件可以用rm命令来操作即可。
rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。
25 讲讲网页请求服务器数据的过程,网络通信是怎么运作的。
网页请求服务器数据的过程如下1:
DNS解析:浏览器首先会查询域名系统服务器(DNS),以获取想要访问的网站的IP地址。如果IP地址存在于本地DNS缓存中,则返回结果;否则,浏览器会向其他DNS服务器查询。
TCP连接:一旦浏览器知道了目标服务器的IP地址,它将通过TCP协议建立一个与服务器的连接。这个过程包括“三次握手”,即客户端发送一个SYN请求报文,服务器回复ACK确认报文,最后客户端再回复一个ACK确认报文,完成TCP连接。
HTTP请求:一旦TCP连接建立,浏览器会向服务器发送HTTP请求报文,其中包含了需要的信息,比如要访问的页面、请求类型等。
服务器响应:服务器接收到浏览器的请求后,会处理请求,并将响应发送回浏览器。响应报文包含了HTTP状态码、响应头和响应正文。
浏览器渲染:一旦浏览器接收到服务器的响应,它就会开始渲染页面,并将其呈现给用户。
#秋招##实习##迪普科技#