2020javaOPPO面经面试题分享

KLQ 2020-04-09 11:55:18 java常见问答 9471

今天给大家分享的是一位小伙伴2020年javaOPPO的面经,里面包括了面试题等相关内容,想了解的小伙伴可以来看一下呢。

计算机网络的内容较多。

1、tcp三次握手四次挥手,为什么是三次和四次?

2、tcp头部

每个TCP报文段都包含着此报文段的TCP头部信息,用于指定源端端口、目的端端口以及管理TCP连接等。完整的TCP头部结构可分为固定头部结构和头部选项两个部分。

3、tcp udp数据包长度限制

4、http响应码常见的有哪些?502是什么?

常见的http响应码:

200相应代码、300响应代码、302响应代码、304响应代码、404响应代码、500响应代码

502:

服务器错误代码

5、http请求头、请求体属性字段有哪些?

6、知道吗Content-type吗?json还知道别的吗?

7、http有哪些方法?

方法:

(1)GET:请求指定的页面信息,返回实体主体;

(2)HEAD:类似于get请求,只不过返回的响应中没有具体的内容,用于捕获报头;

(3)POST:向指定资源提交数据进行处理请求(比如表单提交或者上传文件),。数据被包含在请求体中。

(4)PUT:从客户端向服务端传送数据取代指定的文档的内容;

(5)DELETE:请求删除指定的页面;

(6)CONNNECT:HTTP1.1协议中预留给能够将连接方式改为管道方式的代理服务器;

(7)OPTIONS:允许客户端查看服务器的性能;

(8)TRACE:回显服务器的请求,主要用于测试或者诊断;

8、post和put的区别是什么?

区别:

(1) POST是用来提交数据的。提交的数据放在HTTP请求的正文里,目的在于提交数据并用于服务器端的存储,而不允许用户过多的更改相应数据(主要是相对于在url 修改要麻烦很多)。

(2)PUT操作是幂等的。所谓幂等是指不管进行多少次操作,结果都一样。比如我用PUT修改一篇文章,然后在做同样的操作,每次操作后的结果并没有不同。

(3) POST操作既不是安全的,也不是幂等的,比如常见的POST重复加载问题:当我们多次发出同样的POST请求后,其结果是创建出了若干的资源。

(4)安全和幂等的意义在于:当操作没有达到预期的目标时,我们可以不停的重试,而不会对资源产生副作用。从这个意义上说,POST操作往往是有害的,但很多时候我们还是不得不使用它。

(5) 创建操作可以使用POST,也可以使用PUT,区别在于POST 是作用在一个集合资源之上的(/articles),而PUT操作是作用在一个具体资源之上的(/articles/123);再通俗点说,如果URL可以在客户端确定,那么就使用PUT,如果是在服务端确定,那么就使用POST,比如说很多资源使用数据库自增主键作为标识信息,而创建的资源的标识信息到底是什么只能由服务端提供,这个时候就必须使用POST。

SpringBoot

1、说一说spring-boot-web-start

2、你说到内嵌的tomcat SpringBoot是怎么使用的?

3、讲一下ioc和aop

4、动态代理,使用代理是不是会效率低?

redis

1、redis有哪几种数据结构?你使用了哪几种?

数据结构:

字符串、哈希、列表、集合、有序集合

2、redis持久化方式有哪些?RDB AOF 哪种安全性高?

java

1、LinkedList和ArrayList

2、为什么HashMap容量是2的次方?

3、HashMap怎么解决Hash冲突?链地址法,还有别的解决方法吗?

4、了解过多线程吗?讲一下synchronize

多线程:多线程(multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。

synchronize:synchronize作为多线程关键字,是一种同步锁,可以修饰代码块、方法、静态方法这几种对象。

5、线程池的工作原理是什么?线程池的某个任务抛出了异常会怎么样?

6、阻塞队列有哪些?这些队列什么场景下使用?

7、最熟悉的几个设计模式

8、双检索两个判断的必要性

9、volitale的几个性质

JVM没有问。

好了以上的OPPO面经大家都了解了吗?可以详细的看一看哦,更多java面试题可以继续来本站了解。