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的更多相关文章

  1. 深度学习面试题29:GoogLeNet(Inception V3)

    目录 使用非对称卷积分解大filters 重新设计pooling层 辅助构造器 使用标签平滑 参考资料 在<深度学习面试题20:GoogLeNet(Inception V1)>和<深 ...

  2. 深度学习面试题27:非对称卷积(Asymmetric Convolutions)

    目录 产生背景 举例 参考资料 产生背景 之前在深度学习面试题16:小卷积核级联卷积VS大卷积核卷积中介绍过小卷积核的三个优势: ①整合了三个非线性激活层,代替单一非线性激活层,增加了判别能力. ②减 ...

  3. 深度学习面试题13:AlexNet(1000类图像分类)

    目录 网络结构 两大创新点 参考资料 第一个典型的CNN是LeNet5网络结构,但是第一个引起大家注意的网络却是AlexNet,Alex Krizhevsky其实是Hinton的学生,这个团队领导者是 ...

  4. Java学习之面试题整理

    1,java 基本数据类型有几种?哪几种?(面试题) 8种 byte short int long float double char boolean 2,int类型是几个字节?(面试题) 4字节 3 ...

  5. 深度学习面试题26:GoogLeNet(Inception V2)

    目录 第一层卷积换为分离卷积 一些层的卷积核的个数发生了变化 多个小卷积核代替大卷积核 一些最大值池化换为了平均值池化 完整代码 参考资料 第一层卷积换为分离卷积 net = slim.separab ...

  6. 深度学习面试题25:分离卷积(separable卷积)

    目录 举例 单个张量与多个卷积核的分离卷积 参考资料 举例 分离卷积就是先在深度上分别卷积,然后再进行卷积,对应代码为: import tensorflow as tf # [batch, in_he ...

  7. 深度学习面试题24:在每个深度上分别卷积(depthwise卷积)

    目录 举例 单个张量与多个卷积核在深度上分别卷积 参考资料 举例 如下张量x和卷积核K进行depthwise_conv2d卷积 结果为: depthwise_conv2d和conv2d的不同之处在于c ...

  8. 深度学习面试题21:批量归一化(Batch Normalization,BN)

    目录 BN的由来 BN的作用 BN的操作阶段 BN的操作流程 BN可以防止梯度消失吗 为什么归一化后还要放缩和平移 BN在GoogLeNet中的应用 参考资料 BN的由来 BN是由Google于201 ...

  9. 深度学习面试题20:GoogLeNet(Inception V1)

    目录 简介 网络结构 对应代码 网络说明 参考资料 简介 2014年,GoogLeNet和VGG是当年ImageNet挑战赛(ILSVRC14)的双雄,GoogLeNet获得了第一名.VGG获得了第二 ...

随机推荐

  1. nodejs的模块系统(实例分析exprots和module.exprots)

    前言:工欲善其事,必先利其器.模块系统是nodejs组织管理代码的利器也是调用第三方代码的途径,本文将详细讲解nodejs的模块系统.在文章最后实例分析一下exprots和module.exprots ...

  2. MySQL 5.1.63 单机配置多实例(简单配置)

    需求: 在一台服务器上通过源码编译安装一个版本为5.1.63版本MySQL数据库: 方案:将所有配置文件与数据等均存放在/home/zhaoshuangshuang下.在同一个MySQL中运行两个实例 ...

  3. 四、mysql内置函数

    .字符串函数 concat('a','b'); 字符串拼接函数 ,,"我是A我是B"): 从指定位置开始替换指定长度的指定数据(起步为1) lower() 转小写 upper() ...

  4. HTML标签语义对照表

    标签名 英文全拼 中文翻译 div division 分隔 span span 范围 ol ordered list 排序列表 ul unordered list 不排序列表 li list item ...

  5. Qt智能指针简明说明

    下面的智能指针分别对应boost库,Qt库,c++11的智能指针 boost::scoped_ptr  QScopedPointer unique_ptr 在其生命期结束后会自动删除它所指的对象(确定 ...

  6. PHP5 session 详解

    http协议是WEB服务器与客户端(浏览器)相互通信的协议,它是一种无状态协议.所谓无状态,指的是不会维护http请求数据,http请求是独立的,非持久的.而越来越复杂的WEB应用,需要保存一些用户状 ...

  7. js 计时器

    <html><head><script type="text/javascript">var count=0;var t ;function t ...

  8. Unity3d大会的部分总结

    原地址:http://blog.csdn.net/sgnyyy/article/details/23775219 一.项目开发,管理和发布策略 1.       四大准则 a.       美术的资源 ...

  9. WinDbg调试DMP格式文件

    前言:WinDbg是微软开发的免费源代码级的调试工具.WinDbg可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件.本文的讨论是在安装了Debugging Tools for Win ...

  10. 安装Hadoop系列 — 安装Eclipse

    1.下载 Eclipse从 http://www.eclipse.org/downloads/index-developer.php下载合适版本,如:Eclipse IDE for C/C++ Dev ...