Redis

《吊打面试官》系列-消息队列基础

这一生的挚爱 提交于 2020-11-03 15:42:06
你知道的越多,你不知道的越多 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸,打败了无数竞争对手,每次都只能看到无数落寞的身影失望的离开,略感愧疚(请允许我使用一下夸张的修辞手法)。 于是在一个寂寞难耐的夜晚,暖男我痛定思痛,决定开始写《吊打面试官》系列,希望能帮助各位读者以后面试势如破竹,对面试官进行360°的反击,吊打问你的面试官,让一同面试的同僚瞠目结舌,疯狂收割大厂Offer! 絮叨 这期本来是准备大家投票出来的哈,然后在Java基础和消息队列选一个写的,但是我一想,Java基础光是集合每种集合我都可以写好几篇了,基础都得写几个月了,那是不是可以先把短的这个消息队列写了? 我脑子灵光一闪,拍了下桌子,那就这么决定了吧! 所以就有这期了哈哈。 重要!在开始之前我想问一下,大家是喜欢我直接怼知识点用自己的语言组织的方式讲,还是这样面试场景的方式讲? 因为我发现一个很严肃的问题,我的开场和结尾要是几百篇都差不多,最后你们会不会厌倦呀? 总之这个建议对我很有用,或者你有什么写作的建议都可以加我微信悄悄跟我说。 面试开始 一个风度翩翩,穿着格子衬衣的中年男子,拿着一个满是划痕的mac向你走来,看着铮亮的头,心想着肯定是尼玛顶级架构师吧

云原生时代,应用架构将如何演进?

怎甘沉沦 提交于 2020-11-03 14:26:10
简介: 如何借助云原生技术来提升交付速度?云原生时代背景下,研发的关注点又会有哪些转变?阿里云高级技术专家许晓斌通过本文分享从 IaaS 上云时代到 PaaS 上云时代的应用架构演进方向,以及云原生技术与应用架构演进的关系。 作者 | 许晓斌 阿里云高级技术专家 导读 :如何借助云原生技术来提升交付速度?云原生时代背景下,研发的关注点又会有哪些转变?阿里云高级技术专家许晓斌通过本文分享从 IaaS 上云时代到 PaaS 上云时代的应用架构演进方向,以及云原生技术与应用架构演进的关系。 云原生已经进入了 PaaS 上云为主的阶段 阿里巴巴已经经历了 IaaS 上云的阶段,迈进到了 PaaS 上云的时代。在去年的“双11”,阿里巴巴就已经实现了电商核心系统的全面上云,这里的上云主要是在 IaaS 层。所谓 IaaS 主要就是对计算、网络、存储的虚拟化,经过了这个阶段,阿里巴巴就进入了 PaaS 上云的阶段。在 PaaS 上云这个阶段就需要使用更多的云产品,包括中间件、存储、缓存甚至是应用托管平台等。 IaaS 阶段和 PaaS 阶段其实存在很大的差别。在 IaaS 阶段,对于应用研发来说,所关心的往往就是基础设施和资源,通俗来讲就是虚拟机或者容器等,这些对应用架构几乎没有任何侵入。但是在 PaaS 上云阶段,当你使用云产品,比如云 Redis、云 RDS、云 OSS、云

CentOS7.4 Redis5.0.3配置

给你一囗甜甜゛ 提交于 2020-11-03 13:05:26
本文内容主要包括,以下两个方面: redis的安装及配置 redis防入侵的保护措施 禁止一些redis高危命令(config,flushall,flushdb,keys) 为redis添加密码验证 禁止外网访问redis 为redis服务创建单独的用户和家目录,并配置禁止登录 安装redis # 下载并解压安装包 [root@12 ~]# mkdir download [root@12 ~]# cd download/ [root@12 download]# wget http://download.redis.io/releases/redis-5.0.3.tar.gz [root@12 download]# tar -zxvf redis-5.0.3.tar.gz # 编译安装 [root@12 download]# cd redis-5.0.3 [root@12 redis-5.0.3]# make [root@12 redis-5.0.3]# make install PREFIX=/usr/local/redis 配置redis.conf # 从redis源码目录复制redis.conf到redis目录 [root@12 redis-5.0.3]# cd /usr/local/redis/bin/ [root@12 bin]# cp /root/download

从面试官的角度谈"面试"

