自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 资源 (5)
  • 收藏
  • 关注

原创 Spring Bean生命周期与循环依赖等源码学习笔记

前言最近通过看b站培训机构的Spring和SpringBoot源码教程视频学习Spring&SpringBoot的原理和思想,视频是以源码讲解的方式演示,这里分享一些关键点的笔记。概述 Spring的核心思想是IOC和AOP,IOC是控制反转,是将程序中需要用到的对象创建过程交给容器实现,让容器根据xml的配置实现对对象的创建和依赖注入。AOP是面向切面编程,是对一系列纵向请求做横向的拦截处理,Spring里面使用到AOP的地方主要是......

2022-05-26 00:41:21 224

原创 Springboot踩坑-request body重复读问题

在一次业务开发中,由于需要在拦截器中对一个http请求中request body内容做解析和判断,所以用了的getInputStream解析了request body内容,之后导致了拦截器处理成功后,原来的业务接口处报request body not found的错误。

2023-10-21 10:38:06 433

原创 基于Kylin的数据统计分析平台架构设计与实现

前言此项目是我在TP-LINK公司云平台部门做的一个项目,总体包括云上数据自动化统计流程的设计和组件的开发。目的是为了对云平台上的设备和用户数据做多维度的统计和分析,以及便于观察设备数据的历史趋势,让业务部门更好地做业务决策。整体的架构与数据流向如下图所示,采用Hive做数据仓库,使用Spark实现一个ETL组件,完成数据的抽取、转换和加载,引入kylin做数据预计算,另外开发报表模块和数据可视化系统,对接kylin获取统计数据。每天Hive的新增数据量20多个G,kylin预计算之后的数据压缩比为

2023-10-05 18:00:07 4656 3

原创 2023-04-17移动云苏州研究所java开发面试

这篇文章是记录一次移动苏州研究院java开发岗位的面试经过。问的问题基本上是大数据相关的或者是java基础的,这应该是和我的过往项目经历相关的。

2023-06-13 23:34:31 1162

原创 【牛客刷题】java编程笔试题(更新)

思路:用hashmap保存每个字符串的出现次数,每次输入一个字符串,判断该字符串是否在hashmap中,没有就插入value为1key为该字符串的值,存在则更新value+1。这里的有效序列定义为S中的每个字符在L中都存在,并且顺序一致,例如“ace”是“abcde”的有效序列,“aec”不是“abcde”的有效序列,但是ae是最长的有效序列,e是最后一个有效字符。如果匹配失败一次,则母串下标+1,继续匹配,当子串或母串下标超出长度则停止,输入记录的最后有序字符下标。............

2022-08-28 13:37:29 2853

原创 大数据组件Hive性能测试和性能优化

项目介绍这是我在华为做的最后一个项目,当时在华为海思部门。部门主要是给一些国产芯片做服务器的软件性能测试,包括大数据生态软件Hadoop、Hbase、Hive等。测试方法使用业界sql性能测试工具tpc-ds,选择个别SQL做性能分析优化。TPC-DS是与真实场景非常接近的一个测试集,它包含7张事实表,17张纬度表,平均每张表含有18列。用这个数据集能够很好的模拟企业数据查询、报表生成以及数据挖掘等复杂应用。下面是测试的数据集部分表的关系图:测试用例举例:-- 1.符合

2022-04-01 20:53:47 4065 3

原创 2022-01-13shopee金融大数据产品面试经验

首先是自我介绍和项目介绍。1、hdfs通过命令put一个文件的流程服务端接受到写数据请求后,发送写数据请求到namenode生成元数据并写入,然后服务端根据元数据往datanode写具体的数据块。然后被问如果写datanode失败数据不一致怎么解决,这里回答采用两阶段提交的方式去写元数据和实际数据,然后被怼那这样客户端崩了还是会存在问题。那我就说用zookeeper存储最后的数据,反正是key value的形式,然后被怼zookeeper同步效率很低。2、讲述了一个项目,选择了数据统计分析可

2022-01-13 22:38:20 825

原创 2022-01-10 SHEIN大数据java开发岗位

面试该岗位,主要问了以下几个问题:1、MapReduce 的shuffle过程回答:map线程数据首先会复制到一个环形缓冲区,在环形缓冲区中进行分区和排序,当环形缓冲区达到一个阈值时数据会溢写到磁盘,这个过程可能会有conbine操作,最终每个分区的数据生成一个数据已经排序的文件。之后是reduce的shuffle过程,reduce线程将磁盘中每个分区的数据复制到内存缓冲区,进行排序,按照key进行聚合,然后输出数据作为reduce线程的输入数据,经过reduce计算之后生成文件存放到hdfs上。

