Redis

96年/离职8个月/拒绝华为offer/目前自由职业-记这大半年来的挣扎与迷茫

♀尐吖头ヾ 提交于 2020-10-25 15:02:43
仅以此文,记录自己这大半年来的挣扎与迷茫。 2019 年 11 月 在公司工作七个月之后,我被裁员了。 回忆自己这七个月的经历,不管是遇到的人和事,更多感到的是收获和感恩,于是我写下了: 「应届毕业生工作7个月小结」 ,当做对于这七个月的小小总结。 本想好好休息几天,不料第二天还在睡梦中,就有 HR 和猎头找上门来了.. 既然来了,就好好准备复习面试吧.. 2019 年 12 月 疯狂面试ing... 然后 12 月开始了疯狂面试,包括华为 (口头 Offer) 、字节跳动 (一面挂,面试官说很久没问过应届生了..) 等,一下子就面到了 12 月中旬了。 说实话,那段时间好怕面试官问: 「你对 HashMap 了解多少?」 这种问题。 从「基础结构」到「 1.7 到 1.8 版本变化」; 从「与其他 Map 结构对比和区别」到「 HashMap 具体的 put/resize/hash 等的具体过程」; 从「为什么 String/Integer 适合做 HashMap 的 K 」到「 HashMap 为什么不直接使用 hashCode() 处理后的哈希值直接作为 table 下标」; 从「什么是哈希,什么是哈希冲突」到「 HashMap 如何解决哈希冲突」; 再从 HashMap 延伸的其他 Java 常用集合.... 这些教科书式回答我都快说吐了.. 疯狂面试的生活

架构师都该懂的 CAP 定理

£可爱£侵袭症+ 提交于 2020-10-25 13:44:13
面对可能出现的网络延迟,不可预估的请求流量等情况,设计一个分布式系统,我们通常围绕系统高可用,数据一致性的目标去规划和实现,想要完全实现这个目标,却并非易事。由此,分布式系统领域诞生了一个基本定理,即 CAP 定理,用于指导分布式系统的设计,从系统高可用,数据一致性,网络容错三个角度将分布式系统的特性抽成一个分区容错一致性模型。这样一来,让系统设计者只需根据业务场景特点,进行权衡设计适合业务场景的分区容错一致性模型即可,很大程度简化了分布式系统设计的难度。 也因此,CAP 定理是架构师所必须要掌握的内容,它影响着架构师对分布式系统的技术选型,技术决策。既然如此重要,接下来,我们就一起学习下 CAP 定理吧。 什么是 CAP CAP 定理最初是由加州大学伯克利分校的计算机科学家埃里克·布鲁尔(Eric Brewer)在 2000 年的 ACM PODC 上提出的一个猜想,也因此被叫做布鲁尔定理。后来在 2002 年,麻省理工学院的赛斯·吉尔伯特(Seth Gilbert)和南希·林奇(Nancy Lynch)发表了 CAP 定理的证明,让它成为分布式系统领域公认的一个定理。 CAP 定理指出了,在一个跨区域网络连接,共享数据的分布式系统中,一致性(Consistency),可用性(Availability)和分区容错性(Partition Tolerance)

Docker中使用supervisor管理开机自启动(redis && sshd)

拜拜、爱过 提交于 2020-10-25 12:33:52
1、Centos安装Redis参考 http://blog.csdn.net/lsziri/article/details/69389187 2、Dockerfile # Docker for CentOS 7 #Base image FROM hfq/centos7:Jurassic RUN \ wget http://download.redis.io/releases/redis-3.2.8.tar.gz && tar xzf redis-3.2.8.tar.gz \ && cd redis-3.2.8 && yum -y install tcl && make && make install \ && mkdir -p /etc/redis/ #安装supervisor=============================重点================================= RUN yum -y install python-setuptools RUN easy_install supervisor ADD redis.conf /etc/redis/redis.conf ADD supervisord.conf /etc/supervisord.conf EXPOSE 6379 EXPOSE 12007 CMD /usr/bin

作为一名Java程序员,技术栈的广度深度都不够还想要高薪?请先把这些技术掌握再说。

