自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jason王祖龙

资深软件工程师

  • 博客(93)
  • 收藏
  • 关注

原创 启元世界内推招聘(对标阿里P6-P7)

推荐系统架构师岗位职责:负责游戏推荐系统的需求分析、系统设计,负责应用系统平台的可行技术设计、方案,指导和优化技术选型;负责推荐算法策略线上化,系统化实现在线服务,优化平台线上性能;负责线上平台的稳定性保障,负责推动应用系统的技术升级与研发效率提升。岗位要求:计算机基础扎实,熟悉常用数据结构和算法,具备良好的需求分析能力和面向OO的抽象能力;本科及其以上学历,3年以上大数据系统工作经验;熟练掌握Java开发语言,有扎实的后端研发基础,熟悉HTTP、JVM、缓存、分布式、消息中间件等技术;

2021-08-13 16:28:20 503

原创 经典面试题-大厂SQL题目

1、 如何用一个SQL找出部门下所有员工的平均工资大于某个数(例如20000元)的所有部门?正确答案:select depno, avg(sal) as avgsal from emp group by depno having avgsal > 200002、 两张结构一模一样的表,只是放的不同时间的数据,怎么用一个SQL捞出来后对某个数值字段做做平均值统计?正确答案:select AVG(table3.mean) from (SELECT mean FROM table1UNION

2021-03-28 11:51:51 4378

原创 经典面试题-聊聊JDK和CGLib动态代理实现和区别

前言在电面试阿里时,被问到Spring AOP中JDK和CGLib动态代理的区别?在此整理一下,供大家参考。JDK和CGLib动态代理实现动态代理在Java中有着广泛的应用,如Spring AOP,Hibernate数据查询、测试框架的后端mock、RPC,Java注解对象获取等。动态代理的代理关系是在运行时期确定的。接下来主要阐述两种动态代理的区别。JDK和CGLib动态代理分析自Java 1.3以后,Java提供了动态代理技术,允许开发者在运行期创建接口的代理实例,后来这项技术被用到

2021-03-27 22:09:01 2923

原创 5种Redis核心数据结构和应用场景

​String 结构•字符串常用操作命令 注释 SET keyvalue 存入字符串键值对 MSET keyvalue [key value ...] 批量存储字符串键值对 SETNX keyvalue 存入一个不存在的字符串键值对 GET key 获取一个字符串键值 MGET key[key ...] 批量获取字符串键值 DEL key[key ...] 删除一个键 EXPIRE ...

2020-11-01 21:43:21 316

原创 Java培训四个月能学会吗

问题描述:最近在北京华软科技公司看到一个招聘,去咨询了人事部,他说培训四个月就能上岗,并且不要学费,上岗后再每还1000元,还一年,这个可靠吗?本人高中毕业,四个月能学会吗?谢谢了!!!下面是正文:一般说不要学费,上岗后每月再还1000元这种十有八九都不靠谱,就算你把合同看的再仔细,别人也总有各种办法去刁难你。另外,目前的互联网行业已经完全不是它刚开始盛行的样子了。在互联网爆火????的初期...

2020-10-30 14:55:45 34140 111

原创 LeedCode数据结构-字符串

1. 两个字符串包含的字符是否完全相同242. Valid Anagram (Easy)Leetcode / 力扣s = "anagram", t = "nagaram", return true.s = "rat", t = "car", return false.可以用 HashMap 来映射字符与出现次数,然后比较两个字符串出现的字符数量是否相同。由于本题的字符串只包含 26 ...

2020-03-15 18:24:55 379

原创 聚焦45年职业生涯规划职业生涯3大阶段

3大阶段,聚焦45年职业生涯职业生涯可以被分成三个主要阶段,每一阶段都持续大约15年,且各有各的主导策略。●第一阶段:加添燃料,强势开局;●第二阶段:聚焦长板,达到高点;●第三阶段:优化长尾,持续发挥影响力。从许多方面来看,规划职业生涯就好比塑造一个品牌。你需要的是一件优质产品,它建立在优质的原材料之上。它需要有意义,它需要被改良和更新,它需要不断进化。近来,品牌塑造的规则正在不断变化,...

2020-03-12 11:45:15 1298

原创 LeedCode算法思想-双指针

文章目录1. 有序数组的 Two Sum2. 两数平方和3. 反转字符串中的元音字符4. 回文字符串5. 归并两个有序数组6. 判断链表是否存在环7. 最长子序列双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。1. 有序数组的 Two Sum167. Two Sum II - Input array is sorted (Easy)Leetcode / 力扣Input:...

2020-03-09 11:10:19 950

原创 Java 编码技巧之高效代码 50 例

文章目录1.常量和变量1.1直接赋值常量值,禁止声明新对象1.2当成员变量值无需改变时,尽量定义为静态常量1.3.尽量使用基本数据类型,避免自动装箱和拆箱1.4如果变量的初值会被覆盖,就没有必要给变量赋初值1.5尽量使用函数内的基本类型临时变量1.6尽量不要在循环体外定义变量1.7不可变的静态常量,尽量使用非线程安全类1.8不可变的成员变量,尽量使用非线程安全类2.对象&类2.1禁止使用J...

2020-03-07 12:15:56 8968 12

原创 新手学习Java,有哪些Java相关的博客,专栏,和技术学习网站推荐?

推荐两个视频学习网站慕课网第一个推荐的学习网站应该是慕课网,在我初学的时候,这个网站对我的帮助挺大的,里面有很多免费的课程,也有很多付费的课程。如果你没有特殊的需求,一般免费课程就够自己学的了。哔哩哔哩想不到弹幕追番/原创视频小站也被推荐了吧!不得不说哔哩哔哩上面的学习资源还是很多的,现在有很多年轻人都在上面学习呢!哈哈哈 大部分年轻人最爱的小破站可是受到过央视表扬的。被誉为年轻人学习的...

2020-02-25 09:58:17 1067

原创 Java学习路线和方法推荐

到目前为止,我觉得不管是在公众号后台、知乎还是微信上面我被问的做多的就是:“大佬,有没有 Java 学习路线和方法”。所以,这部分单独就自己的学习经历来说点自己的看法。前言大一的时候,我仅仅接触过 C 语言,对 C 语言的掌握程度仅仅是可以完成老师布置的课后习题。那时候我的主要的精力都放在了参加各种课外活动,跟着一个很不错的社团尝试了很多我之前从未尝试过的事情:露营、户外烧烤、公交车演讲、环跑...

2020-02-25 09:46:50 2845 2

原创 Java工程师进阶之路(一)——Java基础知识

1. 面向对象和面向过程的区别面向过程面向对象2. Java 语言有哪些特点?3. 关于 JVM JDK 和 JRE 最详细通俗的解答JVMJDK 和 JRE4. Oracle JDK 和 OpenJDK 的对比5. Java和C++的区别?6. 什么是 Java 程序的主类 应用程序和小程序的主类有何不同?7. Java 应用程序与小程序之间有那些差别?8....

2019-05-30 21:44:38 1271

原创 CAP 定理的含义

分布式系统(distributed system)正变得越来越重要,大型网站几乎都是分布式的。分布式系统的最大难点,就是各个节点的状态如何同步。CAP 定理是这方面的基本定理,也是理解分布式系统的起点。本文介绍该定理。它其实很好懂,而且是显而易见的。下面的内容主要参考了 Michael Whittaker 的文章。一、分布式系统的三个指标1998年,加州大学的计算机科学家 Eric Bre...

2019-05-09 21:58:19 372

原创 java8-Stream集合操作快速上手

目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都需要牺牲强一致...

2019-04-16 16:32:32 241

原创 架构之美

架构的完美性《团队之美》这本书里面有对 Mike Cohn 的一段采访,他提到:“一个应用中所有的代码不一定要处于同样的质量水平”。“不是每件事都要做到第一流,在大多数情况下,我们根本没机会做到第一流”。软件架构设计其实更加类似于大自然“设计”一个生物,通过演化让生物适应环境,逐步变得更加强大。就如下图的技术发展趋势图一样,世界上其实不存在完美的架构。多数情况下,架构是一种妥协,一种特...

2019-04-07 20:32:15 1935

原创 50道Redis面试题

1、什么是Redis?Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。 Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构...

2019-04-03 21:02:30 479

原创 gulp 打包报错:ReferenceError: internalBinding is not defined

> gulp buildinternal/util/inspect.js:31const types = internalBinding('types'); ^ReferenceError: internalBinding is not defined at internal/util/inspect.js:31:15 at req_ (...

2019-03-28 19:57:33 1524

原创 工作三到五年,你迈过这些坎了吗?

毕业,就像一个大大的句号,从此,我们告别了一段纯真的青春、一段年少轻狂的岁月、一个充满幻想的时代,纷纷走向了社会。 刚毕业的时候,作为职场新人,我们都拿着接近的薪水,干着相似的事情,大家都过得差不多。 然而三到五年过去了,渐渐大家的差距就出来了。小伙伴A已经成了公司里的技术骨干,带领着自己的小团队,开始参与公司决策的事情;小伙伴B已经在业内小有名气,公众号、知乎、博客上粉丝众多...

2019-03-07 21:49:44 3315 2

原创 微服务(Microservices)——Martin Flower【翻译】

微服务“微服务架构(Microservice Architecture)”一词在过去几年里广泛的传播,它用于描述一种设计应用程序的特别方式,作为一套独立可部署的服务。目前,这种架构方式还没有准确的定义,但是在围绕业务能力的组织、自动部署(automated deployment)、端智能(intelligence in the endpoints)、语言和数据的分散控制,却有着某种共同的特征。...

2019-03-07 21:42:53 5439

原创 SRVE0255E: A WebGroup/Virtual Host to handle /p2pd/servlet/dispatch has not been defined.

Technote (troubleshooting)Problem(Abstract)When setting up IBM Cognos within IBM WebSphere, the URI is not accessible. The error message when trying the http://<server>:<was port>/p2...

2019-02-24 12:52:34 25169 2

原创 阿里巴巴Java开发手册之MySQL数据库和工程结构

文章目录MySQL 数据库(一) 建表规约(二) 索引规约(三) SQL 语句(四) ORM 映射工程结构(一) 应用分层(二) 二方库依赖(三) 服务器MySQL 数据库(一) 建表规约【强制】表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint ( 1表示是,0表示否)。说明:任何字段如果为非负数,必须是 unsigned。正例...

2019-02-24 12:37:08 412

原创 阿里巴巴Java开发手册之异常日志、单元测试和安全规约

文章目录异常日志异常处理日志规约单元测试安全规约异常日志异常处理【强制】Java 类库中定义的一类 RuntimeException 可以通过预先检查进行规避,而不应该 通过catch 来处理,比如:IndexOutOfBoundsException,NullPointerException等等。说明:无法通过预检查的异常除外,如在解析一个外部传来的字符串形式数字时,通过 catch...

2019-02-23 19:01:12 366

原创 阿里巴巴Java开发手册之编程规约

编程规约命名风格【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。反例: _name / __name / Object/name/nameObject / name_ / nameObject/name/​name / Object$【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 说明:正确的英文拼写和语法可以让阅读...

2019-02-23 18:10:12 332

原创 Linux组管理和权限管理

文章目录1.1 Linux 组基本介绍1.2 文件/目录 所有者1.2.2 修改文件所有者1.3 组的创建1.3.1 基本指令1.3.2 应用实例:1.4 文件/目录 所在组1.5 其他组1.6 改变用户所在组1.6.1 改变用户所在组1.6.2 应用实例1.7 权限的基本介绍1.8 rwx 权限详解1.8.1 rwx 作用到文件1.8.2 rwx 作用到目录1.9 文件及目录权限实际案例10....

2019-02-17 22:10:30 709

原创 Linux实用指令

文章目录1.1 指定运行级别1.2 切换到指定运行级别的指令1.2.1 基本语法1.2.2 应用实例1.2.3面试题1.2.4课堂练习1.3 帮助指令1.3.1 介绍1.3.2 man获得帮助信息1.3.3 help指令1.3.4 当一个指令不熟悉如何学习的建议1.4 文件目录类1.4.1 pwd指令1.4.2 ls指令1.4.3 cd 指令1.4.4 mkdir指令1.4.5 rmdir指令1...

2019-02-17 21:57:59 3068

原创 BlockChain - Merkle Tree学习

/*最近在看Ethereum,其中一个重要的概念是Merkle Tree,以前从来没有听说过,所以查了些资料,学习了Merkle Tree的知识,因为接触时间不长,对Merkle Tree的理解也不是很深入,如果有不对的地方,希望各位大神指正*/Merkle Tree概念    Merkle Tree,通常也被称作Hash Tree,顾名思义,就是存储hash值的一棵树。M

2017-10-19 11:27:58 1375

原创 BlockChain技术系列(七)- 应用编程接口

一个遵循MVC-B架构的应用– Model, View, Control, BlockChain.VIEW LOGIC – 与控制逻辑集成的移动或WEB 用户界面。CONTROL LOGIC – 协调用户界面、数据模型和交易与链码的APIDATA MODEL – 应用数据模型– 管理包括文档和大文件这样的非链(off-chain)数据BLOCKCHAIN LOGIC – 区块链逻辑

2016-08-24 14:30:06 1868

原创 BlockChain技术系列(六)- 应用编程接口

fabric的主要接口是REST API。 REST API允许应用注册用户,查询区块链,并发布交易。 CLI为了开发,同样提供有效API的子集。CLI允许开发人员能够快速测试链码或查询交易状态。应用程序通过REST API与非验证的 peer 节点,这将需要某种形式的认证,以确保实体有适当的权限进行交互。该应用程序是负责实现合适的身份验证机制和 peer 节点随后将使用客户身份对发出消息

2016-08-24 14:23:43 6771 1

原创 BlockChain技术系列(五)- 拜占庭共识

obcpbft包是PBFT共识协议[1]的实现,其中提供了验证器之间的共识,虽然验证器的阈作为Byzantine,即,恶意的或不可预测的方式失败。在默认的配置中,PBFT容忍t处理提供PBFT共识协议的参考实现,obcpbft 插件还包含了新颖的Sieve共识协议的实现。基本上Sieve背后的思想为non-deterministic交易提供了fabric层次的保护,这是PBFT和相似的协议

2016-08-24 14:21:39 3552 2

原创 BlockChain技术系列(四)- fabric安全介绍

这一节将讨论下面的图所展示的设置描述。特别的,系统是由下面这些实体构成的:成员管理基础架构,如从一个实体集合中区分出不同用户身份的职责(使用系统中任意形式的标识,如:信用卡,身份证),为这个用户注册开户,并生成必要的证书以便通过fabric成功的创建交易,部署或调用链码。Peers, 它们被分为验证 peer 和非验证 peer。验证 peer(也被称为验证器)是为了规范并处理(有

2016-08-24 14:18:50 8945 2

原创 BlockChain技术系列(三)- fabric协议介绍

fabric的点对点(peer-to-peer)通信是建立在允许双向的基于流的消息gRPC上的。它使用Protocol Buffers来序列化peer之间传输的数据结构。Protocol buffers 是语言无关,平台无关并具有可扩展机制来序列化结构化的数据的技术。数据结构,消息和服务是使用 proto3 language注释来描述的。3.1 消息消息在节点之间通过M

2016-08-09 10:08:06 8065

原创 BlockChain技术系列(二)- fabric架构介绍

fabric是由下面这个小节所描述的核心组件所组成的。2.1 架构这个架构参考关注在三个类别中:会员(Membership),区块链(Blockchan)和链码(chaincode)。这些类别是逻辑结构,而不是物理上的把不同的组件分割到独立的进程,地址空间,(虚拟)机器中。2.1.1 成员服务成员服务为网络提供身份管理,隐私,保密和可审计性的服务。在

2016-08-09 09:15:08 7500 1

原创 BlockChain技术系列(一)- fabric介绍

1. 介绍这份文档规范了适用于工业界的区块链的概念,架构和协议。1.1 什么是 fabric?fabric 是在系统中数字事件,交易调用,不同参与者共享的总账。总账只能通过共识的参与者来更新,而且一旦被记录,信息永远不能被修改。每一个记录的事件都可以根据参与者的协议进行加密验证。交易是安全的,私有的并且可信的。每个参与者通过向网络membership服务证明自己

2016-08-09 09:04:02 6882

原创 区块链大有用武之地的20大行业

作为一种分散式数字化货币,比特币能存在,完全有赖于一种所谓的区块链技术,这实际上是一种公共账簿,可通过数字化方式,安全、自动化地验证和记录大量交易。企业家们已逐渐相信,使用这项技术,有望颠覆更多的行业。就使用一种分散式平台来验证和组织的交易而言,眼下商业界存在大量的使用场合。这种平台不需要集中监管,同时它又仍然可以抵御欺诈。下面是大大小小的公司正在努力利用区块链强大

2016-08-05 11:50:10 5543 1

原创 Blockchian区块链:IBM HyperLedger fabric 简述

在我看来,比特币就是现实中的V字仇杀队,当然现实是更残酷的世界政府,这场博弈关乎着人类文明、政治、社会属性、经济和人权。 IBM HyperLeger 又叫 fabric,你可以把它想象成一个由全社会来共同维护的一个超级账本,没有中心机构拥揽权力,你的每一笔交易都是全网公开且安全的,信用由全社会共同见证。它与Bitcoin的关系就是,你可以利用fabric构建出一个叫Bitcoin的应用来帮助

2016-07-28 14:43:00 11547

原创 区块链:起源、原理及应用

近年来,区块链技术正在经历快速发展,并吸引了超过10亿美元的投资规模。而我们认为,最值得重视的是,区块链正在走进金融机构、大型企业、政府决策层的视野,大有从“草根力量”引发经济变革的态势。证券交易所:2015年12月,纳斯达克首次在个股交易商使用区块链技术,其合作伙伴Chain.com在对一位私人投资者发行股票时首次使用了纳斯达克的基于区块链技术的交易平台Linq,该平台正式纳斯达克与Chai

2016-07-25 10:33:10 61605 5

原创 区块链介绍

定义:区块链(Blockchain)是比特币的底层技术,像一个数据库账本,记载所有的交易记录。这项技术也因其安全、便捷的特性逐渐得到了银行与金融业的关注。简介:区块链(Blockchain)是比特币的一个重要概念,本质上是一个去中心化的数据库,同时作为比特币的底层技术。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一

2016-07-06 14:08:19 4447

原创 vi 操作笔记

1.关于退出:wq! ----强制保存退出:wq ---- 保存退出:x ----- 作用和:wq 一样ZZ ---- 作用和:wq一样,(注意Z是大写的,并且不是在命令模式):q ---- 退出:q! --- 强制退出==============================================2.关于移动h : 在当前行

2015-02-16 22:25:21 856

原创 结构-06. 复数四则运算(15)

本题要求编写程序,计算2个复数的和、差、积、商。输入格式:输入在一行中按照“a1 b1 a2 b2”的格式给出2个复数C1=a1+b1*i和C2=a2+b2*i的实部和虚部。题目保证C2不为0。输出格式:分别在4行中按照“(a1+b1i) 运算符 (a2+b2i) = 结果”的格式顺序输出2个复数的和、差、积、商,数字精确到小数点后1位。如果结果的实部或者虚部为0,

2015-02-15 11:05:34 1525

原创 数组-09. 求矩阵的局部极大值(15)

给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵的局部极大值。本题要求给定矩阵的全部局部极大值及其所在的位置。输入格式:输入在第1行中给出矩阵A的行数M和列数N(3输出格式:每行按照“元素值 行号 列号”的格式输出一个局部极大值,其中行、列编号从1开始。要求按照行号递增输出;若同行有超过1个局部极

2015-02-15 10:23:01 3979

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除