
综合
文章平均质量分 78
Kellan_Song
就是一名为生活而艰苦拼搏的程序员。
展开
-
4大MQ消息队列的比较
概述现在市面上比较主流的四个MQ消息队列中间件:RabbitMQ、RocketMQ、ActiveMQ、Kafka;消息中间件的核心组件核心组件基本上所有的消息中间件都是相同的,或许只是命名不同;1 Broker(消息服务器)消息服务器是消息中间件中,用于接收和转发消息的核心组件;2 Producer(消息生成者)负责生成消息并将消息传输到Broker3 Conumer(消息消费者)负责从Broker获取消息并消费处理4 Topic(消息主题)主题是消息传递过程中,生产者给指定生成者传递原创 2021-04-27 08:56:05 · 2315 阅读 · 0 评论 -
Redis的常见面试内容
1 Redis为什么访问快1.1 数据保存在内存中Redis的数据读写都是基于内存的,不需要磁盘IO1.2 基于key-vaule数据结构Redis的数据都是以key-value的数据结构储存在散列表中,时间复杂度只有O(1);Redis定义了丰富的数据结构,可以根据value的特性选择最高效的数据结构;1.3 单线程模型Redis的网络IO和数据读写都是使用单线程模型,这避免了线程切换所带来的消耗;1.4 IO多路复用Redis使用的是epoll网络模型:内核会一直监听新的soc原创 2021-04-27 08:53:24 · 346 阅读 · 0 评论 -
2021年华为OD面试流程
概述前面有一篇《华为OD的五轮面试总结》 实际发生是在2020年疫情期间;据我了解,2021年的华为OD面试流程,似乎有了那么一些许改动;也有可能是因为部门不同而流程有区别,但不管怎样,在此把注意点分享给大家,希望对大家有所帮助,能获得大家的一键三连!!!我直接写我所了解到的差异点:机试——也是最大的差异点机试去年我面的时候,只有一道题,而且出的题基本可以确定从题库中出;但今年了解到的就有点区别了;因为华为的机试是直接跟牛客网合作的,而现在牛客网也直接给华为机试提供了108道练习题:华为机试练习题库原创 2021-04-03 14:06:01 · 15764 阅读 · 7 评论 -
华为OD面试即兴笔试算法(二)
简述该题目为华为OD面试第四轮,最后一位技术主管视频面试时,最后即兴出的一道算法题;当时是使用电脑端的zoom进行视频面试,算法题可以使用电脑的IDE,需要进行屏幕共享;难度中等,更倾向于考验 审题能力 和 临场发挥能力。PS : 该考官非常nice,做完题后会一步一步检查,发现有更好的方式会提出修改的意见;(其实内心压力山大)题目类别: 字符串题目给定一字符集合a 和 一字符串集合b;用集合a里的字符匹配集合b中的字符串,求成功匹配的字符串总长度;其中 a匹配b中一个字符串时,a中字符不能重复原创 2020-11-18 23:11:26 · 10461 阅读 · 2 评论 -
华为OD面试——机试算法
简述给定两个非常大的正整数A和B,位数在50至100之间。求C=A+B;题目类别: 字符串难度: 中级运行时间限制: 10Sec内存限制: 128MByte阶段入职前练习输入因为A和B很大,从高位到低位,以字符串的形式输入两行数字A和B。A和B的位数在50至100之间。输出以字符串形式,输出一行,表示A和B的和。样例输入:111111111111111111111111111111111111111111111111112222222222222222222222222222原创 2020-11-09 17:24:51 · 8637 阅读 · 4 评论 -
华为OD面试即兴笔试算法(一)
简述该题目为华为OD面试第四轮,一位技术主管视频面试时,最后即兴出的一道算法题;当时是使用电脑端的zoom进行视频面试,算法题可以使用电脑的IDE,需要进行屏幕共享;难度中下,更倾向于考验临场发挥能力。题目描述遍历某个文件夹下的所有的文件,获取所有的文件名,根据文件后缀分类;并对分类与 文件名都进行任意一种排序;解题参考 @Test public void classifyFiles() { File originFile = new File("e:\\");原创 2020-10-30 23:45:56 · 15558 阅读 · 3 评论 -
华为OD的五轮面试总结
华为OD的五轮面试简述在今年疫情期间,通过BOSS直聘,受邀华为OD的Java工程师面试;整整一个月(3月中-4月初)的时间,经过了5轮的筛选,现在对这次面试进行概括性复盘,给大家分享下我所收集到的各种信息和相关面试流程的建议,希望对大家有用;华为OD是什么?跟华为又有什么关系?根据各方信息所得(包括网络查询、面试官的解答),华为OD是华为与德科的合作的一个针对华为社招人才培养的一种新型方式;开始时间大概是2019年试行,2020普遍应用的一种社招方式;(讲些人话)大概的意思就是,华为从2019年原创 2020-10-30 00:43:43 · 67948 阅读 · 25 评论 -
华为隐私保护通话接入总结
1 概述1.1 背景挪车服务中,使用虚拟号码保护车主手机号码隐私信息;实现用户B在需要挪车时,使用微信小程序扫码从SAAS服务中获取到一虚拟号码,可通过拨打该虚拟号码接通至车主的真实号码中。实现双方的隐私通话。2 华为隐私号码服务2.1 概述华为隐私号码服务,分为 AXB、AX、X、AXE、AXYB等5种模式,区别请参考华为开放文档:https://support.huaweicloud.com/productdesc-PrivateNumber/privatenumber_04_0002.htm原创 2020-06-12 15:10:17 · 4001 阅读 · 0 评论 -
高可靠的消息投递机制
简介开发中会经常使用都消息中间件来进行消息同步操作。但往往会因为各种原因导致消息在投递至消息代理服务器的过程出现意外。确保消息同步的高可靠,至少需要做到两点:同步失败记录:确保清楚哪些消息同步失败;再次投递消息:确保在失败后,会自动尝试重新发送消息,排除因网络原因导致消息投递失败。处理方案由sendUtils投递消息到消息代理服务器MQ Broker时,会同时保存一未接收状态status=0到数据库中当消息成功投递到Broker时,Broker会返回一个确认信息到生产者的回调监听器中Conf原创 2020-05-21 10:58:14 · 362 阅读 · 1 评论 -
RabbitMQ简介
简介RabbitMQ是实现了AMQP(Advanced Message Queuing Protocol 高级消息队列协议)的开源的消息中间件框架。使用Erlang语言编写(故安装时需要先安装Erlang语言编译器)。关键字名词AMQPAMQP (Advanced Message Queuing Protocol,高级消息队列协议) 是应用层的一种开放协议标准。为面向消息的中间件设计。 消息中间件主要用于组件之间的解耦。RPCRPC(Romote Procedure Call,远程过程调用),M原创 2020-05-21 10:54:51 · 220 阅读 · 0 评论 -
TOP K问题的解决方案
1.1 代码实现1.2 复杂度分析2.快速排序法2.1 代码实现2.2 复杂度分析3.堆排序法3.1 代码实现3.2 复杂度分析4. 方法比较 Top K是很常见的一种问题,是指在N个数的无序序列中找出最大的K个数,而其中的N往往都特别大,对于这种问题,最容易想到的办法当然就是先对其进行排序,然后直接取出最大的K的元素就行了,...转载 2019-12-09 10:44:01 · 996 阅读 · 0 评论 -
排序二叉树
排序二叉树简介二叉树的定义,不再介绍;而排序二叉树指的是根据一定排列顺序插入节点组成的一个二叉树;而排列顺序一般指定:小的在左边、大的在右边,数值不重复。算法实现主要包含有节点的插入、遍历、查询、删除。定义节点类private class Node { //节点的值 private Integer key; //左节点 private Node left; //右...原创 2019-10-15 15:14:39 · 931 阅读 · 0 评论 -
数据库常用的隔离级别
数据库常用的隔离级别四大特性任何支持事务的数据库,都必然具备四大特性ACID:原子性(Atomicity):说的是一个事物内所有操作共同组成一个原子包,要么全部成功,要么全部失败。这是最基本的特性,保证了因为一些其他因素导致数据库异常,或者宕机。一致性(Consistency):在基于原子性的前提下,保证双方数据的一致性;因为原子性保证的只是双方的操作是一致的,但在操作存在事务与时延;一...原创 2019-09-06 13:32:54 · 370 阅读 · 0 评论 -
技术架构发展历程
本文摘抄自《大型网站技术架构——核心原理与案例分析》,由李智慧 著 在互联网日益发展的今日,人们每天浏览着大大小小的网站,使用着各式各样的APP,无数的流量在无形中穿梭。那我们是如何判断一个网站或者APP的后台服务器端是技术强弱呢?每年大概有两个日子,是最能体现一个网站技术架构好坏的。一个是11月11日,传统的光棍节,同时也是我们马云爸爸为世界创造的一个...原创 2018-06-29 16:42:31 · 14980 阅读 · 0 评论 -
Java经久不衰的缘由
前言在近20年的时间里,随着互联网的发展,相应的热门编程语言也同样在一直演变交替当中。从互联网早期的C跟C++,然后到90年代的Python、Java、PHP、JavaScript;然后到20世纪的C#、.Net、Ruby、Node.js和Go等一批优秀的编程语言。 纵横20载,Java在众多唾弃声中依旧保持的高傲的姿态占据在2018年热门编程语言排行榜中第二名(仅次于C),接下来,我们就探讨下其...原创 2018-07-07 09:31:32 · 1024 阅读 · 0 评论 -
gitlab学习(二)—— 邮箱配置
1 基本配置:修改gitlab基本配置文件: sudo vim /etc/gitlab/gitlab.rb############################## gitlab.yml configuration ##############################gitlab_rails['gitlab_email_from'] = "kellan_songs@...原创 2018-08-13 19:50:50 · 2276 阅读 · 1 评论 -
gitlab学习(三)——分支保护与角色关系
分支保护Project -> Settings -> Repository -> Protected Branches人员角色Guest (客人)、Reporter(记者)、Developer(开发者)、Maintainers(维护者)、Owner(所有者)角色权限:https://docs.gitlab.com/ce/user/permissio...原创 2018-08-22 15:50:06 · 25870 阅读 · 0 评论 -
gitlab学习(一)—— 安装配置
简介 GitLab是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。 对于Git的优势与好处,在此就不再累述。 目前国内用的比较多的有 Github、码云、coding…Gith原创 2018-08-20 11:35:31 · 444 阅读 · 0 评论 -
MQTT学习(一):介绍
背景:随着时代的发展,物联网(Internet of Things, IoT)这个词出现的频率越来越高。以往互联网的请求/回答(Request/Response)的沟通模式,已经不再适合物与物之间(Machine to Machine,M2M)的大规模沟通机制;取而代之的是发布/订阅(Publish/Subscribe)模式。这就是轻量级、可扩展的MQTT(Message Queuing Tel...翻译 2019-03-26 19:51:00 · 465 阅读 · 0 评论 -
MQTT学习(二):mosquitto消息代理
介绍mosquitto 是一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机、嵌入式计算机、微型控制器等移动设备。一个典型的应用案例就是 Andy Stanford-ClarkMosquitto(MQTT协议创始人之一)在家中实现的远程监控和自动化。并在 Og...原创 2019-03-27 15:43:34 · 1185 阅读 · 0 评论 -
MQTT学习(三):EMQ消息代理
官方简介:官方文档EMQ X (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器。Erlang/OTP 是出色的软实时(Soft-Realtime)、低延时(Low-Latency)、分布式(Distributed) 的语言平台。MQTT 是轻量的(Lightweight)、发布订阅模式(Pu...原创 2019-03-29 13:43:26 · 918 阅读 · 0 评论 -
macOS 10.14 系统下 安装Parallels Desktop闪退解决方式
许多系统版本是 macOS Mojave 10.14 以上的小伙伴就头疼了,因为 Parallels Desktop 14.1.1 版本在该系统版本上无法正常打开安装,会闪退,那么就不能用了吗?别着急,下面佐佐就告诉大家该软件在新系统下的安装方法。Parallels Desktop下载链接:https://xclient.info/s/parallels-desktop.html1 打开终端...转载 2019-06-22 14:53:39 · 13432 阅读 · 1 评论 -
第三方通信验证的方式
在系统开发阶段,经常会遇到需要跟第三方对接接口,亦或者是需要直接嵌入第三方子系统的形式;这时候系统与系统之间的通信验证方式,就需要我们好好琢磨琢磨了。 以下总结以下小编遇到和想到的验证方式:方式一: appId校验:由子系统分发可访问的appId,并记录该appId对应的系统信息。当主系统调用子系统接口时,带上appId,用于校验有效性且记录操作日志;该校验方...原创 2018-06-12 10:53:27 · 2029 阅读 · 0 评论