╄→гoц情女王★ 提交于 2020-10-25 12:30:19
写在前面 最近发现后台不少读者留言吐槽“ 职业窄化 ”的现状——加班严重、涨薪慢、没有时间社交、视野受限、健康受损、一直得不到好的晋升机会、学不到新东西……可当问到金三银四有什么打算的时候,却回答出奇的一致:想跳,但又不敢跳。 个人来看,不管是为了摆脱困境、还是追求更好的发展,只要有助于提升自身能力,符合自己的职业发展规划,跳槽,本身就是一种不错的选择。那么问题来了,处于瓶颈期 的 Java 人,究竟该如何应对一轮又一轮的技术面试呢? 如果个人技术沉淀不足,没搞清市场主流需求的话,结果可想而知。其实,对于 Java 来说,技术岗位无非就是考核这几个方面—— 主流技术框架、源码阅读能力、高并发设计经验、项目实战、架构设计 。 为了能让急需提升的朋友,少走些弯路,在有限时间内补齐短板,这里给大家分享一些我自己收藏学习的技术书籍,有需要这些书籍PDF的朋友可以加我vx【tkzl6666】获得免费领取方式! 资料简介 一、【Java并发编程从入门到入坟】 本书作者结合自己10多年Java并发编程经验,详细介绍了Java并发编程的基础、工作原理、编程技巧和注意事项,对Java高性能高并发编程有极大的参考价值。 本书内容包括并发编程概念,线程,线程安全,线程集合类,线程阀,线程池,Fock/Join,线程、线程池在互联网项目开发的应用,线程监控及线程分析,Android中线程应用。

Java架构师进阶之路,2020年最新Java技能全解析。持续更新...

蓝咒 提交于 2020-10-25 10:58:42
Java程序员的引路人马士兵老师亲授的Java架构技能全集,持续更新在B站中......求各位老铁给个三连支持一下 谢谢么么哒! 清华双名师分享Java面试经验、讲述职业生涯、谈架构师思维,看完我直接跪了! 【面试造火箭,工作拧螺丝】程序员平时的样子VS面试时的样子。 不就一个SpringBoot么,还想阻止我转行?(阿里大牛带你深度解读SpringBoot源码,从入门到入坟!) 清华大牛马士兵亲授Java面试必备计算机底层知识:操作系统、CPU底层原理、微机原理、计算机组成原理等。 牛皮了,阿里资深架构师通过手写布隆过滤器解决Redis缓存穿透问题! 2020年GitHub上最牛b的Java相关教程和实战项目都在这里了! MySql从入门到“入坟”系列:阿里大牛用300分钟带你彻底了解MySQL的各种底层实现机制(MySql索引、MySql事务、MySql锁机制等) 阿里P8Java架构师带你深入Netty底层原理,面试大厂再也不怕被Netty难倒! 阿里P8架构师用450分钟时间让你精通Redis,面试再也不怕被问Redis! 豪横!马士兵大佬带你实战JVM,吊打所有敢于提问JVM问题的面试官! 豪横!马士兵老师带你横扫一切关于多线程的问题,吊打所有敢于提问并发问题的面试官! Java程序员想要深入理解JVM、GC调优,熟悉掌握多线程高并发?看骨灰级架构师【马士兵

最新蚂蚁花呗面试题:线程池与锁+数据主从同步+MQ实现+秒杀超卖

荒凉一梦 提交于 2020-10-25 10:27:53
一面:主要问的基础知识 java线程同步都有哪几种方式,Synchronized和ReentrantLock的区别 ReentrantLock底层是怎么实现的,怎么实现的超时获取锁。 cas的原理,变量要用哪个关键字修饰,volatile实现的原理,进而引申到了java虚拟机的内存模型。 介绍一下java虚拟机内存模型,然后继续讨论volatile。 线程池种类,哪四种 workqueue分别是什么 什么时候触发minor GC 什么时候触发full GC 聊点数据库,一般选什么样的字段做主键,有什么选取原则吗,用种子自增来做主键,为什么每次种子要加1,加2加3可以吗。 sql优化有哪些思路 索引使用注意事项 InnoDB数据模型,B+树具体说说都保存了什么,叶子节点保存了什么 你有什么想问我的。 二面:主要是围绕项目 1、介绍一下你的项目(主要是技术难点),请画出项目架构设计图和部署图? 2、dubbo负载均衡算法有哪些,如果让你实现一致性hash的dubbo负载均衡算法,你会怎么实现? 3、zookeeper实现的分布式锁的原理,以及redis具体怎么实现分布式锁? 4、限流是怎么实现的,hystrix介绍一下。 5、dubbo有哪些模块,底层通信的原理。 6、spring的ioc,aop是怎么实现的。 7、线上问题的解决思路,程序运行一段时间,突然内存溢出,重启后

