自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

璟矢

用最好的年华来担保说出来都会被嘲笑的理想

  • 博客(80)
  • 资源 (2)
  • 收藏
  • 关注

原创 阿里巴巴2020春招暑期实习笔试题

周五参加阿里暑期实习的笔试,一共两道编程题,一小时时间,在这里总结记录一下此次笔试题!第一题题目描述:有一叠扑克牌,每张牌介于1和10之间有四种出牌方法:单出一张出两张相同的牌(对子)出五张顺子(如12345)出三连对子(如112233)给10个数,表示1-10每种牌有几张,问最少要多少次能出完?题目解析:该题目需要去考虑到多种状态,起初考虑使用DP求解,但是没有...

2020-03-23 01:53:38 4830 4

原创 JupyterHub on Kubernetes部署

理论是灰色的,实践之树长青???? ——恩格斯近日在做毕设项目,涉及到在K8s和swarm基础上部署JupyterHub,经过两天时间的学习和部署,N次的失败尝试,最终在服务器上成功部署了JupyterHub!实验依赖阿里云服务器2核4G - ubuntu18.04 (服务器至少2核)Docker v20.10.5K8s v1.20.5Helm v3.5.2step1:安装Dockercurl -fsSL https://get.docker.com | bash -s dock

2021-03-25 09:42:20 2220 5

原创 Swarm join mangerIP 失败(Error response from daemon: Timeout)解决方案

理论是灰色的,实践之树长青???? ——恩格斯最近做Docker swarm相关的毕设项目,在worker节点机器上通过docker swarm join,打算将该节点加入Swarm集群时,报Timeout错误,错误如下:Error response from daemon: Timeout was reached before node joined. The attempt to join the swarm will continue in the background. Use the

2021-03-22 10:39:48 2468

原创 Linux文件操作-open函数(源码解析)

理论是灰色的,实践之树长青???? ——恩格斯前述近期在看Linux内核相关,且之前面试有遇到问**“open函数调用原理”**的问题,今天在这里做一下总结记录。open函数open函数主要包含以下两类:int open(const char *pathName, int flags); // 打开文件int open(const char *pathName, int flags, mode_t mode); // 创建文件open函数参数介绍:pathname:表示要打开的

2020-10-14 09:57:45 3831 1

原创 PyCharm:pip下载依赖包缓慢问题解决方法

理论是灰色的,实践之树长青???? ——恩格斯前述近期使用PyCharm IDE做课程作业时,通过pip下载python依赖包时出现下载失败、下载速度缓慢的问题,由于使用pip下载时是去python官网下载的,存在被墙的问题,所以一般我们都会使用清华、阿里云、中科大的镜像源去提升下载速度。⏰提醒:推荐使用python3以上版本,因为pip和python版本是一致的,部分依赖包的下载只能通过3以上版本才能下载!step 1在Preferences中选择要使用的依赖包 ——> 点击下

2020-06-20 21:54:44 3774 4

原创 MySQL锁详解

MySQL锁详解理论是灰色的,实践之树长青???? ——恩格斯官方文档介绍在MySQL官方文档中,介绍了InnoDB的七种锁:共享锁(S锁)与排他锁(X锁);意向锁(Intention Locks);记录锁(Record Locks);间隙锁(Gap Locks);临键锁(Next-Key Locks);插入意向锁(Insert Intention Locks);自增锁(Auto-inc Locks);但是上述的锁分类并不是从同一个维度进行划分的,所以在这里我们采用另一种划

2020-05-26 22:04:43 288

原创 Git常用命令总结

Git常用命令理论是灰色的,实践之树长青???? ——恩格斯常用指令1、git init 初始化仓库,生成.git目录2、git status 查看仓库的状态3、git add 向暂存区中添加文件《暂存区(Stage或者Index)是提交之前的一个临时区域》4、git commit 保存仓库的历史记录《将当前暂存区中的文件实际保存到仓库的历史记录中》 git commit --amend 修改提交信息 git commit -am “X

2020-05-26 11:45:41 253

原创 MySQL事务实现原理之Redo Log