2022-01-10 20:48:48 857

原创 牛客网题目----两个链表的第一个公共节点

链表常用面试题

2021-12-23 23:45:51 324

原创 阿里巴巴java面试经验

前阵子面试了阿里巴巴java开发工程师的岗位,因为准备不充分一面就挂了,面试过后回顾了整个面试过程,记录了面试题目,基本包含了java开发相关的基础知识,在这里做一次分享。面试题目:1、hashmap get和put方法实现及扩容的过程 get方法:首先判断输入的key是否为空,如果为空,从hashmap数组下标为0的位置获取值返回如果不为空,根据key的值,从hashmap数组中获取对应的entry对象,判断这个对象是否为空,为空返回null,不为空返回对应的value值, 获取va.

2021-09-25 23:55:20 253

原创 Kylin配置开启Cube Planner

Cube Planner功能通过计算同步Cuboid的构建成本和收益,并结合用户查询的统计数据挑选出更精简、更高效的维度组合,从而减少构建Cube耗费的时间和空间,提高查询效率。配置开启步骤如下:一、开启System Cube首先,在kylin.properties中设置以下参数以开启Metrics功能:kylin.server.query-metrics2-enabled=truekylin.metrics.reporter-query-enabled=truekylin.metr

2021-05-31 21:15:56 381

原创 LeetCode. 拿硬币

题目:桌上有 n 堆力扣币,每堆的数量保存在数组 coins 中。我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数。示例 1:输入:[4,2,1]输出:4解释:第一堆力扣币最少需要拿 2 次,第二堆最少需要拿 1 次,第三堆最少需要拿 1 次,总共 4 次即可拿完。示例 2:输入:[2,3,10]输出:8限制:1 <= n <= 41 <= coins[i] <= 10思路:直接遍历优先拿两枚,最后剩下一枚

2020-11-30 22:26:05 212

原创 LeetCode.拥有最多糖果的孩子

题目:给你一个数组candies和一个整数extraCandies,其中candies[i]代表第 i 个孩子拥有的糖果数目。对每一个孩子,检查是否存在一种方案,将额外的extraCandies个糖果分配给孩子们之后,此孩子有 最多的糖果。注意,允许有多个孩子同时拥有 最多的糖果数目。示例 1:输入:candies = [2,3,5,1,3], extraCandies = 3输出:[true,true,true,false,true]解释:孩子 1 有 2 个糖...

2020-11-28 09:46:31 110

原创 LeetCode.查找重复的电子邮箱

题目:编写一个 SQL 查询,查找Person 表中所有重复的电子邮箱。示例:+----+---------+| Id | Email |+----+---------+| 1 | [email protected] || 2 | [email protected] || 3 | [email protected] |+----+---------+根据以上输入,你的查询应返回以下结果:+---------+| Email |+---------+| [email protected] |+---------+说明:所有电子...

2020-11-11 22:49:00 326

原创 LeetCode.求解二叉树的深度

题目:输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度3 。提示:节点总数 <= 10000解题思路:解题思路有两种,一种是用递归求解,一种是用非递归求解。用递归,一颗二叉树的深度等于它的左子树和右子树的深度的最大值,根据此...

2020-11-08 19:36:01 165

原创 LeetCode.左旋转字符串

题目:字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例 1:输入: s = "abcdefg", k = 2输出:"cdefgab"示例 2:输入: s = "lrloseumgh", k = 6输出:"umghlrlose"限制:1 <= k < s.length <= 10000...

2020-11-04 23:00:22 150

原创 LeetCode.猜数字

题目:小A 和 小B 在玩猜数字。小B 每次从 1, 2, 3 中随机选择一个,小A 每次也从 1, 2, 3 中选择一个猜。他们一共进行三次这个游戏,请返回 小A 猜对了几次?输入的guess数组为 小A 每次的猜测,answer数组为 小B 每次的选择。guess和answer的长度都等于3。示例 1:输入:guess = [1,2,3], answer = [1,2,3]输出:3解释:小A 每次都猜对了。示例 2:输入:guess = [2,2,3], answe..

2020-11-03 22:52:47 707

原创 LeetCode.返回倒数第 k 个节点

