自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一诺

遇见你是我所有的幸运

  • 博客(20)
  • 资源 (32)
  • 问答 (1)
  • 收藏
  • 关注

原创 每日面试:今天的面试不简单

1、简述拆箱装箱原理?装箱过程是通过调用包装器的valueOf方法实现的,将原值赋给对应类;拆箱过程是通过调用包装器的 intValue/doubleValue等方法实现,返回基本的数据类型。2、Java反射原理?Java会在编译期装载所有的类,并将其元信息保存至Class类对象中。因此可以设计x.class/x.getClass()/Class.forName()等方法获取Class对象。所以在反射调用Field/Method/Constructor对象时,可根据Class类对象进行.

2021-06-21 10:43:19 660

原创 每日面试:节后来场面试练练手

1、并发和并行的区别是什么?并发:一个处理器可以同时处理多个任务。这是逻辑上的同时发生。并行:多个处理器同时处理多个不同的任务。这是物理上的同时发生。有一个清晰地比喻:并发:一个人同时吃三个苹果。并行:三个人同时吃三个苹果。并发(concurrency):指同一时刻只能够执行一条指令,但是多条指令被快速的进行切换,给人造成了它们同时执行的感觉。但在微观来说,并不同同时进行的,只是划分时间段,分别进行执行。并行(parallel):在同一时刻,有多条指令在多个处理器上同时执行。.

2021-06-21 10:41:35 595

原创 端午前最后一场面试

1、RocketMQ顺序消息扩容的过程中,如何在不停写的情况下保证消息顺序? 成倍扩容,实现扩容前后,同样的 key,hash 到原队列,或者 hash 到新扩容的队列。 扩容前,记录旧队列中的最大位点。 对于每个 Consumer Group ,保证旧队列中的数据消费完,再消费新队列,也即:先对新队列进行禁读即可。 2、什么是定时消息?如何实现?定时消息,是指消息发到 Broker 后,不能立刻被 Consumer 消费,要到特定的时间点或者等待特定的时间后才能 被.

2021-06-21 10:35:52 373

原创 Java面试:2021.06.11

1、Spring 框架中都用到了哪些设计模式?Spring 框架中使用到了大量的设计模式,下面列举了比较有代表性的: 代理模式 — 在 AOP 和 remoting 中被用的比较多。 单例模式 — 在 Spring 配置文件中定义的 Bean 默认为单例模式。 模板方法 — 用来解决代码重复的问题。比如 RestTemplate、JmsTemplate、JdbcTemplate 。 前端控制器 — Spring提供了 DispatcherServlet 来对请求...

2021-06-21 10:32:31 309

原创 拿下最终的offer!抉择吧,命运!

1、RabbitMQ消息队列消息丢失问题怎么解决?RabbitMQ消息丢失的三种情况:1.生产者发送消息到交换机时数据丢失:消息确认模式confirmCallback,返回给生产者,提示消息发送交换机成功;2.交换机发送消息到队列时数据丢失:同样是消息确认模式,ReturnCallback,如果发送失败将消息退回给生产者;3.消费者消费消息是数据丢失:默认是自动确认,我们只要配置成手动确认即可,消费者接收消息以后调用channel.basicAck()方法出现异常则获取消息失败,需要重新发送

2021-06-21 10:29:57 259

原创 又是凉凉的一天

1、自我介绍。我是从我的工作年限、行业、常用技术栈以及在工作中所扮演的角色来讲解的,最后基于提前对公司的了解又对此进行了一番仰慕。2、问项目(让我讲一个最熟悉的)。wk,这么无视我的吗!最近的项目还是比较熟悉的,我最近做的是基于SASS平台的OA系统。其中的数据库的设计、权限管理、定时系统、日志系统和个人中心等我都做了相关准备。索性一不做二不休拿起数据库设计和权限管理就开始了我的征程。数据库我是基于数据库三范式的思想进行设计的(对三范式简述了一下),设计前考虑了用户量以及后期的数据拓展.

2021-06-21 10:27:49 326

原创 大厂面试都这样了吗?

