摘要:
2020年进入互联网后,一直想进到一线大厂,倒也不是因为别的,总觉得没去过有些遗憾。终于借着上海疫情隔离,在家有比较充足的时间准备面试,拿到了字节offer。简单记录一下面试中遇到的问题吧。 一面 简单地自我介绍 项目经历描述,选了之前做的比较好的部分介绍了下,关于项目一面面试官没有特别深入地问。 阅读全文
摘要:
启动: 折叠源码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 // 通过cobra生成 阅读全文
摘要:
在Kubernetes中,调度是指将Pod放置到合适的Node上,然后对应的Node上的Kubelet才能够运行这些pod。调度器通过Kubernetes的监测机制来发现集群中新创建且尚未被调度的Node上的Pod。K8s中默认的调度器是kube-scheduler, 当然,也可以自行实现一个自定义 阅读全文
摘要:
需求背景: 项目中需要定期执行任务A来做一些辅助的工作,A的执行需要在超时时间内完成,如果本次执行超时了,那就不对本次的执行结果进行处理(即放弃这次执行)。同时A又依赖B,C两个子任务的执行结果。B, C之间相互独立,可以并行的执行。但无论B,C哪一个执行失败或超时都会导致本次任务执行失败。 Gro 阅读全文
摘要:
记录一下开发过程中遇到的死锁问题和解决方案 首先是隔离级别,mysql有四个隔离级别,从宽松到严格依次是 读未提交 Read Uncommitted 读提交 Read Committed (线上环境使用的隔离级别) 可重复读 Repeatable Read (Mysql 默认的隔离级别) 串行化 S 阅读全文
摘要:
主语言转成Go了,记录一些Go的学习笔记与心得,可能有点凌乱。内容来自于《Go程序设计语言》,这本书强烈推荐。 (Go中并发编程是使用的Go独有的goroutine,不能完全等同于线程,但这不是这篇的重点,下面不做区分了) 在串行程序中,程序中各个步骤的执行顺序由程序逻辑决定。比如,在一系列语句中, 阅读全文
摘要:
哈哈,今天整活上瘾了. 复习了一下最近两场周赛感觉能做出来但是实际没有做出来的题目 感觉有几点不足,希望以后可以逐渐改过来: 1. 基础知识不扎实,有时候会在细节上栽跟头 2. 有时候容易脑子一热,想到一部分就开始写,简单题还能处理,中等或困难就有点难搞了,太局部,不全面 3. 心态还是需要调整一下 阅读全文
摘要:
Go的错误机制 与其他主要编程语言的差异 没有异常机制 error类型实现了error接口 可以通过errors.New来快速创建错误实例 //error类型实现了error接口 type error interface { Error() string } //可以通过errors.New来快速创 阅读全文
摘要:
空接口与断言 空接口可以表示任何类型 通过断言来将空接口转换为定制类型 v, ok := p.(int) //ok=true时转换成功 Go接口最佳实践倾向于使用更小的接口,很多接口只包含一个方法,目的是让实现者负担更小 例如 type Reader interface { Read(p []byt 阅读全文
摘要:
关于重载,重写,覆盖的基本概念要分清楚, Go中确实是不支持重载的, 官方给出的解释是 其他语言的经验告诉我们,有各种同名但签名不同的方法有时是有用的,但在实践中也可能令人困惑。关于重载运算符,似乎更方便,但是同样的,没有重载会更简单。 因此这么设计的目的其实 使Go语言保持简单 这一核心目标 而关 阅读全文