ZooKeeper

2020秋招到了,想要跳槽吗?这套面试法宝可为你助力

我的梦境 提交于 2020-08-11 18:23:28
想要跳槽,你得具备以下条件: 具备很强的专业知识,牛逼,有信心快速找到下一家适合你的公司. 然后有一定存款,可以保证当下辞职后,生活方面不愁. 当然学习是很重要的,不努力提升自己,加强自己的专业知识,后面就算是跳槽成功也是很容易被PASS掉,现实是残 酷的,可千万不要因为找到新工作就放松警惕,做咸鱼. 那今天给你们分享这千道面试题,希望在找工作或者是想要跳槽的朋友都可以刷刷,准备充足,随时应战,顺利拿offer !!!! MyBatis 面试题 什么是 Mybatis? Mybaits 的优点: MyBatis 框架的缺点: MyBatis 框架适用场合: MyBatis 与 Hibernate 有哪些不同? #{}和${}的区别是什么? 当实体类中的属性名和表中的字段名不一样 ,怎么办 ? 模糊查询 like 语句该怎么写? 通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应,请问,这个 Dao 接口的工作原理是什么?Dao 接口里的方法,参数不同时,方法能重载吗? Mybatis 是如何进行分页的?分页插件的原理是什么? Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式? 如何执行批量插入? 如何获取自动生成的(主)键值? 在 mapper 中如何传递多个参数? Mybatis 动态 sql 有什么用?执行原理?有哪些动态 sql? Xml

从0到1:构建强大且易用的规则引擎

拟墨画扇 提交于 2020-08-11 17:06:44
     引言   2016年07月恰逢美团点评的业务进入“下半场”,需要我们在各个环节优化体验、提升效率、降低成本。技术团队需要怎么做来适应这个变化?这个问题直接影响着之后的工作思路。   美团外卖的CRM业务步入成熟期,规则类需求几乎撑起了这个业务所有需求的半边天。一方面规则唯一不变的是“多变”,另一方面开发团队对“规则开发”的感受是乏味、疲惫和缺乏技术含量。如何解决规则开发的效率问题,最大化解放开发团队成为目前的一个KPI。   规则引擎作为常见的维护策略规则的框架很快进入我的思路。它能将业务决策逻辑从系统逻辑中抽离出来,使两种逻辑可以独立于彼此而变化,这样可以明显降低两种逻辑的维护成本。   分析规则引擎如何设计正是本文的主题,过程中也简单介绍了实现方案。   案例   首先回顾几个美团点评的业务场景。通过这些场景大家能更好地理解什么是规则,规则的边界是什么。在每个场景后面都介绍了业务系统现在使用的解决方案以及主要的优缺点。    门店信息校验 场景   美团点评合并前的美团平台事业部中,门店信息入口作为门店信息的第一道关卡,有一个很重要的职责,就是质量控制,其中第一步就是针对一些字段的校验规则。   下面从流程的角度看下门店信息入口业务里校验门店信息的规则模型(已简化),如下图。   规则主体包括3部分:   分支条件。分支内逻辑条件为“==”和“<”。   简单计算规则

Netty、Redis、ZooKeeper高并发实战(笔记六)

大兔子大兔子 提交于 2020-08-11 16:16:33
netty 使用: Bootstrap启动流程中8个步骤。 //创建反应器线程组 //boss线程组 EventLoopGroupbossLoopGroup = new NioEventLoopGroup(1); //worker线程组 EventLoopGroupworkerLoopGroup = new NioEventLoopGroup(); //... //1 设置反应器线程组 b.group(bossLoopGroup, workerLoopGroup); 在设置反应器线程组之前,创建了两个NioEventLoopGroup线程组,一个负责处理连接监听IO事件,名为bossLoopGroup;另一个负责数据IO事件和Handler业务处理,名为workerLoopGroup。 在线程组创建完成后,就可以配置给启动器实例,调用的方法是b.group(bossGroup,workerGroup),它一次性地给启动器配置了两大线程组。 不一定非得配置两个线程组,可以仅配置一个EventLoopGroup反应器线程组。具体的配置方法是调用b.group(workerGroup)。在这种模式下,连接监听IO事件和数据传输IO事件可能被挤在了同一个线程中处理。这样会带来一个风险:新连接的接受被更加耗时的数据传输或者业务处理所阻塞。 Netty不止支持Java NIO

