咪咕文化科技有限公司3月招聘面试题158道2020326

可用于在不同主机的进程间通信的技术是()

A.管道

B.共享内存

C.消息队列

D.套接字


正确答案:D


●Socket的通信方式包括 (62) , (63) 是最常用的套接字类型。

(62)、(63) A.字节流套接字

B.数据报套接字

C.原始数据报套接字

D.A、B和C


正确答案:D,A
【解析】本题考查的是Socket的通信方式。
使用Socket进行通信的方式有3种。
字节流套接字(stream socket):TCP/IP协议族中的TCP协议使用此类接口,它提供面向连接的(建立虚电路)、无差错的、发送接收顺序一致的、包长度不限和非重复的网络信包传输。
数据报套接字(datagram socket):TCP/IP协议族中的UDP(Liser Datagram Protocd)协议使用此类接口,它是无连接的服务,以独立的包进行网络传输,包最大长度为32kB,传输不保证顺序性、可靠性和无重复性,通常用于单个报文传输或可靠性要求不高的场合;
原始数据报套接字:提供对网络下层通信协议(如IP协议)的直接访问,一般不是提供给普通用户的,主要用于开发新的协议或提取协议较隐蔽的功能。其中字节流套接字是最常用的套接字类型。


查看对象内存地址的Python内置函数是__________。


正确答案:id()


简单解释Python基于值的内存管理模式。


正确答案:Python采用的是基于值得内存管理方式,在Python中可以为不同变量赋值为相同值,这个值在内存中只有一份,多个变量指向同一个内存地址;Python具有自动内存管理功能,会自动跟踪内存中所有的值,对于没有任何变量指向的值,Python自动将其删除。


对于Python类中的私有成员,可以通过“对象名._类名__私有成员名”的方式来访问。

此题为判断题(对,错)。


正确答案:√


咪咕文化科技有限公司3月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:如何解释Python?可用的回答 :Python语言是一种解释语言。Python程序直接从源代码运行。它将程序员编写的源代码转换为中间语言,再次转换为必须执行的机器语言。问题 Q2:如何在Python中内存管理?可用的回答 :Python内存由Python私有堆空间管理。 所有Python对象和数据结构都位于私有堆中。 程序员无权访问此私有堆,解释器负责处理此私有堆。 Python对象的Python堆空间分配由Python内存管理器完成。核心API提供了一些程序员编写代码的工具。 Python还有一个内置的垃圾收集器,它可以回收所有未使用的内存并释放内存并使其可用于堆空间。问题 Q3:什么是socket?简述基于tcp协议的套接字通信流程?可用的回答 : 套接字: 也称为BSD套接字,是支持TCP/IP的网络通信的基本操作单元, 可以看做是不同主机之间的进程进行双向通信的端点, 简单的说就是通信的两方的一种约定,用套接字中的相关函数来完成通信过程。 应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题 通信流程: 1. 服务器先用 socket 函数来建立一个套接字,用这个套接字完成通信的监听。 2. 用 bind 函数来绑定一个端口号和 IP 地址。 因为本地计算机可能有多个网址和 IP,每一个 IP 和端口有多个端口。需要指定一个 IP和端口进行监听。 3. 服务器调用 listen 函数,使服务器的这个端口和 IP 处于监听状态,等待客户机的连接。 4. 客户机用 socket 函数建立一个套接字,设定远程 IP 和端口。 5. 客户机调用 connect 函数连接远程计算机指定的端口。 6. 服务器用 accept 函数来接受远程计算机的连接,建立起与客户机之间的通信。 7. 建立连接以后,客户机用 write 函数向 socket 中写入数据。也可以用 read 函数读取服务器发送来的数据。 8. 服务器用 read 函数读取客户机发送来的数据,也可以用 write 函数来发送数据。 9. 完成通信以后, 用 close 函数关闭 socket 连接。 问题 Q4:简述 三次握手、四次挥手的流程?可用的回答 : 三次握手: 初始状态:客户端A和服务器B均处于CLOSED状态,然后服务器B创建socket,调用监听接口使得服务器处于LISTEN状态,等待客户端连接。(后续内容用A,B简称代替) 1、A首先向B发起连接,这时TCP头部中的SYN标识位值为1,然后选定一个初始序号seq=x(一般是随机的), 消息发送后,A进入SYN_SENT状态,SYN=1的报文段不能携带数据,但要消耗一个序号。 2、B收到A的连接请求后,同意建立连接,向A发送确认数据,这时TCP头部中的SYN和ACK标识位值均为1,确认序号为ack=x+1, 然后选定自己的初始序号seq=y(一般是随机的),确认消息发送后, B进 入SYN_RCVD状态,与连接消息一样,这条消息也不能携带数据,同时消耗一个序号。 3、A收到B的确认消息后,需要给B回复确认数据,这时TCP头部中的ACK标识位值为1, 确认序号是ack=y+1,自己的序号在连接请求的序号上加1,也就是seq=x+1, 此时A进入ESTABLISHED状态,当B收到A的确认回复后,B也进入ESTABLISHED状态, 至此TCP成功建立连接,A和B之间就可以通过这个连接互相发送数据了。 四次挥手: 初始状态:客户端A和服务器B之间已经建立了TCP连接,并且数据发送完成,打算断开连接, 此时客户端A和服务器B是等价的,双方都可以发送断开请求,下面以客户端A主动发起断开请求为例。(后续内 容用A,B简称代替) 1、A首先向B发送断开连接消息,这时TCP头部中的FIN标识位值为1,序号是seq=m,m为A前面正常发送数据最后一个字节序号加1得到的, 消息发送后A进入FNI_WAIT_1状态,FIN=1的报文段不能携带数据,但要消耗一个序号。 2、B收到A的断开连接请求需要发出确认消息,这时TCP头部中的ACK标识位值为1,确认号为 ack=m+1, 而自己的序号为seq=n,n为B前面正常发送数据最后一个字节序号加1得到的, 然后B进入 CLOSE_WAIT状态,此时就关闭了A到B的连接, A无法再给B发数据,但是B仍然可以给A发数据,同时B端通知上方应用层,处理完成后被动关闭连接。 然后A收到B的确认信息后,就进入了 FIN_WAIT_2状态。 3、B端应用层处理完数据后,通知关闭连接, B向A发送关闭连接的消息,这时TCP头部中的FIN和ACK标识位值均为1, 确认号ack=m+1,自己的序号为seq=k,消息发送后B进入LACK_ACK状态。 4、A收到B的断开连接的消息后,需要发送确认消息, 这是这时TCP头部中的ACK标识位值为1,确认号ack=k+1,序号为m+1(因为A向B发送断开连接的消息时消耗了一个消息号), 然后A进入TIME_WAIT 状态,若等待时间经过2MSL后,没有收到B的重传请求, 则表明B收到了自己的确认,A进入CLOSED状态, B收到A的确认消息后则直接进入CLOSED状态。至此TCP成功断开连接。 问题 Q5:.什么是关联查询,有哪些?可用的回答 :将多个表联合起来进行查询,主要有内连接、左连接、右连接、全连接(外连接)问题 Q6:描述数组、链表、队列、堆栈的区别?可用的回答 : 数组与链表是数据存储方式的概念,数组在连续的空间中存储数据,而链表可以在非连续的空间中存储数据; 队列和堆栈是描述数据存取方式的概念,队列是先进先出,而堆栈是后进先出; 队列和堆栈可以用数组来实现,也可以用链表实现。 问题 Q7:def func(a,b=) 这种写法有什么坑?可用的回答 : def func(a,b=):