题目:实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。注意:本题相对原题稍作改动示例:输入: 1->2->3->4->5 和 k = 2输出: 4说明:给定的 k保证是有效的。解题思路:题目要求返回链表倒数第k个节点,可以采用两步遍历的方法,即用两个指针遍历该链表,其中第一个指针比第二个指针快k-1的节点,之后两步指针同时遍历链表,当第一个指针到达链表的尾部,此时第二个指针所指的节点就是倒数第k个节点。代码如下:publ.

2020-11-02 22:53:30 201

原创 LeetCode.黑白方格画

题目:小扣注意到秋日市集上有一个创作黑白方格画的摊位。摊主给每个顾客提供一个固定在墙上的白色画板,画板不能转动。画板上有 n * n 的网格。绘画规则为,小扣可以选择任意多行以及任意多列的格子涂成黑色,所选行数、列数均可为 0。小扣希望最终的成品上需要有 k 个黑色格子,请返回小扣共有多少种涂色方案。注意:两个方案中任意一个相同位置的格子颜色不同,就视为不同的方案。示例 1:输入:n = 2, k = 2输出:4解释:一共有四种不同的方案:第一种方案:涂第一列;第二种方案:涂

2020-11-01 15:35:00 1026 2

原创 Mina框架实现最简单的服务端(五)

使用Mina框架实现最简单的服务端程序

2016-03-31 19:26:29 374

原创 Mina框架实现最简单的服务端(四)

使用Mina框架实现最简单的服务端程序

2016-03-31 19:24:40 390

原创 Mina框架实现最简单的服务端(三)

使用Mina框架实现最简单的服务端程序

2016-03-31 19:22:47 397

原创 Mina框架实现最简单的服务端(二)

使用Mina框架实现最简单的服务端程序

2016-03-31 19:21:30 457

原创 Mina框架实现最简单的服务端(一)

使用Mina框架实现最简单的服务端程序

2016-03-31 19:16:19 571

原创 google校招在线测试题---2048

先附代码:(简单地说就是给出一个矩阵代表2048游戏的一个状态以及一个方向,输出往这个方向移动之后的矩阵)#include#include#includeusing namespace std;int main(){ int T; ifstream ifile("B-large-practice.in"); ofstream ofile("out1.txt"); int nu

2014-10-29 10:54:28 1652

原创 hihocoder--数字三角形

问题描述小Hi和小Ho在经历了螃蟹先生的任务之后被奖励了一次出国旅游的机会,于是他们来到了大洋彼岸的美国。美国人民的生活非常有意思,经常会有形形色色、奇奇怪怪的活动举办,这不,小Hi和小Ho刚刚下飞机,就赶上了当地的迷宫节活动。迷宫节里展览出来的迷宫都特别的有意思,但是小Ho却相中了一个其实并不怎么像迷宫的迷宫——因为这个迷宫的奖励非常丰富~于是小Ho找到了小Hi,让小Hi帮助他获取尽可能

2014-10-29 10:01:06 989

原创 Google Code Jam在线测试题目--Alien Language

ProblemAfter years of study, scientists at Google Labs have discovered an alien language transmitted from a faraway planet. The alien language is very unique in that every word consists of exactly L

2014-10-16 22:43:25 3210

原创 Google2015校招在线测试题1----扫雷最少点击次数

ProblemMinesweeper is a computer game that became popular in the 1980s, and is still included in some versions of the Microsoft Windows operating system. This problem has a similar idea, but it does

2014-10-16 11:30:34 1790 1

原创 google在线测试练习题2

ProblemGiven a list of space separated words, reverse the order of the words. Each line of text contains L letters and W words. A line will only consist of letters and space characters. There will

2014-10-12 11:23:47 1275 1

原创 google在线测试练习题3

ProblemThe Latin alphabet contains 26 characters and telephones only have ten digits on the keypad. We would like to make it easier to write a message to your friend using a sequence of keypresses t

2014-10-12 11:23:02 1213

原创 google在线测试练习题1

ProblemYou receive a credit C at a local store and would like to buy two items. You first walk through the store and create a list L of all available items. From this list you would like to buy tw

2014-10-12 11:17:44 1068

原创 csdn第五届在线编程大赛-完全平方

题目详情给定整数区间[A,B]问其中有多少个完全平方数。输入格式:多组数据,包含两个正整数A,B 1输出格式:每组数据输出一行包含一个整数,表示闭区间[A,B]中包含的完全平方数的个数。答题说明输入样例1 11 23 103 3输出样例:1120

2014-10-07 21:32:02 1016

原创 C++实现hash_set

