马上快过年了,过完年后又是跳槽、找工作的高峰,无论你是应届毕业生,还是在职跳槽,其实除了升值加薪之外,其本质都是寻求进阶发展的机会。
今天我就抛砖引玉,谈谈互联网技术人的进阶之路,希望对你的年后求职有一定的参考。
互联网技术岗位有哪些
前端开发(火爆的H5、JS、小程序web开发等)
后端开发……继续阅读 »
陈睿
2年前 (2019-01-31) 3774浏览 0评论
11个赞
1.Dubbo是什么?
Dubbo 是一个分布式、高性能、透明化的 RPC 服务框架,提供服务自动注册、自动发现等高效服务治理方案, 可以和 Spring 框架无缝集成。
RPC 指的是远程调用协议,也就是说两个服务器交互数据。
2.Dubbo的由来?
互联网的快速发展,Web……继续阅读 »
陈睿
2年前 (2019-01-24) 21090浏览 1评论
29个赞
很多同学想成为一名架构师,但是对于其中的技能掌握程度,以及编程功底的要求?设计能力的要求有哪些?
我简要从以下7点经验来谈,从技能的角度抛砖引玉。
编程基本功:数据结构和算法
1.数据结构相关的哈希表、链表、二叉树等等
2.常见的算法有哪些?至少下图的算法我认为应该要掌握。
比如:HashMap如何扩容……继续阅读 »
陈睿
2年前 (2019-01-24) 2730浏览 0评论
2个赞
之前分享了如何从0到1设计一个MQ消息队列,今天谈谈“如何从0到1设计一个Dubbo的RPC框架”,重点考验:
你对RPC框架的底层原理掌握程度。
以及考验你的整体RPC框架系统设计能力。
RPC和RPC框架
1.RPC(Remote Procedure Call)
即远程过程调用, 主……继续阅读 »
陈睿
2年前 (2019-01-22) 4419浏览 0评论
10个赞
拼多多Java一面
简短自我介绍
事务的ACID,其中把事务的隔离性详细解释一遍
脏读、幻影读、不可重复读
红黑树、二叉树的算法
平常用到哪些集合类?ArrayList和LinkedList区别?HashMap内部数据结构?ConcurrentHashMap分段锁?
……继续阅读 »
陈睿
2年前 (2019-01-21) 3955浏览 2评论
2个赞
随着互联网的普及,网络安全变得越来越重要。Java等程序员需要掌握基本的web安全知识,防患于未然,下面列举一些常见的安全漏洞,以及对应的防御解决方案。
常见的Web安全问题
1.前端安全
XSS 漏洞
CSRF 漏洞
2.后端安全
SQL 注入漏洞
……继续阅读 »
陈睿
2年前 (2019-01-15) 3068浏览 0评论
8个赞
内容大纲:
RocketMQ的简介与演进
RocketMQ的架构设计
RocketMQ的关键特性
RocketMQ的应用场景
RocketMQ的简介
RocketMQ一个纯java、分布式、队列模型的开源消息中间件,前身是MetaQ,是阿里研发的一个队列模型……继续阅读 »
陈睿
2年前 (2019-01-11) 6029浏览 0评论
6个赞
2018年,互联网寒冬、裁员成了我们的热词。
2019年,大佬们预言,没有最冷,只有更冷。
最近这两个月,有些小伙伴通过私信或评论给我留言:
工作几年了,感觉技术到了瓶颈期,怎么突破?
一线程序员该如何应对中年危机?
……继续阅读 »
陈睿
2年前 (2019-01-10) 2447浏览 0评论
7个赞
在高并发业务场景下,典型的阿里双11秒杀等业务,消息队列中间件在流量削峰、解耦上有不可替代的作用。
之前介绍了MQ消息队列的12点核心原理总结,以及如何从0到1设计一个MQ消息队列,以及RPC远程调用和消息队列MQ的区别
今天我们一起来探讨:
全量的消息队列究竟有哪些?
Kafka、RocketMQ、R……继续阅读 »
陈睿
2年前 (2019-01-09) 7040浏览 0评论
12个赞
消息队列作为系统解耦,流量控制的利器,成为分布式系统核心组件之一。
如果你对消息队列背后的实现原理关注不多,其实了解消息队列背后的实现非常重要。
不仅知其然还要知其所以然,这才是一个优秀的工程师需要具备的特征。
今天,我们就一起来探讨设计一个消息队列背后的技术。
消息队列整体设计思路
主要是设计一个整体的消息被消费的数据流……继续阅读 »
陈睿
2年前 (2019-01-07) 5152浏览 0评论
11个赞
谈到分布式架构,就不得不谈到分布式架构的基石RPC。
什么是RPC
RPC(Remote Procedure Call)远程过程调用,主要解决远程通信间的问题,不需要了解底层网络的通信机制。
RPC服务框架有哪些
知名度较高的有Thrift(FB的)、dubbo(阿里的)
……继续阅读 »
陈睿
2年前 (2019-01-07) 4114浏览 2评论
7个赞
蚂蚁金服Java一面
1 自我介绍和项目
2 Java的内存分区
3 Java对象的回收方式,回收算法。
4 CMS和G1了解么,CMS解决什么问题,说一下回收的过程。
5 CMS回收停顿了几次,为什么要停顿两次。
6 Java栈什么时候会发生内存溢出,Java堆呢,说一种场景,我说集合类……继续阅读 »
陈睿
2年前 (2019-01-06) 3995浏览 0评论
4个赞
在阿里Java面试环节,经常会问CAP、BASE等相关的分布式理论,其实这些名词主要还是来自于分布式的一致性,今天主要介绍分布式一致性:强一致性、最终一致性、ACID、CAP等理论。
分布式一致性的背景
随着分布式事务的出现,传统的单机事务模型(ACID)已经无法胜任,尤其是对于一个高访问量、高并发的互联网分布式系统来说。
分布式事务的一致性,请参考……继续阅读 »
陈睿
2年前 (2019-01-05) 4002浏览 0评论
9个赞
2018年持续一整年的架构设计分享,2019年我希望持续分享的同时,能真正意义上帮助到部分读者成为一名架构师。
学习的同时请千万别:只见树木,不见森林。
所以我会让大家先俯瞰完整的森林,我们再从树木开始,一起去穿越整个森林。
最新阿里技术P系列薪资:上图薪资结构*2
……继续阅读 »
陈睿
2年前 (2019-01-02) 4176浏览 0评论
5个赞
流量削峰的由来
主要是还是来自于互联网的业务场景,例如,马上即将开始的春节火车票抢购,大量的用户需要同一时间去抢购;以及大家熟知的阿里双11秒杀,
短时间上亿的用户涌入,瞬间流量巨大(高并发),比如:200万人准备在凌晨12:00准备抢购一件商品,但是商品的数量缺是有限的100-500件左右。
这样真实能购买到该件商品的用户也只有几百人左右, 但是从业务上来说……继续阅读 »
陈睿
2年前 (2018-12-29) 7661浏览 3评论
15个赞
消息队列已经逐渐成为分布式应用场景、内部通信、以及秒杀等高并发业务场景的核心手段,它具有低耦合、可靠投递、广播、流量控制、最终一致性 等一系列功能。
无论是 RabbitMQ、RocketMQ、ActiveMQ、Kafka还是其它等,都有的一些基本原理、术语、机制等,总结分享出来,希望大家在使用消息队列技术的时候能够快速理解。
1. 消息生产者、消息者、队列
……继续阅读 »
陈睿
2年前 (2018-12-27) 4518浏览 0评论
5个赞
快手Java一面(一个小时十分钟)
1.自我介绍
2.说说B+树和B树的区别,优缺点等?
3聊聊Spring,主要IOC等等
4多线程JUC包下的一些常见的类,比如CountDownLatch、Semaphore等
5.锁的概念,锁相关的关键字,volatile,synchronized。还比较了ReentrantLock……继续阅读 »
陈睿
2年前 (2018-12-27) 4063浏览 0评论
2个赞
计算机基础:网络和协议
Java编程:并发编程、NIO等
数据:MySQL、NoSQL、搜索引擎、大数据
设计模式
分布式架构设计
还有算法和数据结构、Java并发编程、工具类这里就不一一列出了。
……继续阅读 »
陈睿
2年前 (2018-12-26) 3790浏览 1评论
10个赞
前面集中谈了分布式缓存Redis系列:
高并发架构系列:分布式锁的由来、特点、及Redis分布式锁的实现详解
高并发架构系列:Redis并发竞争key的解决方案详解
高并发架构系列:Redis缓存和MySQL数据一致性方案详解
Redis的高可用详解:Redis哨兵、复制、集群的设计原理,以及区别
高并发架构系列:Redi……继续阅读 »
陈睿
2年前 (2018-12-26) 4748浏览 0评论
4个赞
Redis内存回收机制
Redis的内存回收主要围绕以下两个方面:
1.Redis过期策略:删除过期时间的key值
2.Redis淘汰策略:内存使用到达maxmemory上限时触发内存淘汰数据
Redis的过期策略和内存淘汰策略不是一件事,实际研发中不要弄混淆了,下面会完整的介绍两者。
Redis过期策……继续阅读 »
陈睿
2年前 (2018-12-21) 4891浏览 1评论
9个赞
在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。那具体什么是分布式锁,分布式锁应用在哪些业务场景、如何来实现分布式锁呢?今天来探讨分布式锁这个话题。
什么是分布式锁
要介绍分布式锁,首先要提到与分布式锁相对应的是线程锁、进程锁。
1.线程锁
主要用来给方法、代码块加锁。……继续阅读 »
陈睿
2年前 (2018-12-20) 5667浏览 1评论
8个赞
头条Java一面
1.讲讲jvm运行时数据库区
2.讲讲你知道的垃圾回收算法
3.jvm内存模型jmm
4.内存泄漏与内存溢出的区别
5. select、epoll 的区别?底层的数据结构是什么?
6.mysql数据库默认存储引擎,有什么优点
……继续阅读 »
陈睿
2年前 (2018-12-19) 4129浏览 0评论
3个赞
Redis高并发的问题
Redis缓存的高性能有目共睹,应用的场景也是非常广泛,但是在高并发的场景下,也会出现问题:
高并发架构系列:Redis缓存和MySQL数据一致性方案详解
如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难题
以及今天要谈到的Redis并发竞争问题,这里的并发指的是多个redis的cli……继续阅读 »
陈睿
2年前 (2018-12-19) 5683浏览 0评论
4个赞
史上最全Redis面试49题(含答案):哨兵+复制+事务+集群+持久化等
高并发架构系列:Redis缓存和MySQL数据一致性方案详解
Redis的高可用详解:Redis哨兵、复制、集群的设计原理,以及区别
高并发架构系列:Redis为什么是单线程、及高并发快的3大原因详解
如何解决Redis缓存雪崩、缓存穿……继续阅读 »
陈睿
2年前 (2018-12-18) 4441浏览 3评论
6个赞
需求起因
在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。
这个业务场景,主要是解决读数据从Redis缓存,一般都是按照下图的流程来进行业务操作。
读取缓存步骤一般没有什么问题,……继续阅读 »
陈睿
2年前 (2018-12-17) 9561浏览 8评论
10个赞
前一篇文章高并发架构系列:Redis为什么是单线程、及高并发快的3大原因详解谈了Redis高并发快的3个原因,本篇主要谈Redis的高可用,两篇合起来就可以把redis的高并发和高可用搞清楚了。
谈到Redis服务器的高可用,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制。
哨兵(Sentinel):可以管理多个Redis服务器,它提供……继续阅读 »
陈睿
2年前 (2018-12-14) 7327浏览 4评论
8个赞
Redis的高并发和快速原因
1.redis是基于内存的,内存的读写速度非常快;
2.redis是单线程的,省去了很多上下文切换线程的时间;
3.redis使用多路复用技术,可以处理并发的连接。非阻塞IO 内部实现采用epoll,采用了epoll+自己实现的简单的事件框架。epoll中的读、写、关闭、连接都转化成了事件,然后利用epoll的多路复用特……继续阅读 »
陈睿
2年前 (2018-12-13) 6150浏览 0评论
13个赞
Java相关的面试都会问到缓存的问题:史上最全Redis面试49题(含答案):哨兵+复制+事务+集群+持久化等,除此之外还会问到缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等不常见的问题,但却是非常重要的问题,今天谈谈这个话题。
基本看完这两篇,可以对redis有一个比较全面的初步了解,后续我再补充redis相关的实战篇,总结为一个redis系列。
……继续阅读 »
陈睿
2年前 (2018-12-12) 8870浏览 0评论
11个赞
最全面试题答案系列
史上最强多线程面试44题和答案:线程锁+线程池+线程同步等
最全MySQL面试60题和答案
史上最全memcached面试26题和答案
史上最全Spring面试71题与答案
今天主要分享redis最全答案系列
Redis主要有哪些……继续阅读 »
陈睿
2年前 (2018-12-11) 14531浏览 3评论
41个赞
RPC的由来
随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。
单一应用架构
当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。
此时,用于简化增删改查工作量的 数据访问框架(ORM) ……继续阅读 »
陈睿
2年前 (2018-12-05) 6227浏览 0评论
11个赞