Go设计模式09-适配器模式
简单理解是有两个不同的业务系统,需要同时完成同一种业务动作,可以封装后统一提供给上层调用
Go设计模式08-装饰器模式
代码实现下面是一个简单的画画的例子,默认的 Line 只有基础的画画功能, ColorLine 为他加上了颜色,本质上是对现有功能类进行包装,增加新功能点
Code1234567891011121 ...
Go设计模式07-桥接模式
代码实现Code1234567891011121314151617181920212223242526272829303132333435363738394041424344package bridg ...
Go设计模式03-构造模式
代码实现其实在 Golang 中对于创建类参数比较多的对象的时候,我们常见的做法是必填参数直接传递,可选参数通过传递可变的方法进行创建。本文会先实现课程中的建造者模式,然后再实现我们常用的方式。
建造 ...
面试题-移掉K位数字
移掉K位数字-leetcode-402
涉及知识点:贪心,栈
题目给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。
注意:
num 的长度小于 10 ...
面试题-连续固定区间最大值
连续固定区间最大值
涉及知识点:堆,栈、双指针、滑动窗口,双向队列、线段树,树状数组, dp 等。
题目给你一个数组 nums 和一个大小为 k的区间。这个区间可以从数组的最左侧不断移动到数组的最右 ...
面试题-仅出现一次的元素
仅出现一次的元素
涉及知识点:散列表、位运算
题目(英文)Given an array of numbers nums, in which exactly two elements appear o ...
面试官101
面试算法能力 一题5-10min :
题目:仅出现一次的数
题目:连续固定区间最大值给你一个数组 nums 和一个大小为 k的区间。这个区间可以从数组的最左侧不断移动到数组的最右侧。每个移动区间固定有 ...
Hello World
软实力主动性,责任心项目主动推进自己参与的每一个项目,将自己看作是每一个项目的负责人,以项目负责人的角度去看待事情,一方面能够让自己更好的做事情,另一方面也能培养自己的项目推动能力
个人事务转介绍相关 ...
序
序
Go 设计模式实现,包含 23 种常见的设计模式实现,同时这也是 极客时间-设计模式之美 的笔记
一些基础原则和思想
“好”代码的几个标准
如何评价代码质量的高低?代码质量的评价有很强的主观性, ...
zookeeper 面试必备 100 题
1. ZooKeeper是什么?ZooKeeper是一个开放源码的分布式协调服务,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功 ...
GMP 原理与调度
基本概念M(machine): 代表着真正的执行计算资源,可以认为它就是os thread(系统线程)。P(processor): 表示逻辑processor,是线程M的执行的上下文。G(gorout ...
Golang Sync.Mutex 详解
lock逻辑:
第一次上锁的时候,直接走第一步CAS上锁,成功返回
Mutex已经被另一个g上锁,那么state的g等待数+1,更新当前的锁状态,然后就进入队列,等待被唤醒,等到另个g调用了Unloc ...
golang模拟面试题01
channel实现原理
Mutex 是悲观还是乐观锁(什么是乐观锁)
Mutex 有几种模式(饥饿和互斥)
Mutex 自旋锁?
goroutine 模型 和抢占时机
https://www ...
Go设计模式01-单例模式
序代码实现单例模式采用了 饿汉式 和 懒汉式 两种实现,个人其实更倾向于饿汉式的实现,简单,并且可以将问题及早暴露,懒汉式虽然支持延迟加载,但是这只是把冷启动时间放到了第一次使用的时候,并没有本质上解 ...
Golang Channel 详解
channel 1011. 引子单纯地将函数并发执行是没有意义的。函数与函数间需要交换数据才能体现并发执行函数的意义。
虽然可以使用共享内存进行数据交换,但是共享内存在不同的goroutine中容易发 ...