头文件:#includeusing namespace std;templateclass hash_set{private: hash_type array[100000]; int hash_fun(hash_type original);public: hash_set();//构造函数 void insert(hash_type value);//插入一个元素 v

2014-10-07 21:10:35 2549

原创 csdn编程挑战-----书本转移

题目详情小强有 3 个箱子 A,B,C 用来装书,所有的书(一共n本)都按序号由小到大的顺序堆在 A上,现在他想把所有的书全都放到 C 里面去。每次他从 A 书架拿 a 本书(不够就全拿完)到 B,A 箱子翻转,然后从 B 拿 b 本书(不够就全拿完)到 C,B 箱子翻转。然后重复操作,直到所有书都到了 C,求最后的C 里面书的顺序,详细见样例。输入描述:输入由多组

2014-10-01 11:57:21 835

原创 单例模式C++实现

最简单的设计模式-----单例模式

2014-09-30 16:30:31 527

原创 csdn高校编程挑战数字填充

题目详情peter喜欢玩数字游戏,但数独这样的游戏对他来说太简单了,于是他准备玩一个难的游戏。游戏规则是在一个N*N的表格里填数,规则:对于每个输入的N,从左上角开始,总是以对角线为起点,先横着填,再竖着填。这里给了一些样例,请在样例中找到规律并把这个N*N的表格打印出来吧。输入描述:多组测试数据(数据量在100组以内)。每组测试数据只有一行为一个整数N(1输出描述:对于每

2014-09-30 14:32:51 859 1

原创 csdn高校编程挑战Peter的X

题目详情Peter是个小男孩,他总是背不清26个英文字母。于是,刁钻的英语老师给他布置了一个非常奇怪的作业,老师给了他一个由26个英文字母构成的N*N 的矩阵(我们保证N一定是一个奇数),问他这个矩阵构成的图案是否是一个标准的“X”。一个标准的X的定义:1、对角线上所有元素都是同一个字母。2、所有非对角线上的元素也都是同一个字母,且字母与对角线上的字母不同。如果是则输出“YES”,

2014-09-30 14:20:00 685

原创 微软面试题2

#include#include#includeusing namespace std;struct node{ int value; node* left; node* right; node(int v) { value = v; left = NULL; right = NULL; }};class bintree{private: node* r

2014-09-30 11:10:04 613

原创 微软面试题1

微软、谷歌、百度等公司经典面试100题[第1-60题]写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码编写出一个从字符串到长整形的函数?)int atoi_z(string s){ int result = 0; for(int i = 0; i < s.length(); i++) result = result * 10 +

2014-09-30 10:18:45 515

原创 动态规划求一个数组的连续最大和

/**2014-09-30*求一个数组的连续最大和*用动态规划求最优解*/#includeusing namespace std;int main(){ const int size = 9; int array[] = {3,-1,4,6,-6,10,-1,-1,2}; int max[size]; max[0] = array[0]; int latter_sum

2014-09-30 10:08:19 611

java开发基础教程,讲解面向对象基础理论

java开发基础教程,讲解面向对象基础理论

2024-02-23

大数据平台化技术以及业界大数据平台介绍

大数据平台一般包括集群运维管理软件Manager、Hadoop基础组件 、安全管控软件和SQL客户端、ETL可视化组件、任务调度可视化组件等各个开 发工具软件组成。核心是Manager,负责管理整个集群,并提供可视化的操作; 开发工具是拓展,根据需求来定。 介绍大数据平台技术及业界的大数据平台星环Transwarp Data Hub

2020-11-26

开发win8应用时可用的一个C#类,功能主要是xml数据文件的创建,读写和删除。

用win8应用商店模板类库写成的一个类,实现xml数据文件的创建,读写和删除。在开发win8应用的时候经常需要用文件来储存数据,可以借鉴我的这个类库,当然我也很乐意大家提出意见,交流交流。

2014-01-17

一个能够给图像添加指定噪声然后再进行图像恢复的软件

一个图像处理系统,能够给图像添加噪声,高斯噪声或椒盐噪声,然后提供了一些方法对图像进行恢复。

2014-01-17

一个简单的lex词法分析器

一个简单的词法分析器例子,运用lex编程实现将一段C语言程序转换为词法单元识别。

2014-01-17

图像近似快速搜索系统(附源程序)

一个图像搜索系统,基于颜色直方图匹配的方法,在大多数情况下搜索结果较符合期望。里面还有代码,可以直接用vs打开,供大家学习交流。谢谢!

2014-01-17

空空如也

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

TA关注的人

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