Interview

7 篇文章

Victory
Interview

面试指南之消息中间件:RocketMQ

该篇 Chat 会通过在段落的一开始引入一个或多个面试问题,然后围绕着该问题对对应的技术做介绍说明,最后在段落的最后会提供一个回答示例来结束这以问题。回答示例是基于笔者自己的经验的,读者可以结合自己的实际情况整理个更好的回答,可以的话在评论中展示出来让更多的同学参考学习。另外,通常面试题上下之间会有...

Victory
Program

Java 多线程

本次本章从线程的基础讲到线程的相关实现类,每个章节算是一小块知识点,在每个知识点中,穿插地讲对应的知识原理,以及对应的常见面试题及其解答。多数面试题是前后环环相扣的。 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个...

Victory
Interview

Redis 问答 PK

作为一个后端程序员,面试过程中难免会被问到缓存的一些问题,而目前来说,Redis 就是使用的最为广泛的一个缓存中间件了。下面我们就以 Redis 为例,说一说面试过程中会经常会被问到的一些面试题。并试着了解面试官所想,抓住重点,奋力一击,让面试不再烦恼。 首先,简单回顾下 Redis 的简介,并提供...

Victory
Program

HashMap源码解析

其实之前也有看过HashMap的源码,觉得自己对其中的实现原理什么的都还算是比较了解了。其实当初看的时候就没有看的多仔细,只是应付面试的问题罢了。 这不,最近有人提出个问题自救就没法回答了。 > 问: 我们知道,初始化 的时候,可以使用默认的构造函数,也可以使用一个带 参数的构造函数用于构造一个已知...

Victory
Program

JAVA并发编程: CAS和AQS

说起JAVA并发编程,就不得不聊聊CAS(Compare And Swap)和AQS了()。 --- > CAS(Compare And Swap),即比较并交换。是解决多线程并行情况下使用锁造成性能损耗的一种机制,CAS操作包含三个操作数——内存位置(V)、预期原值(A)和新值(B)。如果内存位置...

Victory
Program

Lock 和 synchronized

Java多线程编程中,保证线程安全通常会使用到和。那么合适该使用,什么时候该使用呢。这个就需要我们对和有个清晰的了解。 --- **** 是JAVA提供的强制原子性的内置锁机制。一个有两部分:锁对象的引用 ( 方法的锁,就是该方法所在对象本身),以及这个锁保护的代码块。每个Java对象都可以作为一个...

Victory
Interview

聊聊缓存

如今开发一定规模的web系统时一般会在项目中加入缓存模块块来缓存数据以减轻数据库的压力。从而提高系统的访问速度。最近的面试过程中也有不少是缓存相关的问题,那么下面就来聊下期间被问到的一个缓存更新策略的问题。 我们以Redis作为缓存作为例子。那么问题来了,当缓存的数据需要更新时该如何做才能确保在保证...