查看变量内存地址的Python内置函数是_________________。


正确答案:id()


Python采用的是基于值得自动内存管理方式。

此题为判断题(对,错)。


正确答案:√


对于Python研发人员,PyCharm是Python程序员设计的开发环境。( )

此题为判断题(对,错)。


参考答案:对


在利用socket编写邮件服务器时,使用的套接字应该是()。

A.流式套接字

B.数据报套接字

C.UDP套接字

D.TCP套接字


正确答案:A


Socket的通信方式包括(62),(63)是最常用的套接字类型。

A.字节流套接字

B.数据报套接字

C.原始数据报套接字

D.A、B和C


正确答案:D

更多 “咪咕文化科技有限公司3月招聘面试题158道2020326” 相关考题
考题 填空题高级通信有共享内存、()、套接字和邮箱通信。正确答案:消息列队解析:暂无解析

考题 填空题查看变量内存地址的Python内置函数是()。正确答案:id()解析:暂无解析

考题 关于 JAVA 堆,下面说法错误的是()。A、所有类的实例和数组都是在堆上分配内存的B、对象所占的堆内存是由自动内存管理系统回收C、堆内存由存活和死亡的对象组成D、数组是分配在栈中的正确答案:D

考题 TCP套接字的调用方式是什么?正确答案:当设计套接字如何支持TCP/IP协议时,有两种加入函数的方法,一种是直接加入支持TCP/IP协议的调用,另一种是加入支持一般网络协议的函数,而用参数来指定支持TCP/IP协议。

考题 Socket API套接字API正确答案:应用程序用于网络通信的一组过程。用该名称是因为组内包含有建立通信必须调用的Socket过程。

考题 客户负责建立客户到服务器的套接字连接,即客户负责呼叫。因此,服务器必须建立一个等待接收客户的套接字的Socket对象。()此题为判断题(对,错)。答案:错

考题 在TCP协议中套接字是由端口和IP地址组成。正确答案:正确

考题 根据下面的文字资料回答 11~12 题 Socket的通信方式包括( 1 ),( 2 )是最常用的套接字类型。第11题:文中( 1 )处正确的答案是( )。A.字节流套接字B.数据报套接字C.原始数据报套接字D.A、B和C正确答案:D本题考查的是Socket的通信方式。使用Socket进行通信的方式有3种。字节流套接字(stream socket):TCP/IP协议族中的TCP协议使用此类接口,它提供面向连接的(建立虚电路)、无差错的、发送接收顺序一致的、包长度不限和非重复的网络信包传输。数据报套接字(datagram socket):TCP/IP协议中的UDP(LiserDatagram Protoed)协议使用此类接口,它是无连接的服务,以独立的包进行网络传输,包最大长度为32KB,传输不保证顺序性、可靠性和无重复性,通常用于单个报文传输或可靠性要求不高的场合;原始数据套接字:提供对网络下层通信协议(如IP协议)的直接访问,一般不是提供给普通用户的,主要用于开发新的协议或提取协议较隐蔽的功能。其中字节流套接字是最常用的套接字类型。

考题 简单解释Python基于值的自动内存管理方式?正确答案:Python采用的是基于值得内存管理方式,在Python中可以为不同变量赋值为相同值,这个值在内存中只有一份,多个变量指向同一个内存地址;Python具有自动内存管理功能,会自动跟踪内存中所有的值,对于没有任何变量指向的值,Python自动将其删除。

考题 Socket通常也称为套接字 ,用于描述()和()正确答案:ip、接口