理论是灰色的,实践之树长青???? ——恩格斯前言在介绍事务原理之前我们先来说一下事务的四个核心属性:原子性:事务要么不执行,要么完全执行。如果执行到一半, 宕机重启,已执行的一半要回滚回去;一致性:各种约束条件,比如主键不能为空、参照完整性等;隔离性:隔离性和并发性密切相关,因为如果事务全是串行的 (第四个隔离级别),也不需要隔离;持久性:一旦事务提交了,数据就不能丢;而说起事务实现,Redo Log是一个重要的话题,它主要实现了事务的持久化属性;Write-Ahead Log一个

2020-05-16 18:09:26 3096 7

原创 MySQL之B+树详解

理论是灰色的,实践之树长青???? ——恩格斯概述MySql这样的关系型数据库在查询方面有一些重要特性,是KV型的数据库或者 缓存所不具备的,比如:(1)范围查询。(2)前缀匹配模糊查询。(3)排序和分页。这些特性的支持,要归功于B+树这种数据结构。下面我们来分析一下B+树是如何支持这些特性的。逻辑结构这里我们拿数据库主键对应的B+树逻辑结构来说明,这个结构有几个关键特性:在叶子节点一层,所有记录的主键按照从小到大的顺序排 列,并且形成了一个双向链表。叶子节点的每一个Key指向一条记录

2020-05-15 12:07:56 17248 6

原创 Linux-零拷贝(Zero Copy)

理论是灰色的,实践之树长青???? ——恩格斯概要一般当用户需要把数据发送至网络的时候,有三种方式可以实现: 直接I/O 内存映射文件 零拷贝(Zero Copy)零拷贝(Zero Copy)是提升IO效率的一大利器,一般为了让传输效率更高一些会采用零拷贝的方式来提升效率!直接I/O伪代码如下:fd1 = 打开的文件描述符fd2 = 打开的socket描述符buffe...

2020-04-25 07:23:55 834

原创 Go——字符串与整形互转问题

