Java面试集锦(一)
- 面试宝典
- 时间:2020-08-04 21:19
- 2982人已阅读
🔔🔔🔔好消息!好消息!🔔🔔🔔
有需要的朋友👉:联系凯哥
摘要:1. 在浏览器中输入url地址 显示主页的过程,整个过程会使用哪些协议 image.jpeg总体来说分为以下几个过程: DNS解析 TCP连接 发送HTTP请求 服务器处理请求并返回HTTP报文 浏览器解析渲染页面 连接结束 在浏览器中输入网址之后执行会发生什么? DNS解析,找到对应ip地址 客户 阅读全文
摘要:1. 进程的常见状态?以及各种状态之间的转换条件? 就绪:进程已处于准备好运行的状态,即进程已分配到除CPU外的所有必要资源后,只要再获得CPU,便可立即执行。 执行:进程已经获得CPU,程序正在执行状态。 阻塞:正在执行的进程由于发生某事件(如I/O请求、申请缓冲区失败等)暂时无法继续执行的状态。 阅读全文
摘要:1. 为啥在项目里要用缓存呢 用缓存,主要是俩用途,高性能和高并发 高性能image.png 高并发image.png 2.介绍 Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、Key Value 数据库,并提供多种语言的 API的非 阅读全文
摘要:1. 介绍spring框架 Spring是一套为了解决企业应用开发的复杂性而创建的框架,特点是分层的架构,允许用户在不同层面使用不同的组件进行组合。同时通过IOC容器来降低耦合,简化开发。利用AOP来进行切面编程统一管理通用模块。 2.Spring中AOP的应用场景、Aop原理、好处? 主要是两种, 阅读全文.
摘要:RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。 ①.通过异步处理提高系统性能image.jpeg通过异步处理提高系统性能 如上图,在不使用消息队列服务器的时候,用户的请求数据直接写入数据库,在高并发的情况下数据库压力剧增,使得响应速度变慢 阅读全文
摘要:1. 分布式事物 不知道你是否遇到过这样的情况,去小卖铺买东西,付了钱,但是店主因为处理了一些其他事,居然忘记你付了钱,又叫你重新付。又或者在网上购物明明已经扣款,但是却告诉我没有发生交易。这一系列情况都是因为没有事务导致的。这说明了事务在生活中的一些重要性。有了事务,你去小卖铺买东西,那就是一手交 阅读全文
摘要:简单介绍一下Nginx Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。 Nginx 主要提供反向代理、负载均衡、动静分离(静态资源服务)等服务。下面我简单地介绍一下这些名词。 反向代理 谈到反向代理,就不得不提一下正向代理。无论是正向代理,还是反向 阅读全文
摘要:1. 什么是微服务 以前的模式是 所有的代码在同一个工程中 部署在同一个服务器中 同一个项目的不同模块不同功能互相抢占资源 微服务 将工程根据不同的业务规则拆分成微服务 微服务部署在不同的机器上 服务之间进行相互调用 Java微服务的框架有 dubbo(只能用来做微服务),spring cloud( 阅读全文
摘要:1. 软链接: 软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式 软链接可以跨文件系统 ,硬链接不可以 软链接可以对一个不存在的文件名进行链接 软链接可以对目录进行链接 2. 硬链接: 硬链接,以文件副本的形式存在。但不占用实际空间。 不允许给目录创建硬链接 硬链接只有在同一个文件 阅读全文
摘要:1.简介 Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。 1.1简化Spring开发的一个框架1.2整合Spring全家桶(整合ssh,ssm,安全,d 阅读全文
摘要:1.主要做到以下两点: 尽量将请求过滤在上游。 尽可能的利用缓存(大多数场景下都是查多于写)。 如果流量巨大,导致各个层的压力都很大可以适当的加机器横向扩容。如果加不了机器那就只有放弃流量直接返回失败。快速失败非常重要,至少可以保证系统的可用性。 业务分批执行:对于下单、付款等操作可以异步执行提高吞 阅读全文
摘要:1. 原则 1. 单一职责原则单一职责原则,就一个类而言,应该仅有一个引起它变化的原因。解释: 如果一个类职责过多,就等于把这些职责耦合在一起; 软件设计正在要做的许多内容,就是发现职责并把那些职责分离; 如果你能够想到多于一个的动机去改变一个类,那么这个类就具有多于一个职责,就应该考虑类的职责分离 阅读全文
摘要:1. 数据库范式 第一范式:列不可分,eg:【联系人】(姓名,性别,电话),一个联系人有家庭电话和公司电话,那么这种表结构设计就没有达到 1NF;第二范式:有主键,保证完全依赖。eg:订单明细表【OrderDetail】(OrderID,ProductID,UnitPrice,Discount,Qu 阅读全文
摘要:1.Ajax AJAX = Asynchronous JavaScript and XML(异步 JavaScript 和 XML)。 Ajax 的原理简单来说通过 XmlHttpRequest 对象来向服务器发异步请求,从服务器获得数据,然后用 Javascript 来操作 DOM 而更新页面。这 阅读全文
摘要:1. 图解 image.pngimage.jpeg 2.BufferedReader属于哪种流,它主要是用来做什么的,它里面有那些经典的方法 属于处理流中的缓冲流,可以将读取的内容存在内存里面,有readLine()方法 3. 什么是节点流,什么是处理流,它们各有什么用处,处理流的创建有什么特征 节 阅读全文
摘要:1. 垃圾回收机制 Stop the World: JVM由于要执行GC而停止了应用程序的执行称之为Stop the World,该情形会在任何一种GC算法中发生。当Stop the world发生时,除了GC所需的线程以外,所有线程都处于等待状态直到GC任务完成。事实上,GC优化很多时候就是指减少 阅读全文
摘要:1.集合 image.png1. List:有序、可重复。可以通过索引快速查找,但进行增删操作时后续的数据需要移动,所以增删速度慢。 2. Set:无序、不可重复。 3. Map:键值对、键唯一、值不唯一。Map 集合中存储的是键值对,键不能重复,值可以重复。根据键得到值,对 map 集合遍历时先得 阅读全文
摘要:什么是Java内存模型 前面介绍过了计算机内存模型,这是解决多线程场景下并发问题的一个重要规范。那么具体的实现是如何的呢,不同的编程语言,在实现上可能有所不同。 我们知道,Java程序是需要运行在Java虚拟机上面的,Java内存模型(Java Memory Model ,JMM)就是一种符合内存模 阅读全文
摘要:1. 多线程 image.png 新建状态: 一个新产生的线程从新状态开始了它的生命周期。它保持这个状态直到程序 start 这个线程。 运行状态:当一个新状态的线程被 start 以后,线程就变成可运行状态,一个线程在此状态下被认为是开始执行其任务 就绪状态:当一个线程等待另外一个线程执行一个任务 阅读全文