馋奶兔 提交于 2020-11-03 07:22:05
最近加入了一家创业型公司,做技术架构,坐标武汉,因为公司是新组建,所以研发团队也是自己来组建,我这边负责JAVA以及前端的二面(最后一面是人事),其中初级的名额是4个,中级的名额是两个,高级一个,这篇文章总结一下我遇到的面试者的问题,希望对读者有一些启发。   做为一名程序员在面试不同岗位和行业时,往往会有不同的面试内容以及方式,不同的企业对于程序员的技能要求和提升空间也有所不同,这就导致各家企业在面试时往往对程序员的考核点各有侧重。   首先是筛选出实在不合适的那一部分。第一面流程也很简单,问一问简单的,只要是感觉还可以的,在这一轮都不会被淘汰。 我们公司的面试流程是只有四面,第一面的基本就是你未来的同事。   第二面是我面,因为基本上过完我这一面,只要价值观或者薪资距离公司的划线差距不是太大,就算是过了。首先,如果来面试的是初级程序员,我往往更加注重基础知识结构,包括计算机基础知识和开发的基础知识,毕竟是初级程序员,我不会去纠结你的技术有多深入,他需要的是一名能够快速学习,像海绵一样吸收知识的人才。而中高级程序员面试则会更注重开发经验和行业经验。不过面到特别好的也会稍微面一些深入一点的问题。会把你当成一个中高级的来面,但是答不上来也不用紧张,实际上这个时候已经是认可你的了,你要是全答上来我才没面子呢。中高级的我在这里就不讲了,对于中高级,技术方面会更看重一些。  

常见面试题之缓存雪崩、缓存穿透、缓存击穿

吃可爱长大的小学妹 提交于 2020-11-03 03:35:49
前言 ❝ Hello,everybody,我是asong,今天与大家一起来聊一聊面试中几个常见的缓存问题。为什么会突然想做一篇这个文章呢,今天翻了一下我当初准备面试时整理的一些资料,发现缓存在面试中占比还是很高的,当初为了面试也是背了好久的,不过因为都是背的,现在也有点忘了,今天就想着好好整理一下这一部分,好好记录一下。因为自己能力有限,这一篇主讲通俗易懂,不涉及太难的缓存使用场景。好啦,我们开始吧。 ❞ 缓存应用 缓存在我们平常的项目中多多少少都会使用到,缓存使用的使用场景还是比较多的,缓存是分布式系统中的重要组件,主要解决高并发、大数据场景下,热点数据访问的性能问题。提高性能的数据快速访问。一提到缓存,这些是我们都能想到的一些缓存应用场景,但是我们是不太清楚缓存的本质思想是什么的。缓存的基本思想就是我们非常熟悉的空间换时间。缓存也并不是那么的高大上,虽然他可以为系统的性能进行提升。缓存的思想实际在操作系统或者其他地方都被大量用到。比如 「CPU Cache 缓存的是内存数据用于解决 CPU 处理速度和内存不匹配的问题,内存缓存的是硬盘数据用于解决硬盘访问速度过慢的问题。」 「再比如操作系统在 页表方案 基础之上引入了 快表 来加速虚拟地址到物理地址的转换。我们可以把快表理解为一种特殊的高速缓冲存储器(Cache)。」 上面简单介绍了缓存的基本思想,现在回到业务系统来说:*

ASP.NET Core 3.1 中使用JWT认证

北战南征 提交于 2020-11-03 03:16:35
转自: 小伟06 cnblogs.com/liuww/p/12177272.html JWT认证简单介绍 关于Jwt的介绍网上很多,此处不在赘述,我们主要看看jwt的结构。 JWT主要由三部分组成,如下: HEADER .PAYLOAD .SIGNATURE HEADER包含token的元数据,主要是加密算法,和签名的类型,如下面的信息,说明了 加密的对象类型是JWT,加密算法是HMAC SHA-256 { "alg" : "HS256" , "typ" : "JWT" } 然后需要通过BASE64编码后存入token中 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 Payload主要包含一些声明信息(claim),这些声明是key-value对的数据结构。 通常如用户名,角色等信息,过期日期等,因为是未加密的,所以不建议存放敏感信息。 { "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" : "admin" , "exp" : 1578645536 , "iss" : "webapi.cn" , "aud" : "WebApi" } 也需要通过BASE64编码后存入token中

redis03----集合 set 相关命令