1、秒杀解决方案。 架构:扩容、业务分离、数据分离 产品:下单按钮控制、秒杀答题削峰、简化页面设计 前端:限流(反作弊)、静态化以及页面缓存 后端:内存数据库 ,消息队列、程序计数器、分布式锁 在回答问题的时候还需要拿出来其中一种做具体的探讨。回答思路为:分析其问题,秒杀会产生或带来什么问题,这些问题的解决方案有哪些,然后针对其中一种方案做具体的讲解。2、最终一致性分布式事务如何保障实际生产中 99.99% 高可用?对于常见的微服务系统,大部分接口调用是.

2021-06-21 10:25:56 268

原创 这场面试,我佛了

1、HashMap为什么不是线程安全的,并发情况下会有什么问题?首先,为什么会存在线程安全的问题,这个得从JMM(Java Memory Model)说起。大家都知道,计算机在执行一个指令的时候,会先将数据和指令从硬盘或网络等地方加载到内存,然后CPU在从内存加载指令和数据到CPU缓存,然后到寄存器,最终计算的结果,也会写回到内存,最终保存到磁盘或者其他地方(所有的读写都会用到读缓冲区和写缓冲区)。因为现在基本都是多核CPU,内存是所有CPU共享的,但每个CPU内部的缓存和寄存器是私有的,这就造成了同一

2021-06-21 10:20:15 228

原创 区区5道题,我就跪了……

1、Redis在你们项目中是怎么用的?(1)门户系统中的首页内容信息的展示。(商品类目、广告、热门商品等信息)门户系统的首页是用户访问量最大的,而且这些数据一般不会经常修改,因此为了提高用户的体验,我们选择将这些内容放在缓存中;(2)单点登录系统中也用到了redis。因为我们是分布式系统,存在session之间的共享问题,因此在做单点登录的时候,我们利用redis来模拟了session的共享,来存储用户的信息,实现不同系统的session共享;(3)我们项目中同时也将购物车的信息设计存储在redis

2021-06-21 10:01:37 261

原创 我先入坑啦,等你哦!

1、redis为什么读取的那么快? 1.完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1);2.采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗 CPU,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗;3.使用多路I/O复用模型...

2021-06-07 17:40:25 273

原创 我太难了!这些面试问题你遇到了吗?

1、你们这个项目数据访问量大不大?根据项目实际情况来讲,这里给大家举个栗子。传统项目若不是sass这种的,给企业来应用,用户一般在1000左右,并发的话很少出现,一般通过redis缓存、线程这些就可以处理。互联网项目,一般差不多的项目日活在1W左右,并发在200到500间,考虑到后期的用户递增,处理方案就比较广泛了。DNS、服务的前置、后置、缓存优化、线程池、nginx、页面静态化、集群、高可用架构、读写分离等。方案有很多,可以根据项目的实际需要做选择。2、用redis是做那一块的.

2021-06-07 17:38:39 536

原创 我要18K,能过吗?

1、项目都有那些功能?介绍了最近的这个项目自己所负责的几个核心功能,重点讲了其中一个技术的选型和实现等。然而他并没有接着问我项目上的问题。2、spring框架AOP讲解一下吧!AOP面向切面编程,是对OOP的补充。可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。主要有以下操作:日志记录,跟踪,优化和监控;事务的处理;持久化;性能的优化;资源池,如数据库连接池的管理;系统统一的认证、权限管理等;应用..

2021-06-07 17:37:27 296

原创 来一场Java高级的面试,看看自己啥水准

1. 为什么等待和通知是在 Object 类而不是 Thread 中声明的?一个棘手的 Java 问题,如果 Java编程语言不是你设计的,你怎么能回答这个问题呢。Java编程的常识和深入了解有助于回答这种棘手的 Java 核心方面的面试问题。为什么 wait,notify 和 notifyAll 是在 Object 类中定义的而不是在 Thread 类中定义这是有名的 Java 面试问题,招2~4年经验的到高级 Java 开发人员面试都可能碰到。这个问题的好在它能反映了面...

2021-06-07 17:36:13 276

原创 Java面试:2021.06.01

