
面试题
隔壁程序猿小王
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
NIO基本知识详解
Java NIO浅析 - 美团技术团队的文章 - 知乎https://zhuanlan.zhihu.com/p/23488863原创 2020-05-23 16:17:27 · 277 阅读 · 0 评论 -
HashMap详细讲解
Java 8系列之重新认识HashMap - 美团技术团队的文章 - 知乎https://zhuanlan.zhihu.com/p/21673805原创 2020-05-23 14:35:47 · 259 阅读 · 0 评论 -
springmvc工作流程
SpringMVC流程1、用户发送请求至前端控制器DispatcherServlet。2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。4、DispatcherServlet调用Handle...原创 2019-12-07 08:13:59 · 153 阅读 · 0 评论 -
SpringCloud组件原理
一、业务场景介绍先来给大家说一个业务场景,假设咱们现在开发一个电商网站,要实现支付订单的功能,流程如下:创建一个订单之后,如果用户立刻支付了这个订单,我们需要将订单状态更新为“已支付”扣减相应的商品库存通知仓储中心,进行发货给用户的这次购物增加相应的积分针对上述流程,我们需要有订单服务、库存服务、仓储服务、积分服务。整个流程的大体思路如下:用户针对一个订单完成支付之后,就会去找...转载 2019-12-05 22:40:50 · 230 阅读 · 0 评论 -
RocketMQ保证信息有序性和防止重复
分布式开放消息系统(RocketMQ)的原理与实践分布式消息系统作为实现分布式系统可扩展、可伸缩性的关键组件,需要具有高吞吐量、高可用等特点。而谈到消息系统的设计,就回避不了两个问题:消息的顺序问题消息的重复问题RocketMQ作为阿里开源的一款高性能、高吞吐量的消息中间件,它是怎样来解决这两个问题的?RocketMQ 有哪些关键特性?其实现原理是怎样的?关键特性以及其实现原理...转载 2019-12-01 21:30:25 · 1436 阅读 · 0 评论 -
面试高频2
1.订单过程的每个状态,如何保持有序执行,不会发生乱序。2.你在开发中是如何分库分表的。3.谈谈你对分布式锁和分布式事务的理解。4.手写一个SQL语句(订单管理系统):查询每个门店这个月对应每天的成功订单数量或信息。5.谈谈你对高并发的处理。6.当内存不够用了,你在开发中是怎么解决的。7.有过搭建Linux redis rabbitmq的经验吗。8.谈谈你对rabbitMq的理解,在...原创 2019-12-01 20:25:46 · 151 阅读 · 0 评论 -
面试高频1
1.谈谈你对JUC的理解和线程池的的理解。2.spring里面用到的设计模式。比如@service3.Spring里面bean的生命周期。4.分布式锁。5.Synchronized和CAS的区别。6.谈谈你对乐观锁和悲观锁的理解。(乐观锁:CAS算法和版本号控制 悲观锁:加锁 )7.redis的内存淘汰机制。(随机、最近最少使用、抛错、最早过期时间)8.谈谈你对集合的理解。说一下s...原创 2019-11-30 22:37:23 · 113 阅读 · 0 评论 -
HashMap和ConcurrentHashMap底层实现原理
前言Map 这样的 Key Value 在软件开发中是非常经典的结构,常用于在内存中存放数据。本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式开始之前我觉得有必要谈谈 HashMap,没有它就不会有后面的 ConcurrentHashMap。HashMap众所周知 HashMap 底层是基于 数组 + 链表 组成的,不过在 jdk1.7 和 1.8 中具体实现稍...转载 2019-11-30 22:33:34 · 350 阅读 · 1 评论 -
谈谈对集合的理解
集合 Java集合是java提供的一个工具包,全部继承自java.util.*。主要包括两大接口Collection接口和Map接口以及相关的工具类(Iterator迭代器接口、Enumeration枚举类、Arrays和Colletions)。(1)Collection是一个接口,包含List列表和Set集合。其中List是有序的队列,元素值可以重复,索引从0开始,实现类有Lin...转载 2019-11-30 21:47:23 · 1970 阅读 · 0 评论 -
Redis过期策略和内存淘汰策略
Redis的过期策略我们都知道,Redis是key-value数据库,我们可以设置Redis中缓存的key的过期时间。Redis的过期策略就是指当Redis中缓存的key过期了,Redis如何处理。过期策略通常有以下三种:定时过期:每个设置过期时间的key都需要创建一个定时器,到过期时间就会立即清除。该策略可以立即清除过期的数据,对内存很友好;但是会占用大量的CPU资源去处理过期的数据,从...转载 2019-11-30 21:25:31 · 104 阅读 · 0 评论 -
悲观锁和乐观锁
乐观锁乐观锁:在操作数据是非常乐观,认为别人不会同时修改数据。因此乐观锁不会上锁,只是在执行更新的时候判断一下在此期间别人是否修改了数据:如果别人修改了数据则放弃操作,否则执行操作。悲观锁:悲观锁在操作数据时比较悲观,认为别人会同时修改数据。因此操作数据时直接把数据锁住,直到操作完成后才会释放锁;上锁期间其他人不能修改数据。实现方式悲观锁的实现方式是加锁,加锁既可以是对代码块加锁(如Jav...转载 2019-11-30 21:19:27 · 129 阅读 · 0 评论 -
java个人收集面试题
java基础private修饰的方法可以通过反射访问,那么private的意义是什么?(1).Java的private修饰符不是为了绝对安全设计的,而是对用户常规使用Java的一种约束。就好比饭店厨房门口挂着“闲人免进”的牌子,但是你还是能够通过其他方法进去。(2)、从外部对对象进行常规调用时,能够看到清晰的类结构java类的初始化顺序?(1)不考虑继承的情况下写一个测试类验...原创 2019-11-25 21:55:49 · 178 阅读 · 0 评论