nosql

互联网公司的面试官是如何360°无死角考察候选人的?

淺唱寂寞╮ 提交于 2020-11-18 18:27:15
作者: 石杉的架构笔记 一、写在前面 最近收到不少读者反馈,说自己在应聘一些中大型互联网公司的Java工程师岗位时遇到了不少困惑。 这些同学说自己也做了精心准备,网上搜集了不少Java面试题,然而实际去互联网公司面试才发现,人家问的,和你准备的对不上号,这就很尴尬了。 二、先来体验一个真实的面试连环炮 好,闲话不多说,我们进入正题! 本系列文章,我们将会从消息中间件、分布式缓存、分布式搜索、分布式架构、海量数据、NoSQL、高并发、高可用、高性能、数据库、JVM虚拟机等各方面聊一下面试中的高频技术问题。 现在一些中大型互联网公司的面试官,在面试候选人时,一般都会采取连环炮的策略来深挖一个候选人的技术水平。 举个例子,比如说看你简历上写了熟悉消息中间件(MQ技术)。那么可能我们就会有一个类似下面这样的连环炮式发问: 说说你们公司线上生产环境用的是什么消息中间件? 那你们线上系统是有哪些技术挑战,为什么必须要在系统里引入消息中间件? 你们的消息中间件技术选型为什么是RabbitMQ? 为什么不用RocketMQ或者是Kafka?技术选型的依据是什么? 你们怎么保证消息中间件的高可用性?避免消息中间件故障后引发系统整体故障? 使用消息中间件技术的时候,你们怎么保证投递出去的消息一定不会丢失? 你们怎么保证投递出去的消息只有一条且仅仅一条,不会出现重复的数据?

HBASE(分布式海量NOSQL数据库)

霸气de小男生 提交于 2020-11-17 07:00:09
HBase建表高级属性,hbase应用案例看行键设计,HBase和mapreduce结合,从Hbase中读取数据、分析,写入hdfs,从hdfs中读取数据写入Hbase,协处理器和二级索引 1. Hbase高级应用1.1建表高级属性下面几个shell 命令在hbase操作中可以起到很到的作用,且主要体现在建表的过程中,看下面几个create 属性1、 BLOOMFILTER 默认是NONE 是否使用布隆过虑及使用何种方式 布隆过滤可以每列族单独启用。 使用 HColumnDe... hbase系统架构图以及各部分的功能作用,物理存储,HBase寻址机制,读写过程,Regin管理,Master工作机制 1.1 hbase内部原理1.1.1 系统架构 Client 1 包含访问hbase的接口,client维护着一些cache来加快对hbase的访问,比如regione的位置信息。Zookeeper 1 保证任何时候,集群中只有一个master 2 存贮所有Region的寻址入口—-roo... hbase的shell命令行方式操作 进入hbase命令行 cd /home/tuzq/software/hbase-1.3.1/bin ./hbase shell 查看帮助 显示hbase中的表 List(列出你有哪些表) 创建user表,包含info、data两个列族 create

抗击疫情,阿里云数据库团队这样做…

