概览
目前,Go语言在中国市场虽然蓬勃发展,但相较于JAVA语言的成熟面试体系,Go缺少了很多“八股文”性质的资料,出现了两个问题:
- 对新手来说,知识很难体系化;
- 对面试者来说,遇到的问题千奇百怪,甚至面试官之间的答案也不一样
那么,我将挑选五个概述类的问题,并给出我的思考,希望能对大家带来帮助。
在上一讲,我们梳理了EtcdServer
的关键函数processInternalRaftRequestOnce
里的四个细节。
其中,wait.Wait
组件使用里,我们还遗留了一个细节实现,也就是请求的处理结果是怎么通过channel返回的。
1 | select { |
在上一讲,我们继续梳理了PUT
请求到EtcdServer
这一层的逻辑,并大概阅读了其中的关键函数processInternalRaftRequestOnce
。
这个方法里面有不少细节,我们今天就选择其中有价值的四点来看看。
etcd
的源码相对Kubernetes
少了很多,但学习成本依旧在。
在第一阶段,我将从主流程出发,讲述一个PUT
指令是怎么将数据更新到etcd server
中的。今天,我们先来看看server是怎么启动的。
原题链接 https://leetcode-cn.com/problems/container-with-most-water/
1 | func maxArea(height []int) int { |