此生再无相见时 提交于 2020-11-02 19:23:33
集合 set 相关命令 集合的性质: 唯一性,无序性,确定性 注: 在string和link的命令中,可以通过range 来访问string中的某几个字符或某几个元素 但,因为集合的无序性,无法通过下标或范围来访问部分元素. 因此想看元素,要么随机先一个,要么全选 sadd key value1 value2 // 增加的值不能够相同,内部的排序是随机的, 作用: 往集合key中增加元素 srem key value1 value2 作用: 删除集合中集为 value1 value2的元素 返回值: 忽略不存在的元素后,真正删除掉的元素的个数 spop key 作用: 返回并删除集合中key中1个随机元素 随机 -- 体现了无序性 srandmember key 作用: 返回集合key中,随机的1个元素. sismember key value 作用: 判断value是否在key集合中 是返回1,否返回0 smembers key 作用: 返回集中中所有的元素 scard key 作用: 返回集合中元素的个数 smove source dest value 作用:把source中的value删除,并添加到dest集合中 r1: 0 > smove set set1 value1 " 1 " sinter key1 key2 key3 作用: 求出key1 key2 key3

想去阿里?就不要错过这些Java面试题

南笙酒味 提交于 2020-11-02 18:43:04
前言 相信很多小伙伴都想去大厂工作,今天小编给大家分享下阿里Java面试题和面试流程,希望能够帮助到各位小伙伴。 面试流程 先说下面试流程,一般大公司都有3-4轮技术面,1轮的HR面。 前面几轮技术面主要问的是一些基础、项目实现和拓展,最后一轮技术面是部门老大面,主要就问一些架构、技术和业务的理解,因为这个时候他看的就是你的潜力,就是看你有没有培养的价值。 HR面主要就是跟你聊聊天,很多人在HR面后挂了,一般不是因为你不表现不好,可能是你之前几面的表现一般,公司基于hc、人才配比、与其他候选人的对比等多个维度考虑,最终决定是否给你offer。 下面列出了一面问到的问题: 阿里一面(电面) synchronized与lock的区别,使用场景。看过synchronized的源码没 JVM自动内存管理,Minor GC与Full GC的触发机制 了解过JVM调优没,基本思路是什么 如何设计存储海量数据的存储系统 缓存的实现原理,设计缓存要注意什么 淘宝热门商品信息在JVM哪个内存区域 操作系统的页式存储 volatile关键字的如何保证内存可见性 happen-before原则 Lucene全文搜索的原理 阿里二面: 自我介绍下自己,不超过3分钟 你说你熟悉并发编程,那么你说说Java锁有哪些种类,以及区别 如何保证内存可见性 Http请求的过程与原理 TCP连接的特点

【专题】多角度深入解析开放原子开源基金会

蹲街弑〆低调 提交于 2020-11-02 18:36:24
2020 年 9 月 9 日,开放原子开源基金会正式对外发声,同天,宣布百度超级链正式成为基金会首个捐赠项目。 9 月 11 日,华为 OpenHarmony 操作系统开源,开放原子开源基金会获捐 OpenHarmony。 9 月 28 日,开放原子开源基金会组件基金会孵化项目导师团队——“伯乐招募计划”,为更好地推动开放原子开源基金会项目的孵化毕业。 10 月 15 日, 开放原子开源基金会和深圳市开放原子开源技术服务中心主办的 “有你有我开源节”开源技术研讨会暨深圳·国际开源谷揭牌仪式在深圳启动。正式全面向外界介绍基金会组织和项目,传播开源文化。 至此,开放原子开源基金会的组织架构、性质、能力等已经基本呈现,早期的项目捐赠、孵化工作正在推进,这些信息共同勾勒出一个较为完整的基金会形象。 本专题围绕开源节论坛所讨论的话题展开,以期较为全面地介绍我国首个开源基金会。 重新认识基金会 基金会是 为公益目的或者其他非营利目的成立, 不 向出资人、设立人或者会员 分配所取得利润 的法人,为 非营利 法人。 基于此,开放原子开源基金会 宗旨目标 是推动科学领域的相关公益事业的发展, 不分配所取得利润,其所取得利润属于社会公众。同时,基金会在内部治理上有特别高的民主要求,基金会理事也是代表公众利益而非个人或公司利益。 由于非营利性和公共属性,基金会可以享有特殊的优惠政策