学习面试题Day08
1、TCP/IP协议的理解。
TCP/IP定义了电子设备(如计算机)连入因特网的标准,以及数据如何在它们之间传输的标准。它既是互联网中的基本通信语言或协议,也是局域网的通信协议。
TCP/IP是一组包括TCP协议、IP协议、UDP协议、ICMP协议和其他一些协议的协议组。需要进行网络通信的计算需要提供符合这些协议标准的程序以后,才能进行网络通信。
2、TCP协议的通信特点是什么?
TCP协议主要拥有如下的通信特点:
(1)面向连接的传输;
(2)端到端的通信;
(3)可靠性,确保传输数据的正确性,不出现丢失或乱序;
(4)采用字节流方式,即以字节为单位传输字节序列。
3、Java的TCP编程模型是什么?
编写Java的TCP网络应用程序需要分为服务器端和客户端两个部分,大致有以下步骤。
服务器端:
(1)创建一个服务器端的Socket,指定一个端口号;
(2)开始监听来自客户端的请求要求;
(3)获得输入流或输出流;
(4)调用输入流/输出流的read()或write()方法,进行数据的传输;
(5)释放资源,关闭输出流/输入流、Socket和ServerSocket对象;
客户端:
(1)创建Socket对象,建立与服务器端的连接;
(2)获得输出流或输入流;
(3)调用输入流/输出流的read()或write()方法,进行数据的传输;
(4)释放资源,关闭输出流/输入流、Socket对象。
4、UDP协议的通信特点是什么?
UDP协议主要拥有如下的通信特点:
(1)UDP是一个无连接协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上;
(2)不需要维护连接状态,包括收发状态等;
(3)字节开销很小;
(4)吞吐量主要受应用软件生成数据的速率、传输带宽、源端和终端主机性能等因素的限制。
5、Java的UDP编程模型是什么?
编写Java的UDP网络应用程序需要分为接收端和发送端两个部分,它们大致的步骤相同,主要包括以下几个方面:
(1)创建数据Socket,指定一个端口号;
(2)对于接收消息的一端来说,提供一个byte数组进行数据的存储;而对于发送消息一端,除此以外还需要提供对端的IP地址和端口号;
(3)调用DatagramPacket的receive()或send()方法进行数据的接收或发送;
(4)调用DatagramPacket的getData()方法得到byte数组的数据;
(5)释放资源。
6、如何创建TCP通信的服务器端的多线程模型?
使用多线程模型来编程TCP程序的服务器端,主要有以下步骤:
(1)创建ServerSocket对象,指定监听的端口;
(2)把accept()方法作为循环条件,循环监听客户端请求;
(3)创建线程类,定义一个Socket类型的成员变量,并定义一个可以为它赋值的构造方法;
(4)在run()方法中使用socket变量进行任意的通信操作;
(5)在主进程的循环体内开启一个线程,并传入accept()方法的返回值。
7、用UDP通信模型创建一个即时聊天软件。
主要思路包括:为接收用户输入和打印聊天记录两个界面创建两个不同的线程,它们分别使用DatagramPacket通信。创建一个发送消息的线程类(SendThread)和一个接收消息的线程类(ReceiveThread),分别的作用是循环监听用户的输入并把用户输入的数据通过调用DatagramSocket的send()方法发出和循环的调用DatagramSocket的receive()方法,接收另外一端来的数据。
8、有两间房,一间房中有3盏灯,另一间房有控制这3盏灯的开关(这两间房是分割开的,毫无联系)。现在要你分别进这两间房一次,然后判断出这三盏灯分别是由哪个开关控制的。
首先进入开关房间,先开开关A,过段时间,关A,开B,去另一个房间,亮着的灯是B控制的,不亮的灯中热的是A控制,冷的是C控制。
9、有3个容器,分别是3、7、10体积,容器没有刻度。10体积的容器中装满某种液体,3、7容器是空的。没有别的工具,现在请把这种液体平分成相对精确的两份。
(1)3:0:7
(2)0:3:7
(3)3:3:4
(4)0:6:4
(5)3:6:1
(6)2:7:1
(7)2:0:8
(8)0:2:8
(9)3:2:5
(10)0:5:5
10、有12个外表完全一样的球,其中有一个球重量不一样(这里假设更轻),给你一个,诶呦刻度的天平,你只能用3次,把球找出来。
(1)分3堆,4:4:4.
(2)把上步确定好的四个球进行2:2分堆过秤。
(3)把最后两个球过秤。
11、狡猾的骗子到商店用100元的钞票买了9元的东西,售货员找了他91元钱,这时他又称自己已有零钱,给了9元而要回了自己原来的100元。那么,他骗了商店多少钱?
82元+商品本身的价值。
12、有两根不均匀分布的香,每根香烧完的时间是一个小时,你能用什么方法来确定一段15分钟的时间?
(1)点燃第一根香的两头,和点燃第二根香的一头;
(2)等到第一根香燃尽以后,再把第二根香的另一头点燃;
(3)从第一根香燃尽开始算起,直到第二根香燃尽,时间就是15分钟。
学习面试题Day08的更多相关文章
- 深度学习面试题29:GoogLeNet(Inception V3)
目录 使用非对称卷积分解大filters 重新设计pooling层 辅助构造器 使用标签平滑 参考资料 在<深度学习面试题20:GoogLeNet(Inception V1)>和<深 ...
- 深度学习面试题27:非对称卷积(Asymmetric Convolutions)
目录 产生背景 举例 参考资料 产生背景 之前在深度学习面试题16:小卷积核级联卷积VS大卷积核卷积中介绍过小卷积核的三个优势: ①整合了三个非线性激活层,代替单一非线性激活层,增加了判别能力. ②减 ...
- 深度学习面试题13:AlexNet(1000类图像分类)
目录 网络结构 两大创新点 参考资料 第一个典型的CNN是LeNet5网络结构,但是第一个引起大家注意的网络却是AlexNet,Alex Krizhevsky其实是Hinton的学生,这个团队领导者是 ...
- Java学习之面试题整理
1,java 基本数据类型有几种?哪几种?(面试题) 8种 byte short int long float double char boolean 2,int类型是几个字节?(面试题) 4字节 3 ...
- 深度学习面试题26:GoogLeNet(Inception V2)
目录 第一层卷积换为分离卷积 一些层的卷积核的个数发生了变化 多个小卷积核代替大卷积核 一些最大值池化换为了平均值池化 完整代码 参考资料 第一层卷积换为分离卷积 net = slim.separab ...
- 深度学习面试题25:分离卷积(separable卷积)
目录 举例 单个张量与多个卷积核的分离卷积 参考资料 举例 分离卷积就是先在深度上分别卷积,然后再进行卷积,对应代码为: import tensorflow as tf # [batch, in_he ...
- 深度学习面试题24:在每个深度上分别卷积(depthwise卷积)
目录 举例 单个张量与多个卷积核在深度上分别卷积 参考资料 举例 如下张量x和卷积核K进行depthwise_conv2d卷积 结果为: depthwise_conv2d和conv2d的不同之处在于c ...
- 深度学习面试题21:批量归一化(Batch Normalization,BN)
目录 BN的由来 BN的作用 BN的操作阶段 BN的操作流程 BN可以防止梯度消失吗 为什么归一化后还要放缩和平移 BN在GoogLeNet中的应用 参考资料 BN的由来 BN是由Google于201 ...
- 深度学习面试题20:GoogLeNet(Inception V1)
目录 简介 网络结构 对应代码 网络说明 参考资料 简介 2014年,GoogLeNet和VGG是当年ImageNet挑战赛(ILSVRC14)的双雄,GoogLeNet获得了第一名.VGG获得了第二 ...
随机推荐
- Linux VM 设置静态ip地址上网
因为是路由器共享上网,VM每次都是通过DHCP方式自动获取ip地址,连接Linux VM时ip地址经常变,很麻烦.现在把VM设置静态ip的方法总结一下,以免以后忘了. 1. VM上网方式设置为桥接. ...
- Oracle设置表只读-alter table xxx read only
11g以前,当需要设置一个表只读时,我们通过赋予某些用户select权限.但对于表的owner来说,还是可以读写的. 从Oracle 11g开始,我们可以通过一下命令设置表只读或可读可写: alter ...
- 【CSS】盒模型+选择器(你选择的要操作的对象)
盒模型 转http://www.cnblogs.com/cchyao/archive/2010/07/12/1775846.html 1.w3c标准的盒模型和ie的盒模型主要差别在于content的w ...
- WP8.1和Win8.1的不同之处
本文仅是个人见解,如有不足或错误之处欢迎批评指正~ 1.Toast: 创建Toast代码差不多但实现机制及管理上不一样 2.ApplicationData: WP8.1多了一个LocalCacheFo ...
- /****************** Attributes ********************/
/*预定义字符属性的文本.如果钥匙不在字典,然后使用默认值,如下所述. */ 以下属性是IOS6的 NSVerticalGlyphFormAttributeName NS_AVAILABLE_IOS( ...
- Indri查询命令及Java调用并保存结果
查询参数 index Indri索引库路径.在参数文件中像/path/to/repository这样指定,在命令行中像-index=/path/to/repository这样指定.该参数可以设置多次来 ...
- DataTable经典报错{列/行已属于其他表}
Delete()之后需要datatable.AccepteChanges()方法确认完全删除,因为Delete()只是将相应列的状态标志为删除, 还可以通过datatable.RejectChange ...
- iOS9下修改回HTTP模式进行网络请求
升级为iOS9后,默认请求类型为https,如何使用http进行请求会报错 The resource could not be loaded because the App Transport Sec ...
- linux驱动系列之makefile
在linux环境下做嵌入式无论是编写应用程序还是驱动程序等等,都需要用make来进行程序的编译,就需要学会自己编写Makefile.Makefile主要的作用有3点:1.决定编译哪些文件 2.怎样编译 ...
- [搜片神器]DHT后台管理程序数据库流程设计优化学习交流
谢谢园子朋友的支持,已经找到个VPS进行测试,国外的服务器: sosobt.com 大家可以给提点意见... 服务器在抓取和处理同时进行,所以访问速度慢是有些的,特别是搜索速度通过SQL的like来查 ...