Flume简介与详细安装教程

孤人 提交于 2020-08-11 14:47:04
Flume简介 Flume是Cloudera提供的日志收集系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。 Flume是一个分布式、可靠和高可用的海量日志采集、聚合和传输的系统。 Flume拥有基于数据流上的简单灵活架构,支持容错、故障转移与恢复。 Flume具有 Reliability、Scalability、Manageability和Extensibility 特点: 1.Reliability :Flume提供3中数据可靠性选项,包括End-to-end、Store on failure和Best effort。其中End-to-end使用了磁盘日志和接受端Ack的方式,保证Flume接受到的数据会最终到达目的。Store on failure在目的不可用的时候,数据会保持在本地硬盘。和End-to-end不同的是,如果是进程出现问题,Store on failure可能会丢失部分数据。Best effort不做任何QoS保证。 2.Scalability :Flume的3大组件:collector、master和storage tier都是可伸缩的。需要注意的是,Flume中对事件的处理不需要带状态,它的Scalability可以很容易实现。 3.Manageability

面试官必问面试题汇总

ε祈祈猫儿з 提交于 2020-08-11 14:45:18
面试题一 一、描述下数据库中的事务–ACID各个的特点。 原子性:事务中的操作要么全部成功要么全部失败。 一致性:事务前后数据的完整性必须保持一致。 隔离性:多个并发的事务之间是相互隔离的,互不干扰的。 持久性:事务提交后,数据是永久改变的。 二、什么是springboot?你们公司是用的哪个版本? SpringBoot是Spring推出用于解决传统框架配置文件冗余,装配组件繁杂的基于Maven的解决方案,旨在快速搭建单个微服务。 版本号:2.1.6 三、什么是redis? Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 四、如何理解springcloud微服务项目中,eureka,provider,consumer它们之间的关系? eureka:提供服务注册于发现 provider:服务提供方法将自身注册到eureka,让消费方找到 consumer:服务消费方从eureka获取注册服务列表,能够消费服务 五、mysql默认的存储引擎是什么? Mysql在V5.1之前默认存储引擎是MyISAM;在此之后默认存储引擎是InnoDB。 MyISAM不支持事务,InnoDB支持事务。 MySIAM不支持外键,InnoDB支持外键, MySIAM支持全文索引,InnoDB不支持全文索引。 六、什么是跨域? 要了解跨域,先要说说同源策略。所谓同源是指

浅谈hbase

别等时光非礼了梦想. 提交于 2020-08-11 14:30:41
HBase 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,适用于结构化的存储,底层依赖于Hadoop的HDFS,利用HBase技术可在廉价PCServer上搭建起大规模结构化存储集群。因此HBase被广泛使用在 大数据存储 的解决方案中。 为何使用HBase HBase的优点: 列可以动态增加,并且列为空就不存储数据,节省存储空间。 Hbase自动切分数据,使得数据存储自动具有水平scalability。 Hbase可以提供高并发读写操作的支持。 HBase的缺点: 不能支持条件查询,只支持按照Row key来查询。 HBase并不适合传统的事物处理程序或关联分析,不支持复杂查询,一定程度上限制了它的使用,但是用它做数据存储的优势也同样非常明显。 因为HBase存储的是松散的数据,所以如果你的应用程序中,数据表每一行的结构是有差别的,那么可以考虑使用HBase。因为HBase的列可以动态增加,并且列为空就不存储数据,所以如果你需要经常追加字段,且大部分字段是NULL值的,那可以考虑HBase。因为HBase可以根据Rowkey提供高效的查询,所以如果你的数据(包括元数据、消息、二进制数据等)都有着同一个主键,或者你需要通过键来访问和修改数据,使用HBase是一个很好地选择。 HBase的数据结构 要使用HBase我们首先要了解HBase的数据结构:

停滞数年后,ElasticJob 携首个 Apache 版本 3.0.0-alpha 回归!