redis数据丢失你怎么处理?

▼魔方 西西 提交于 2020-10-25 09:44:46
1. 两种数据丢失的情况 主备切换的过程,可能导致数据丢失; 1.1. 异步复制导致的数据丢 因为master -> slave的复制是异步的,所以可能有部分数据还没复制到slave,master就宕机了,此时这些部分数据就丢失了 1.2 脑裂导致的数据丢失 脑裂就是说,某个maser 所在机器突然脱离了正常的网络,跟其他slave机器不能连接,但是实际上master还运行着,此时哨兵可能就会认为master 宕机了,然后开启选举,将其他slave切换成了master,这个时候,集群里面就会有2个master,也就是所谓的脑裂,此时虽然某个slave被切换成了master,但是可能client还没来得及切换到新的master,还继续写向旧master的数据可能也丢失了,因此master再次恢复的时候,会被作为一个slave挂到新的master 上去,自己的数据将会清空,重新从新的master 复制数据 2. 解决异步复制和脑裂数据导致的数据丢失 # redis.conf 配置 Min-slaves-to-write 1 Min-slaves-max-lag 10 上面这两个配置可以减少异步复制和脑裂导致的数据丢失 ###2.1 减少异步复制的数据丢失 有了min-slaves-max-lag这个配置,可以确保说,一旦slave复制数据和ack延迟太长,就认为可能master

618 Tech Talk|高并发场景下的数据访问速度如何保障?

旧时模样 提交于 2020-10-25 09:15:37
云妹导读: 达达集团618迎来了“达达物流”和“京东到家”双平台业绩新高,京东智联云云缓存Redis保障了京东到家在大促期间高并发场景下的数据访问速度。那Redis是什么?云上缓存Redis概况?京东智联云云缓存Redis又如何助力“京东到家”呢? 缓存Redis已成为高并发场景下提升数据访问速度的标配。大多数企业都会面临大量并发读写数据时访问速度慢、数据库压力大的问题,Redis起到了降低数据库压力,提升数据访问速度的作用。下图是某网站业务的解决访问速度慢的问题,引入缓存Redis提升访问速度的流程: 01 Redis 是什么? Redis(Remote Dictionary Server)是意大利人开发的一款内存高速缓存数据库,由C语言编写而成,是典型的NoSQL数据库,号称世界上最快的数据库之一。有如下特点: 支持多种数据结构,支持如下图所示的五种数据结构 读写速度快、性能高,由于数据都存在内存中,非SSD或者HDD等存储介质,内存型数据库的最大特点就是性能高、响应时间极低 持久化到硬盘上(Redis 提供了两种持久化方式:RDB 和 AOF),即使断点或机器故障时,内存数据不会丢失,保证了数据的高可靠 高可用和分布式,提供哨兵机制保证服务高可用,不同节点保障分布式部署 多语言客户端,支持Java、PHP、Python、C、C++、Nodejs等 丰富的功能,键过期

架构师都该懂的 CAP 定理

拈花ヽ惹草 提交于 2020-10-25 07:17:11
面对可能出现的网络延迟,不可预估的请求流量等情况,设计一个分布式系统,我们通常围绕系统高可用,数据一致性的目标去规划和实现,想要完全实现这个目标,却并非易事。由此,分布式系统领域诞生了一个基本定理,即 CAP 定理,用于指导分布式系统的设计,从系统高可用,数据一致性,网络容错三个角度将分布式系统的特性抽成一个分区容错一致性模型。这样一来,让系统设计者只需根据业务场景特点,进行权衡设计适合业务场景的分区容错一致性模型即可,很大程度简化了分布式系统设计的难度。 也因此,CAP 定理是架构师所必须要掌握的内容,它影响着架构师对分布式系统的技术选型,技术决策。既然如此重要,接下来,我们就一起学习下 CAP 定理吧。 什么是 CAP CAP 定理最初是由加州大学伯克利分校的计算机科学家埃里克·布鲁尔(Eric Brewer)在 2000 年的 ACM PODC 上提出的一个猜想,也因此被叫做布鲁尔定理。后来在 2002 年,麻省理工学院的赛斯·吉尔伯特(Seth Gilbert)和南希·林奇(Nancy Lynch)发表了 CAP 定理的证明,让它成为分布式系统领域公认的一个定理。 CAP 定理指出了,在一个跨区域网络连接,共享数据的分布式系统中,一致性(Consistency),可用性(Availability)和分区容错性(Partition Tolerance)