北京拓尔思 广州分公司 JAVA开发 笔试

题目包括但不限于:(笔者自己不太懂的题目)

1.Java程序编译和运行的过程。

      Java程序从源文件创建到程序运行要经过两大步骤:1、源文件由编译器编译成字节码(ByteCode)  2、字节码由java虚拟机解释运行。

2.Tomcat运行过程。

一个请求发送到Tomcat之后,首先经过Service然后会交给我们的Connector,Connector用于接收请求并将接收的请求封装为Request和Response来具体处理,Request和Response封装完之后再交由Container进行处理,Container处理完请求之后再返回给Connector,最后在由Connector通过Socket将处理的结果返回给客户端,这样整个请求的就处理完了
————————————————
版权声明:本文为CSDN博主「徐刘根」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/xlgen157387/article/details/79006434

TOMCAT原理详解及请求过程

https://www.cnblogs.com/hggen/p/6264475.html

3.从输入网址到页面显示的完整过程

①DNS解析IP——通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.161.27.48,然后通过TCP进行封装数据包,输入到网络层。

②发起TCP连接(三次握手)

③传输层:在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端

④客户端的网络层主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,通过查找路由表决定通过那个路径到达服务器,其中用到路由选择协议——内部网关协议IGP(Interior Gateway Protocol)、外部网关协议EGP(External Gateway Protocol)

⑤客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址——用到了ARP(地址解析协议)

⑥浏览器解析HTML代码,请求js,css等资源,最后进行页面渲染,呈现给用户

⑦断开TCP连接(四次挥手)

https://blog.csdn.net/qq_32534441/article/details/88684100

 

4.数据库索引是什么。作用、优缺点。

索引是表的目录,在查找内容之前可以先在目录中查找索引位置,以此快速定位查询数据;是数据库中专门用于帮助用户快速查询数据的一种数据结构。

其作用是提高对表中数据的查询速度;
索引的优点是可以提高检索数据的速度;

索引的缺点是创建和维护索引需要耗费时间;
索引可以提高查询速度,会减慢写入速度;

https://blog.csdn.net/u012954706/article/details/81241049

 

5.单元测试

把测试用例放到一个测试模块里,就是一个完整的单元测试。

如果单元测试通过,说明我们测试的这个函数能够正常工作。如果单元测试不通过,要么函数有bug,要么测试条件输入不正确,总之,需要修复使单元测试能够通过。

@Test + Assert.assertEquals 进行测试

https://blog.csdn.net/antony9118/article/details/54312710

 

6.排查系统慢,经常需要等待的原因

如何排查当系统运行缓慢,CPU 100%,以及Full GC次数过多等问题

https://blog.csdn.net/cpongo2/article/details/90172420

5 种方法排查 Linux 系统运行速度慢的现象

https://blog.csdn.net/jake_tian/article/details/97291544

 

7.排查系统宕机原因

服务器经常宕机,排查问题思路

https://blog.csdn.net/weixin_33769125/article/details/92391441

服务器出现宕机可能的原因以及解决办法

https://developer.aliyun.com/ask/240815?spm=a2c6h.13524658

 

8.Http和Https的区别

Http:超文本传输协议(Http,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。设计Http最初的目的是为了提供一种发布和接收HTML页面的方法。它可以使浏览器更加高效。Http协议是以明文方式发送信息的,如果黑客截取了Web浏览器和服务器之间的传输报文,就可以直接获得其中的信息。

Https:是以安全为目标的Http通道,是Http的安全版。Https的安全基础是SSL(SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密)。

SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层:SSL记录协议(SSL Record Protocol),它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL握手协议(SSL Handshake Protocol),它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

Http与Https的区别

1、https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用。(原来网易官网是http,而网易邮箱是https。)

2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4、http的连接很简单,是无状态的。Https协议是由SSL+Http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。(无状态的意思是其数据包的发送、传输和接收都是相互独立的。无连接的意思是指通信双方都不长久的维持对方的任何信息。)
————————————————
版权声明:本文为CSDN博主「Tyler_Z」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38289815/article/details/80969419

本文链接:https://my.lmcjl.com/post/9623.html

展开阅读全文

4 评论

留下您的评论.