↘锁芯ラ 提交于 2020-08-11 11:30:26
作者 | 张亮,Apache ShardingSphere PMC Chair 责编 | 夕颜 头图 | CSDN 出品 | CSDN(ID:CSDNnews) 在成为 Apache ShardingSphere 的子项目的几个月时间里,ElasticJob 社区在修复与合并了535个 issue 和 pull request 之后,发布了加入 Apache 软件基金会后的第一个正式版本:3.0.0-alpha。 背景 ElasticJob( https://github.com/apache/shardingsphere-elasticjob )是面向互联网生态和海量任务的分布式调度解决方案,由两个相互独立的子项目 ElasticJob-Lite 和 ElasticJob-Cloud 组成。它诞生于 2015年,当时业界虽然有 QuartZ 等出类拔萃的定时任务框架,但缺乏分布式方面的探索。分布式调度云平台产品的缺失,使得 ElasticJob 从出现伊始便备受关注。它有效地弥补了作业在分布式领域的短板,并且提供了一站式的自动化运维管控端,各个产品使用统一的作业 API,开发者仅需一次开发,即可随意部署。 ElasticJob 在技术选型时,选择站在了巨人的肩膀上而不是重复制造轮子的理念,将定时任务事实标准的 QuartZ 与 分布式协调的利器 ZooKeeper 完美结合

nginx配置管理平台

不羁岁月 提交于 2020-08-11 10:40:46
一、架构图 注: group1,2,3表示nginx组,一个group下有n个nginx节点 nginxmanager配置管理,功能包括,增删改查组,编辑配置文件,检测配置文件,推送配置文件 GUI图形界面操作接口 agent ,rpc调用,发布配置 二、技术栈 python,django,zookeeper等 来源: oschina 链接: https://my.oschina.net/u/4318023/blog/4307399

颓废程序员,大四=失业,用一个月时间让我遇见更好的我自己,努力ing,我会持续更新我自己的成果以及遇到的问题的

左心房为你撑大大i 提交于 2020-08-11 10:12:18
因为太菜了,所以本博客基本就是写日记呀,写写心得写写学到的东西遇到的坑,以后复习起来也方便,不是做什么大型项目 资料基本都是看的一些b站上面的视频可能会很浅显,希望有看到的大佬们能给点建议,根据大佬们的建议我会去更改自己的计划,在这就先谢谢那些大佬们啦,谢谢你们的帮助!!! Java基础知识以及servlet之前已经看过了,应该还可以,如果之后又要用到遗忘的用到的时候再去快速得补一下 我必须要把这些进度完成,不然不睡觉!!! 8.8 计算机网络,tcp/ip协议,socket,操作系统,cpu底层(马士兵老师的课程) 8.9Spring复习 8.10-8.11SpringMVC 8.13-8.14MyBatis 8.15-8.16SpringBoot 8.17-8.19struts框架 8.20-8.22habinate框架 8.23-8.25分布式架构 8.26-8.28Netty框架 8.29-8.30radis 8.31-9.2SpringCloud 9.3-9.5Nginx 9.6-9.7Zookeeper 9.8-9.9SVN,git,Maven,docker 可能我写的都很菜,大家别介意啊,只是想写一个博客来记录我自己,为自己而奋斗一把,不让游戏一直占据着我的生活 因为我是2021届的本科生,学校是以前的三本所以要靠自己去学,现在学校里面催着要快点找到工作

分布式配置管理--百度disconf搭建过程和详细使用

≯℡__Kan透↙ 提交于 2020-08-11 10:02:21
先说官方文档:http://disconf.readthedocs.io/zh_CN/latest/index.html 不管是否要根据官方文档来搭建disconf,都应该看一下这一份文档.精炼清晰地介绍了disconf的功能和其他一些包含的东西.看完至少对disconf已经有了大概的了解 disconf: https://github.com/knightliao/disconf (管理端) demos: https://github.com/knightliao/disconf-demos-java (客户端) wiki: https://github.com/knightliao/disconf/wiki (wiki) 我搭建的页面: 开始步骤吧: 安装Mysql(Ver 14.12 Distrib 5.0.45, for unknown-linux-gnu (x86_64) using EditLine wrapper) 安装Tomcat(apache-tomcat-7.0.50) 安装Nginx(nginx/1.5.3) 安装 zookeeeper (zookeeper-3.3.0) 安装 Redis (2.4.5) 其中安装redis和nginx稍微麻烦一些,参考:    http://www.cnblogs.com/garfieldcgf/p/6438898.html