我怕爱的太早我们不能终老 提交于 2020-11-15 06:28:43
采访时刻 小库: 在春节和疫情防控期间,阿里云数据库如何保障客户业务的正常运行,为疫情防控提供了怎样的支持? OLTP数据库团队 PolarDB通过云原生弹性能力快速扩容支撑了春节和抗疫期间在线教育、游戏行业和在线办公(钉钉)等流量爆发式增长的一波业务。在疫情中,通过重保和护航等方式有力的保障了多地医院、医保、交通、出入境管理等政府系统的稳定运行,在数字经济时代助力国家全面防控疫情。 OLAP数据库团队 数据库OLAP团队采用虚拟联合专家组的方式重点支撑教育、游戏、数字政府等行业客户,助力教育和游戏等行业实现精细化运营,助力数字政府多个省份实现全局疫情深度分析和防控。 NoSQL数据库团队 在春节期间,NoSQL数据库团队同学志愿参与了疫情智能问答机器人项目(由达摩院智能服务事业部发起,目前已嵌入到各省市的疾控中心与微信公众号等政府的app中。负责每个省市的机器人实例的前端配置、部署以及运维工作,一共部署/运维了30多套机器人实例,覆盖了全国大部分省市。 数据库管控团队 密切协作支持在线教育、医疗和远程办公用户突发高峰流量的系统扩容,护航武汉疫情项目平稳升级,确保用户业务享受到云数据库的极致弹性和便利,服务好社会的每个角落。 数据库生态工具团队 疫情防控期间在线教育等需求增长,数据传输服务DTS帮助用户数据库快速上云实现弹性扩容,帮助实现“停课不停教、不停学”

消息中间件

陌路散爱 提交于 2020-11-14 07:31:46
消息中间件为我们带来了异步特性,为系统解耦,对于大型分布式系统具有非常重大的意义 这样系统变得非常复杂 引入可扩展配置算是比较优雅的解决方案 降低了开发部署成本 并没实质性降低复杂性 引入消息中间件 解耦服务调用 只需要向消息中间件发送消息 其他服务订阅该消息 成功解耦,不用关心多少系统需要知道登陆成功这个事件 各个系统互不影响 上面用数据库 记录中间状态,写入时数据库不可用,还是会有问题 对于需要感知的应用,需要定时轮询查看状态,完成操作也要修改 能解决问题,实现简单,但是也存在问题: 增加了业务库的负担 依赖的复杂和不安全(发短信的服务对数据库有操作权限,这样不安全) 扩展性不好 互联网时代的消息中间件 JMS(java message service)是JavaEE(企业版)关于消息的规范 ActiveMQ 等产品是对该规范的实现 企业内部或小型系统直接使用JMS产品是很经济的 大型系统有一些场景不适合 在大型互联网中,使用消息中间件,最基础俩特点 应用之间解耦 操作的异步 重点考虑: 消息的顺序保证 扩展性 可靠性 业务操作与消息发送的一致性 及多集群订阅者 消息发送一致性 产生消息的业务动作和消息发送的一致性 上述两种做法,第一种丢失消息的概率是很低的, 但是对于必须保证一致性的场景, 上面的两种方案都不可取 JMS 能保证消息发送的一致性吗? JMS 重要要素 JMS

国内三大云数据库测试对比

核能气质少年 提交于 2020-11-13 12:56:43
导读 腾讯云 数据库提供了可视化的运维操作页面和自动备份的能力,降低了数据库运维的门槛。同时云数据库还支持高可用架构,对数据的安全性和服务的可靠性更有保障。另外有的云数据库厂商还提供了诸如数据库审计、慢查询分析、数据回档等能力,大大减轻了数据库运维和 DBA 的工作量。 我司 CTO 和技术总监都是腾讯系的,所以我们一开始就选用 腾讯云 的服务。他们家的云数据库提供了可视化的运维操作页面和自动备份的能力,降低了数据库运维的门槛。同时云数据库还支持高可用架构,对数据的安全性和服务的可靠性更有保障。另外有的云数据库厂商还提供了诸如数据库审计、慢查询分析、数据回档等能力,大大减轻了数据库运维和 DBA 的工作量。 其实我们就没有专门的 DBA,都是开发自己上去折腾,通过把数据库的可靠性外包给云端,确实极大地降低了我们的工作量,这一点还是挺爽的。但是在具体的使用过程中,发现还是有些地方不够满意,比如 MySQL 最高版只有5.6,没法用上 5.7.8+ 新增的 JSON 字段;建立数据库自带的只读从库门槛较高(要最高版本);binlog 的备份不方便;数据库授权上的坑(没有FILE和SHUTDOWN权限,不能grant all on *.*)等。 记得以前对比过 阿里云 和 UCloud 的云主机磁盘 IO(那时候 腾讯云 好像才刚起步呢),这么久过去了,再来比比看,他们的云数据库怎么样