1、线程有哪些状态?线程通常都有五种状态,创建、就绪、运行、阻塞和死亡。 创建状态。在生成线程对象,并没有调用该对象的start方法,这是线程处于创建状态。 就绪状态。当调用了线程对象的start方法之后,该线程就进入了就绪状态,但是此时线程调度程序还没有把该线程设置为当前线程,此时处于就绪状态。在线程运行之后,从等待或者睡眠中回来之后,也会处于就绪状态。 运行状态。线程调度程序将处于就绪状态的线程设置为当前线程,此时线程就进入了运行状态,开始运行run函数当中的代码。

2021-06-07 17:33:32 230

原创 Java面试:2021.05.31

1、integer是否可以用==判断相等? Ingeter是int的包装类,int的初值为0,Ingeter的初值为null。 无论如何,Integer与new Integer()不会相等。不会经历拆箱过程,i8的引用指向堆,而i4指向专门存放他的内存(常量池),他们的内存地址不一样,使用 == 比较都为false。 两个都是非new出来的Integer,使用 == 比较,如果数在-128到127之间,则是true,否则为false 两个都是new出来的,==比较都为fa

2021-06-07 10:55:49 283

原创 Java面试:2021.05.30

1、什么是悲观锁?什么是乐观锁? 1)悲观锁它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在 整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供 的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系统不会修改 数据)。在悲观锁的情况下,为了保证事务的隔离性,就需要一致性锁定读。读取数据时给加锁,其它事务无法修改这些数 据。修改删除数据时也要加锁,其它事务无法读取

2021-06-07 10:55:00 206

原创 Java面试:2021.05.29

1、Kafka的架构是怎样的?Kafka 的整体架构非常简单,是分布式架构,Producer、Broker 和Consumer 都可以有多个。1.Producer,Consumer 实现 Kafka 注册的接口。2.数据从 Producer 发送到 Broker 中,Broker 承担一个中间缓存和分发的作用。3.Broker 分发注册到系统中的 Consumer。Broker 的作用类似于缓存,即活跃的数据和离线处理系统之间的缓存。4.客户端和服务器端的通信,是基于简单,高性能...

2021-06-07 10:53:00 211

原创 Java面试:2021.05.28

1、请问你是如何做接口测试的?大体来说,经历以下过程:接口需求调研、接口测试工具选择、接口测试用例编写、接口测试执行、接口测试回归、接口测试自动化持续集成。具体来说,接口测试流程分成以下九步:第一步:分析出测试需求,并请开发提供接口说明文档;第二步:从接口说明文档中整理出接口测试用例,里面要包括详细的入参(正常情况,异常情况包括输入参数个数,类型,可选/必选,考虑参数有互斥或关联的情况)和出参数据(符合接口文档需求)以及明确的格式和检查点;第三步:与开发一起对接口测试用例进行评审;第四步

2021-06-07 10:36:45 220

原创 Java面试:2021.05.27

1、Spring的IOC和AOP两大核心的理解。1. Spring 的两大核心是:IOC(控制反转)和 AOP(面向切面编程)2. IOC 的意思是控制反转,是指创建对象的控制权的转移,以前创建对象的主动权和时机是由自己把控的,而现在这种权力转移到 Spring 容器中,并由容器根据配置文件去创建实例和管理各个实例之间的依赖关系,对象与对象之间松散耦合,也利于功能的复用。最直观的表达就是,IOC 让对象的创建不用去 new 了,可以由 spring 根据我们提供的配置文件自动生产,我们需要对象.

2021-06-07 10:34:47 227

转载 阿里云短信认证实现过程

对接阿里的短信验证 了解基本的情况 阿里云的短信服务平台 点击进入 管理控制台,添加签名和模板 添加 AccessKey 接入短信的配置从头开始,对接阿里的短信验证选择阿里的原因(试了腾讯的,网易的,感觉还是阿里的最好,最方便,其他两个的申请签名的时候总是不通过)福利 新人免费领取100条短信https://free.aliyun.com/?spm=5176.224200.aliyun-offcial-webs...

2021-06-02 14:48:37 841

Jsp九大内置对象代码

对应Jsp九大内置对象,相关编码应用的Demo举例,可以进行参考。

2019-01-27

软件测试培训

教你如何更好的进行测试,无论是想要学习测试这一块又或者是开发想要去了解相关的测试技术,我都希望能够帮助到你。

2018-04-04

软件需求分析的探究