理论是灰色的,但实践之树长青????概要最近用go实现RUDP的过程中遇到服务端和客户端数据传输问题,涉及到字符串和整形数字互转的问题,遇到的坑在这里总结记录一下,共同学习!代码为了在服务端向客户端回传整形数字,这里采用先将数字转换为字符串,然后通过字节数组回传,但是在解析过程中debug发现解析错误,如图所示:服务端代码客户端代码问题在于string的强转是不对的,string(...

2020-04-24 23:36:31 1964 2

原创 面试题:管道、消息队列、共享内存哪个开销最小?

Linux包含多种进程间通信(interprocess communication,或者IPC),我们或多或少在面试中都被问及IPC的相关知识,所以这篇文章记录总结一下自己对于IPC的认识和理解吧!概述进程间的通信手段大体可以分为两类:通信类同步类关于POSIX IPC与System V IPC的区别:POSIX(Portable Operating Syste...

2020-04-02 23:49:08 1583

转载 面试题:InnoDB中B+树有几层?

上次腾讯面试问到了这个问题,当时以为是和索引数量有关,下来查了一下资料,有博主好文,所以在这里转载收藏一下,如有侵权,联系删除,感谢!一、InnoDB 一棵 B+ 树可以存放多少行数据?这个问题的简单回答是:约 2 千万。为什么是这么多呢?因为这是可以算出来的,要搞清楚这个问题,我们先从 InnoDB 索引数据结构、数据组织方式说起。我们都知道计算机在存储数据的时候,有最小存储单...

2020-03-18 16:15:01 12069 15

原创 腾讯微信支付2020暑期实习二面、三面面经

微信支付面试等了好久,之前面过一次,结果现在到官网流程了,好迷。。。不知道是一面还是二面,本来是牛客视频,结果面试官网络不好,牛客写完代码后换电话了。面试题1、上来就做题!都没自我介绍!?公司员工每天上下班需要进行打卡操作,工作时间为早上9点到晚上5点。迟到或者早退半小时当天按旷工处理。hr能查看所有员工的打卡信息,员工只能查看自己的打卡信息。请编写一个能支持以上场景的程序。2、...

2020-03-18 13:14:05 4389 2

原创 阿里钉钉2020暑期实习面经总结

近期投递阿里钉钉提前批,三月三日一面,当晚师兄打电话让我好好准备之后老大面二面,三月十日二面,十二日晚师兄打电话通知二面通过,走后续系统流程。一面(55分钟)1、自我介绍巴拉巴拉,三要素法(姓名、核心能力、目的)2、介绍一下你在商汤的项目经历2.1项目效果2.2项目难点2.3系统高可用性的保证2.4系统监控的解决方案(可以参考zookeeper监控方案)3、那你觉得D...

2020-03-13 21:26:26 2315 1

原创 Docker与虚拟化(虚拟机区别)

虚拟化虚拟化(virtualization)技术是一个通用的概念,在不同领域有不同的理解。在计算领域,一般指的是计算虚拟化(computing virtualization),或通常说的服务器虚拟化。维基百科上的定义如下:“在计算机技术中,虚拟化是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以用比...

2020-02-27 18:19:38 3605

转载 Slice详解

前言切片是一种复合数据类型,与数组类似,存放相同数据类型的元素,但数组的大小是固定的,而切片的大小可变,可以按需自动改变大小。切片是基于底层数组实现的,是对数组的抽象。切片很小,只有三个字段的数据结构:指向底层数组的指针、能访问的元素个数(即切片长度)和允许增长到的元素个数(即切片容量)。如上图所示,一个长度为3、容量为5的整型切片的底层结构。声明与初始化make()创建使用内置函数...

2020-02-21 10:21:21 1937

转载 goroutine调度器

Go语言在2016年再次拿下TIBOE年度编程语言称号,这充分证明了Go语言这几年在全世界范围内的受欢迎程度。如果要对世界范围内的gopher发起一次“你究竟喜欢Go的哪一点”的调查,我相信很多Gopher会提到:goroutine。Goroutine是Go语言原生支持并发的具体实现,你的Go代码都无一例外地跑在goroutine中。你可以启动许多甚至成千上万的goroutine,Go的ru...

2020-02-19 14:20:14 326

原创 Kubernetes之service服务暴露

service的IP地址仅在集群内部可达,然而,总会有些服务需要暴露到外部网络中接受各类客户端的访问,此时就需要在集群的边缘为其添加一层转发机制,以实现外部流量进入到集群的service的资源之上,这种操作称为服务暴露。主要包含以下几种类型:ClusterIPNodePortLoadBalancerExternalNameClusterIP通过集群内部IP地址暴露服务,此地址...

2020-02-18 18:12:12 970

原创 Kubernetes之service服务代理

Service是Kubernetes的一个重要资源类型,它通常可以理解为一种微服务。通过规则定义出多个Pod的逻辑组合,service可以通过标签选择器来访问到对应的pod。概述既然Service是一种核心资源,那为什么会出现service资源类型呢?它的具体意义又在哪里呢?Service资源是在pod的访问基础上产生的,例如,当我们使用Deployment创建多个副本的pod资源后,...

2020-02-18 16:15:29 555

原创 Kubernetes之Job、CronJob详解

最近学习Kubernetes碰到Job和CronJob,在这里总结记录一下。JobJob控制器也是Kubernetes中的一个重要的控制器资源,但是它和Deployment、DaemonSet不同的是:Job控制器用于调配pod对象中的运行一次性的任务。在实践中可能任务不止运行一次就结束,用户可以配置它们以串行或并行的方式运行。Job运行方式总结起来就是两种运行方式:并行和串行。...

2020-02-15 18:07:54 1244

原创 Kubernetes之Pod对象生命周期

因为Pod是Kubernetes管理的最小单元,所以它的具体生命周期是Kubernetes重要的一环,今天详细学习记录一下Pod的整个生命周期。Pod对象自从其创建开始到终止结束的时间范围称为生命周期。Pod的生命周期是基于Pod的成功创建,所以为更好的理解Pod的生命周期,这里需要先理解一下Pod的整个创建过程。一、Pod的创建过程Pod的创建过程,如下图所示:用户通过Kube...

2020-02-11 11:53:42 261

原创 Kubernetes之网络通信方式详解

Kubernetes的网络通信方式是整个K8s的重点,所以更好的理解它的网络通信方式有助于我们更好的掌握Kubernetes。Kubernetes网络设计模型:基本原则:每个Pod都有一个独立的IP地址,而且假定所有的Pod都在一个可以直接联通、扁平的网络空间中;设计原因:用户不需要额外考虑如何建立Pod之间的连接,也不需要将容器端口映射到主机端口的问题;网络要求:所有的容器都可以在...

2020-02-10 12:13:43 1785

原创 Kubernetes之HPA动态伸缩

一直以来,系统的自动弹性扩展是一个重点话题,希望系统可根据应用负载的变化而自动增加或者减少计算资源。自动弹性扩展一般包括两种方式: 水平扩展:针对实例数目的增减; 垂直扩展:对单个实例可用资源的增减;我们知道,通过Replication Controller可以非常方便地实现Pod的弹性伸缩,如果在此基础上,获取并分析Kubernetes平台所监控的Pod各项资源监控指标,就可以实现自...

2020-02-08 12:30:39 618

原创 Kubernetes之Deployment详解

在 kubernetes 的世界里,Pod 是运行应用的载体。 Pod 是由多个容器组成、是 kubernetes 的最小调度单元、Pod 共享底层资源、由 kubernetes 来管理生命周期。一般情况下,我们并不直接创建 Pod,而是通过 Deployment 来创建 Pod,由 Deployment 来负责创建、更新、维护其所管理的所有 Pods。那Deployment的具体是怎...

2020-02-08 11:54:41 6957

原创 Go语言中接口详解

Go语言的接口应该如何理解呢?它和Java等其他语言的区别在哪里呢?答:其实Go语言的接口和其他一些面向对象编程的语言一样,都是抽象方法的一个集合,不同点在于接口的实现和变量赋值。接口的实现:与其他语言相比,GO中的接口实现并不需要显示的声明!只要一个类型中包含有某一接口的全部方法,并且这些对应方法的命名、传入参数和返回类型都完全匹配,那么该类型就可以当做此接口的实现,不需要额外声明。...

2019-12-30 21:39:45 291

原创 利用管道(channel)实现同步

GO语言实现同步的方式有很多,互斥量(sync.Mutex)、channel通信等等;今天总结一下Go中的channel方式!channel通信包含两种模式:一种是带无缓冲的channel,另一种是有缓冲的channel;1、无缓冲方式在无缓存的channel上的每一次发送操作都会有对应的接受操作相配对,发送和接受操作通常发生在两个goroutine上(在同一个goroutine上执行...

2019-12-30 18:51:27 956 2

转载 mysql 事务的实现原理

相信大家都用过事务以及了解他的特点,如原子性(Atomicity),一致性(Consistency),隔离型(Isolation)以及持久性(Durability)等。  今天想跟大家一起研究下事务内部到底是怎么实现的,在讲解前我想先抛出个问题: 事务想要做到什么效果?  按我理解,无非是要做到可靠性以及并发处理   下面我首先讲实现事务功能的三个技术,分别是日志文件(redo l...

2019-12-01 20:51:30 523

原创 关于finally代码块的抛出异常问题

之前面试被问道关于异常捕获的finally代码块作用,可能我们想到的会是在finally中进行一些资源关闭的操作。常见的操作便是IO流这样的close操作:public static void throwException(){ File file = null; FileInputStream fis = null; try{ ...

2019-11-30 16:59:24 6819

转载 localhost拒绝访问的解决方法

localhost、Tomcat的localhost:8080拒绝访问解决方案 但127.0.0.1:8080可以实现访问(win10系统)看到大神的解决方法,在此做一下笔记!!!解决方案:打开“我的电脑”,选择左上角的“计算机”中的“卸载或更改程序”。点击“启用或关闭Windows功能”。点击选中“Internet Information Service”及其下的“FTP服务器”。确...

2019-11-21 08:32:38 315128 38

原创 Java基本数据(short和int的转换问题)

面试遇到short和int的转换问题,当时有些疑惑,在这里总结一下!第一种情况public static void main(String[] args) { short a = 1; a += 1; //不用强转 a = (short) (a + 1); //需要强转, } &nb...

2019-11-18 18:58:44 17939 2

原创 Rabbitmq安装教程(Deepin15.11)

1、首先必须要有Erlang环境支持安装之前要装一些必要的库: sudo apt-get install build-essential sudo apt-get install libncurses5-dev sudo apt-get install libssl-dev sudo apt-get install m4 sudo apt-g...

2019-11-11 11:34:40 805

转载 位、字节、字符的区别

位(bit):是计算机 内部数据 储存的最小单位,11001100是一个八位二进制数。字节(byte):是计算机中 数据处理 的基本单位,习惯上用大写 B 来表示,1B(byte,字节)= 8bit(位)字符:是指计算机中使用的字母、数字、字和符号ASCIIS码: 1个英文字母(不分大小写)= 1个字节的空间 1个中文汉字 = 2个字节...

2019-11-06 20:01:49 178

转载 高并发系统限流算法详解

在大数据量高并发访问时,经常会出现服务或接口面对暴涨的请求而不可用的情况,甚至引发连锁反映导致整个系统崩溃。此时你需要使用的技术手段之一就是限流,当请求达到一定的并发数或速率,就进行等待、排队、降级、拒绝服务等。在限流时,常见的两种算法是漏桶和令牌桶算法算法,本文即对相关内容进行重点介绍。四种常见的限流算法       &n...

2019-11-06 15:51:10 384 1

转载 Linux(Deepin)系统 apt-get 命令的使用:安装、更新、卸载软件包

apt-get 命令适用于 deb 包管理式的 Linux 操作系统(Debian、Ubuntu等),主要用于自动从互联网软件仓库中搜索、下载、安装、升级、卸载软件或操作系统。Ubuntu 软件包查找: https://packages.ubuntu.com/1. 安装 软件包apt-get install PackageName // 普通安装apt-...

2019-11-06 14:33:07 25488

转载 线程池之ThreadPoolExecutor使用

ThreadPoolExecutor提供了四个构造方法:我们以最后一个构造方法(参数最多的那个),对其参数进行解释: public ThreadPoolExecutor(int corePoolSize, // 1 int maximumPoolSize, // 2 lo...

2019-10-30 10:00:52 241

原创 JVM调优工具总结

一、jps : 虚拟机进程状况工具它可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(Main Class,main()函数所在的类)名称以及正在运行的本地虚拟机唯一ID(LVMID);它是使用率最高的一个JDK命令行工具,因为其他的命令行工具都需要输入查询到的ID来确定要监控的是哪一个虚拟机进程。命令格式:jps [options] [hostid]选项作用-q只...

2019-10-29 22:20:59 801

转载 Dubbo注册中心工作原理

注册中心作用开篇首先想思考一个问题,没有注册中心 Dubbo 还能玩下去吗?当然可以,只要知道服务提供者地址相关信息,消费者配置之后就可以调用。如果只有几个服务,这么玩当然没问题。但是生产服务动辄成千上百,如果每个服务都需要手写配置信息,想象一下是多么麻烦。好吧,如果上面的问题都不是事的话,试想一下如果一个服务提供者在运行过程中宕机,消费者怎么办?消费者不知情,所以它还会不断把请求发往服务提...

2019-10-27 21:39:50 2468

转载 详解布隆过滤器的原理、使用场景和注意事项

什么是布隆过滤器本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在”。相比于传统的 List、Set、Map 等数据结构,它更高效、占用空间更少,但是缺点是其返回的结果是概率性的,而不是确切的。实现原理HashMap 的问题讲述布隆过滤器的原理之前,...

2019-10-26 22:00:37 157

转载 Redis持久化

Redis支持持久化,而且支持两种不同的持久化操作。Redis的一种持久化方式叫快照(snapshotting,RDB),另一种方式是只追加文件(append-only file,AOF).这两种方法各有千秋,下面我会详细这两种持久化方法是什么,怎么用,如何选择适合自己的持久化方法。快照持久化(RDB)Redis可以通过创建快照来获得存储在内存里面的数据在某个时间点上的副本。Redis创建快...

2019-10-26 17:23:29 91

艺术气质11套四页.zip

简约、好看、实用的简历模版,欢迎下载使用!简历是第一关,模版是第一步,你值得拥有!

2020-08-24

mysql-5.7.26-linux-glibc2.12-x86_64

mysql-5.7.26-linux-glibc2.12-x86_64 网盘下载及其链接地址 保证永久有效!

2020-03-12

空空如也

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

TA关注的人

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