暂时未有相关云产品技术能力~
关注公众号:JavaEdge,后台回复面试,领取更多大厂求职资源。曾在百度、携程、华为等大厂搬砖,专注Java生态各种中间件原理、框架源码、微服务、中台等架构设计及落地实战,只生产硬核干货!
你将学到 RabbitMQ 整合 Spring AMQP实战 RabbitMQ 整合 Spring Boot实战 RabbitMQ 整合 Spring Cloud实战
你将学到 如何保证消息百分百投递成功 幂等性 如何避免海量订单生成时消息的重复消费 Confirm确认消息、Return返回消息 自定义消费者 消息的ACK与重回队列 限流 TTL 死信队列
阿里云offer 5000人!7月9日 19:00,14个团队大牛空降直播间,在线直招50多个岗位,想要进入阿里云吗?快来点击下面链接投递简历吧
RabbitMQ是一个开源的消息代理和队列服务器,通过普通协议在完全不同的应用之间共享数据,使用Erlang语言编写,并且基于AMQP协议.
面试官就是想看看你是否了解ES的一些基本原理. ES无非就是写/查数据,你如果不明白你发起写入/搜索请求后,ES做了什么,那你该劝退了.
在搜索这块,曾经lucene 是最流行的搜索库. 几年前业内一般都问,你了解 lucene 吗?你知道倒排索引的原理吗? 但现在不问了,因为现在项目基本都是采用基于 lucene 的分布式搜索引擎—— ElasticSearch. 现在分布式搜索基本已经成为互联网系统的标配,其中尤为流行的就是 ES,前几年一般用 solr。
如何保证消息的顺序性?
高可用是必问的,因为MQ的缺点很多,导致系统可用性降低。 所以只要你用了MQ,接下来问的一些要点肯定就是围绕着MQ的那些缺点怎么解决. 要是你傻乎乎的就干用了一个MQ,各种问题从来没考虑过,那你就杯具了,面试官对你的印象就是,只会简单实用一些技术,没任何思考,马上对你的印象就不太好了。
数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。
1 代码架构的意义 代码架构就是详细设计中的核心内容! 1.1 代码架构承上启下,决定软件质量 ◆ 承上说明业务逻辑和业务领域模型◆ 本身保证代码有更好的可读性和可维护性、可扩展性◆ 启下承载代码运行的硬件部署架构 2 代码架构的操作 2.1 业务逻辑表达 向上沟通,提供交互入口 2.2 自身业务逻辑及技术实现 向下沟通,保存运行状态 3 代码架构的设计 先看一下DDD和分层架构的相关知识。
1 基本的 API 概念 Flink程序是实现分布式集合转换的常规程序(例如,过滤,映射,更新状态,加入,分组,定义窗口,聚合)。最初从源创建集合(例如,通过从文件,kafka主题或从本地的内存集合中读取)。
了解Flink是什么,Flink应用程序运行的多样化,对比业界常用的流处理框架,Flink的发展趋势,Flink生态圈,Flink应用场景及Flink如何进行高效的Flink学习。 0 相关源码 1 前言 1.
1 需求分析 WebServer/ApplicationServer分散在各个机器上,然而我们依旧想在Hadoop平台上进行统计分析,如何将日志收集到Hadoop平台呢? 简单的这样吗? shell cp hadoop集群的机器上; hadoop fs -put ... / 显然该法面临着容错、负载均衡、高延迟、数据压缩等一系列问题这显然已经无法满足需求了! 不如问问神奇的Flume呢??? 只需要配置文件,轻松解决以上问题! 2 Flume概述 2.1 官网 Flume是一种分布式,可靠且可用的服务,用于有效地收集,聚合和移动大量日志数据。
Netty源码阅读入门实战(六)-pipeline
这个问题,互联网公司必问,要是一个人连缓存都不太清楚,那确实比较尴尬 只要问到缓存,上来第一个问题,肯定能是先问问你项目哪里用了缓存?为啥要用?不用行不行?如果用了以后可能会有什么不良的后果? 这就是看看你对你用缓存这个东西背后,有没有思考,如果你就是傻乎乎的瞎用,没法给面试官一个合理的解答。
Redis启动初始化时,将连接应答处理器跟AE_READABLE事件关联。 若一个客户端发起连接,会产生一个AE_READABLE事件,然后由连接应答处理器负责和客户端建立连接,创建客户端对应的socket,同时将这个socket的AE_READABLE事件和命令请求处理器关联,使得客户端可以向主服务器发送命令请求。 当客户端向Redis发请求时(不管读还是写请求),客户端socket都会产生一个AE_READABLE事件,触发命令请求处理器。处理器读取客户端的命令内容, 然后传给相关程序执行。 当Redis服务器准备好给客户端的响应数据后,会将socket的AE_WRITABLE事件和命令回
1 面试题 redis都有哪些数据类型?分别在哪些场景下使用比较合适? 2 考点分析 除非是感觉看你简历,就是工作3年以内的比较初级的一个同学,可能对技术没有很深入的研究过,我才会问这类问题,在宝贵的面试时间里,我实在是不想多问 其实问这个问题,主要就俩原因 看看你到底有没有全面的了解redis有哪些功能,一般怎么来用,啥场景用什么,就怕你别就会最简单的kv操作 看看你在实际项目里都怎么玩儿过redis 要是你回答的不好,没说出几种数据类型,也没说什么场景,你完了,面试官对你印象肯定不好,觉得你平时就是做个简单的set和get。
1 面试题 如何保证缓存与数据库的双写一致性? 2 考点分析 你只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题? 3 详解 一般来说,就是如果你的系统不是严格要求缓存+数据库必须一致性的话,缓存可以稍微的跟数据库偶尔有不一致的情况,最好不要做这个方案 读请求和写请求串行化,串到一个内存队列里去,这样就可以保证一定不会出现不一致的情况 串行化之后,就会导致系统的吞吐量会大幅度的降低,用比正常情况下多几倍的机器去支撑线上的一个请求。
1 数据集简介 MovieLens数据集是一个关于电影评分的数据集,里面包含了从IMDB, The Movie DataBase上面得到的用户对电影的评分信息,详细请看下面的介绍。 1 links.csv 文件里面的内容是帮助你如何通过网站id在对应网站上找到对应的电影链接的。
1 功能 2 用户 国际 国内 3 特点 ◆ 结合Java、Scala两种语言◆ 从基础到实战◆ 系统学习Flink的核心知识◆ 快速完成从入门到上手企业开发的能力提升 4 安排 ◆ 初识Flink ◆ 编程模型及核心概念 ◆ DataSet API编程 ◆ DataStream AP.
Java序列化是指把Java对象保存为二进制字节码的过程,Java反序列化是指把二进制码重新转换成Java对象的过程。那么为什么需要序列化呢?
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的[SQL]查询功能,可以将SQL语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
将结合前述知识进行综合实战,以达到所学即所用。在推荐系统项目中,讲解了推荐系统基本原理以及实现推荐系统的架构思路,有其他相关研发经验基础的同学可以结合以往的经验,实现自己的推荐系统。
将结合前述知识进行综合实战,以达到所学即所用。文本情感分类这个项目会将分类算法、文本特征提取算法等进行关联,使大家能够对Spark的具体应用有一个整体的感知与了解。
通过讲解PCA算法的原理,使大家明白降维算法的大致原理,以及能够实现怎么样的功能。结合应用降维算法在分类算法使用之前进行预处理的实践,帮助大家体会算法的作用。
0 相关源码 1 k-平均算法(k-means clustering)概述 1.1 回顾无监督学习 ◆ 分类、回归都属于监督学习 ◆ 无监督学习是不需要用户去指定标签的 ◆ 而我们看到的分类、回归算法都需要用户输入的训练数据集中给定一个个明确的y值 1.2 k-平均算法与无监督学习 ◆ k-平均算法是无监督学习的一种 ◆ 它不需要人为指定一个因变量,即标签y ,而是由程序自己发现,给出类别y ◆ 除此之外,无监督算法还有PCA,GMM等 源于信号处理中的一种向量量化方法,现在则更多地作为一种聚类分析方法流行于数据挖掘领域。
基于Spark的机器学习实践 (八) - 分类算法
Spark机器学习实战
# 0 [相关源码](https://github.com/Wasabi1234/Spark-MLlib-Tutorial) # 1 基础统计模块及常用统计学知识介绍 ◆ Spark 的基础统计模块即MLlib组件中的Basic Statistics部分 ◆ Basic Statis...
基于Spark的机器学习实践 (04)-数据可视化
Spark安装及启动
1 MLlib概述 1.1 MLlib 介绍 ◆ 是基于Spark core的机器学习库,具有Spark的优点 ◆ 底层计算经过优化,比常规编码效率往往要高 ◆ 实现了多种机器学习算法,可以进行模型训练及预测 1.2 Spark MLlib实现的算法 ◆ 逻辑回归 朴素贝叶斯 线性回归 SVM 决策树 LDA 矩阵分解 1.3 Spark MLlib官方介绍 1.3.1 搜索官方文档 1.3.2 阅读文档 - 机器学习库(MLlib)指南 简介 MLlib是Spark的机器学习(ML)库。
0 环境 CentOS7 RabbitMQ 3.6.5 erlang 18.3 socat rabbitmq是使用erlang语言编写的,所以需要先安装erlang,其次rabbitmq安装依赖于socat,所以三个安装包都需要下载。
分片(partitioning)就是将你的数据拆分到多个 Redis 实例的过程,这样每个实例将只包含所有键的子集. 1 分片何用 Redis 的分片承担着两个主要目标: 允许使用很多电脑的内存总和来支持更大的数据库。
1 Redis分布式算法原理 1.1 传统分布式算法 1.2 Consistent hashing一致性算法原理 环形 hash 空间:按照常用的 hash 算法来将对应的 key 哈希到一个具有 232 个桶的空间,即(0-232-1)的数字空间中,现在我们将这些数字头尾相连,想象成一个闭...
0 本文示例代码 1 基本概念 1.1 并发 同时拥有两个或者多个线程,如果程序在单核处理器上运行多个线程将交替地换入或者换出内存,这些线程是同时“存在"的,每个线程都处于执行过程中的某个状态,如果运行在多核处理器上,此时,程序中的每个线程都将分配到一个处理器核上,因此可以同时运行.
说起CS游戏,应该是每个中二少年的年少回忆了.游戏开始时,每个人能够领到一把枪,枪把上有三个数字:子弹数、杀敌数、自己的命数,为其设置的初始值分别为1500、0、10. 设战场上的每个人都是一个线程,那么这三个初始值写在哪里呢?如果每个线程都写死这三个值,万一将初始子弹数统一改成 1000发呢?如果共享,那么线程之间的并发修改会导致数据不准确.
0.0 相关源码链接 https://github.com/Wasabi1234/design-patterns 1 定义 也叫做政策模式(Policy Pattern) 维基百科对象有某个行为,但是在不同的场景中,该行为有不同的实现算法.
1 MySQL的三种锁 1.1 表锁 开销小,加锁快 不会出现死锁 锁定粒度大,发生锁冲突的概率最高,并发度最低 1.2 行锁 开销大,加锁慢 会出现死锁 锁定粒度小,发生锁冲突的概率最低,并发度最高 1.
前言 其实在18年11月有了华为,就已经宣告结束了大学校招历程,是时候写下总结了,再不写估计很多东西都忘了。 在一些程序员社区混久了,从别人的学习、求职、工作经历中越发感受到很多的正能量,也本着攒RP值的原则,向学弟学妹们,尤其和我非名校双非本科生学弟学妹们传递点正能量,因为博主也是非名校出身,而且在整个求职的过程中能够很明显地感受到名校学生那种得天独厚的优势,同样的实力,名校学生进入BAT等一线互联网企业确实要容易很多,即便技术很水,一样有华为等企业保底,而非名校的可能连简历筛选这关都过不了。
发表了文章
2025-04-18
发表了文章
2025-02-11
发表了文章
2025-02-11
发表了文章
2025-02-11
发表了文章
2025-02-11
发表了文章
2025-01-02
发表了文章
2024-11-01
发表了文章
2024-10-31
发表了文章
2024-10-30
发表了文章
2024-10-29
发表了文章
2024-10-28
发表了文章
2024-10-27
发表了文章
2024-10-26
发表了文章
2024-10-25
发表了文章
2024-10-24
发表了文章
2024-10-23
发表了文章
2024-10-22
发表了文章
2024-10-21
发表了文章
2024-10-20
发表了文章
2024-10-19