需求文档怎么写呢?这样一个软件应该如何着手呢?我希望你能够从这里找到答案并切实的解决问题。

2018-04-04

IT软件项目生命周期

很多刚接触到IT行业的同事对于整个项目的开发流程以及开发周期并不是很熟悉,在一定程度上也造成了困惑,在此我希望《IT软件项目生命周期》能够带给你一定程度的帮助。

2018-04-04

电商项目模块间调用关系

电商项目中各个模块间的一个调用关系可以结合着表结构的设计一块来看。另外本文档所涉及到的业务逻辑较浅,比较适合刚入门的同事。但是,无论如何希望能够一定的帮助。

2018-04-04

电商-数据库详细设计说明书V0.4

电商数据库设计文档,包含有表结构以及相关的表字段。

2018-04-04

python核心编程

本书描述了Python程序的基本构件:类型、操作符、语句、函数、模块、类以及异常,介绍了更多高级主题,包括复杂的实例。 本书适合Python初学者,以及已经入门但想继续学习和提高自身Python技巧的程序员。

2018-04-01

系统架构图与详细说明

关于系统结构方面的一个详细介绍包含对应的图形,大家可以根据架构图和下面的介绍对应的来看。

2017-10-08

项目流程规范

许多刚开始工作的同学不清楚公司中一个项目的开发情况是怎样的。那么,我希望这份资料对你会有所帮助。

2017-10-08

tomcat优化

很多同学对于tomcat这一块有些费解。那么,对于这块的话个人也参考资料仅优化方面做了一下整理,希望能够对大家有所帮助。

2017-10-08

虚拟机网络电缆拔出

主要是虚拟机解决网络电缆拔出所出现的问题。如果有这方面需要的同学可以借鉴一下。

2017-10-08

GIT安装过程

Git的安装流程,有客户端方面的一个安装。有两种方式Ecplise上的和客户端如果是开发使用的话建议安装客户端。多了解一下GitHub。

2017-10-08

Copssh安装过程

Copssh工具的一个简要安装流程,一般也是next直接安装。

2017-10-08

逻辑关系图

九大知识领域各过程逻辑关系图,主要针对于项目管理业务方面.

2017-07-25

spring知识点梳理

spring从搭建配置到简单开发的一个整体流程,比较适合打基础的朋友!

2017-07-25

数据结构与算法综合资料库

来了解一下数据结构与算法吧!这里是与其相关的一个综合的资料。有兴趣的同学可以看一下哦!

2017-04-20

实例Apache负载均衡+Tomcat集群

实例介绍Apache负载均衡与Tomcat集群的攻略,有兴趣的同学可以下载下来自己动手尝试一下哦!

2017-04-20

二维码生成器

这里有一个二维码生成器的例子,可以便于刚接触二维码的同学更好的了解二维码的生成规则。看一下里面的JS文件,运行一下!

2017-04-20

抢票小程序

还在为买不到票而犯难吗?这里有一套程序来帮助你解决,但是禁止用做商业用途哦!

2017-04-20

ssh注模式解真实案例

SSH注解方式开发的真实案例,含有基础的登陆注册,业务的增删改查等基础的功能点,对于刚接触或者对于理解,应用方面更占有优势是个很好的选择.希望能搞帮助到大家.

2017-03-30

socket资源

关于socket的各种讲解,以及相对应的资料,含有详细的步骤等.希望能为想要学习这门技术的同学提供到了帮助.

2017-03-29

Ecplise的配置

Ecplise配置的详细介绍,希望对刚接触的同学们提供更好的帮助.

2017-03-29

spring发送邮件

使用spring实现发送邮件的功能,希望对大家有所帮助.

2017-03-29

spring定时器

对spring中定时器的一个讲解,希望对大家有所帮助.

2017-03-29

录屏截图软件

最好的录屏软件,集成了录屏,截图,截屏等多种操作功能.欢迎大家的使用.

2017-03-29

EditPlus--小红本

开发人员必备的实用工具,便于打开各种基础格式的代码.

2017-03-26

短信验证的数据库设计

简单的介绍了关于短信验证以及重置密码的数据库、代码的设计逻辑。

2017-03-23

有趣的java小程序

有趣的小程序,快来走进java的奇妙世界吧!

2017-03-23

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除