【0725】诺瓦科技java开发笔试题

一共14道1个小时,其中三道是比较简单的编程题,其余有几道java基础、通信协议、操作系统等。

1.HTTP与HTTPS的区别

参考:
https://blog.csdn.net/xiaoming100001/article/details/81109617
https://www.runoob.com/w3cnote/http-vs-https.html

1.HTTP明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好。
2.使用HTTPS协议需要到CA(Certificate Authority,数字证书认证机构)申请证书,一般免费证书较少,因而需要一定费用。证书颁发机构如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。
3.HTTP页面响应速度比HTTPS快,主要是因为HTTP使用TCP三次握手建立连接,客户端和服务器需要交换3个包,而HTTPS除了TCP的三个包,还要加上ssl握手需要的9个包,所以一共是12个包。
4.http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
5.HTTPS其实就是建构在SSL/TLS之上的HTTP协议,所以,HTTPS比HTTP要更耗费服务器资源。

2.TCP

主机A向主机B发送一个很长的文件,其长度为L字节。
5—22 主机A向主机B发送一个很长的文件,其长度为L字节。假定TCP使用的MSS有1460字节。
(1) 在TCP的序号不重复使用的条件下,L的最大值是多少?
(2) 假定使用上面计算出文件长度,而运输层、网络层和数据链路层所使用的首部开销共66字节,链路的数据率为10Mb/s,试求这个文件所需的最短发送时间。

答案:https://qb.zuoyebang.com/xfe-question/question/c8571ed02d0fed0bd2e6cb9d2fd4764d.html

3.FTP工作流程

参考:
http://c.biancheng.net/view/6479.html

百度百科:
FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。

参考:
FTP使用的是“客户端/服务器”模式。用户通过一个支持FTP协议的客户机程序,连接在远程主机上的FTP服务器程序。通过在客户端向服务器端发送FTP命令,服务器执行该命令,并将执行结果返回给客户端。由于“控制连接”的因素,客户端发送的FTP命令,服务器都会有对应的应答。

4.简述ping原理

参考:
Ping 本质( ICMP )

百度百科:(网络诊断工具)
ping (Packet Internet Groper)是一种因特网包探索器,用于测试网络连接量的程序。Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo 请求报文,测试目的站是否可达及了解其有关状态。

ping用于确定本地主机是否能与另一台主机成功交换(发送与接收)数据包,再根据返回的信息,就可以推断TCP/IP参数是否设置正确,以及运行是否正常、网络是否通畅等。
Ping命令可以进行以下操作:
①通过将ICMP(Internet控制消息协议)回显数据包发送到计算机并侦听回显回复数据包来验证与一台或多台远程计算机的连接。
②每个发送的数据包最多等待一秒。
③打印已传输和接收的数据包数。
需要注意的是,Ping成功并不一定就代表TCP/IP配置正确,有可能还要执行大量的本地主机与远程主机的数据包交换,才能确信TCP/IP配置的正确性。如果执行ping成功而网络仍无法使用,那么问题很可能出在网络系统的软件配置方面,ping成功只保证当前主机与目的主机间存在一条连通的物理路径。

5.操作系统进程的调度策略

参考:
操作系统中的进程调度策略有哪几种

6.cpu时间片轮转算法

参考:

百度百科:
时间片轮转调度是一种最古老,最简单,最公平且使用最广的算法。每个进程被分配一时间段,称作它的时间片,即该进程允许运行的时间。

7.统计每个数字出现的次数

HashMap

8.线程安全的单例模式


9.合并两个有序链表

leetcode 21. 合并两个有序链表
https://leetcode-cn.com/problems/merge-two-sorted-lists/solution/he-bing-liang-ge-you-xu-lian-biao-by-leetcode-solu/

10.重写与重载的区别

参考码出高效

11.多态、重写、覆写的概念

12.线程有哪几种状态

13.如何实现生产者-消费者模式

14.什么是哈希表

-----------------------------------------------------0726补充--------------------------------------------

15.CAS无锁队列实现的原理

16.列举线程间通信方式

17.链式存储结构与顺序存储结构的区别

参考:https://blog.csdn.net/kangqianglong/article/details/79585551

链表存储结构的内存地址不一定是连续的,但顺序存储结构的内存地址一定是连续的;
链式存储适用于在较频繁地插入、删除、更新元素时,而顺序存储结构适用于频繁查询时使用。

18.请简述UDP首部格式

19.简单描述段页式存储管理机制

20.http标准请求方法有哪些,并说明方法的使用场景

在这里插入图片描述
参考:标准Http协议的六种请求方法详解

get与post的区别

21.在socket通信中,使用TCP和UDP发送数据时,数据源限制描述

22.对称性加密与非对称性加密的区别

参考:对称加密和非对称加密的区别


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值