记2023 2023 年过去了,我不想怀念他。 这篇 2023 年的总结终于在 2024 年中旬开始动笔。一部分原因是由于懒惰,主要原因是由于这一年来属实精力捉襟见肘,抽不出大块的时间让我回首这一年的点点滴滴,临近毕业我终于可以开始动笔这一年的流水账,回首这段忙里偷闲的日子。 2023 年作为我人生的又一个关键节点,这一年中走的每一步都影响着但我走出校门迈入社会时到底要走向何方。面对这种关键又没有足够的把 2024-06-07 日记 #日记
一名2024届毕业生的求职日记(秋招) 总结 通过 公司 部门 岗位 进度 评价 Offer 字节 抖音风控 后端 三面技术,被转了部门 被主动邀请投了提前批,HR 对于哪个组一直遮遮掩掩,后来自己问了才知道,听说工作节奏还行,本来挺想去的,但是无奈发挥的不好,三面后被转了部门。 字节 抖音创作者 后端 转部门后加一面,通过 被上一个部门挂了之后转到这个部门,本来以为没啥希望,最后居然峰回路转,加面上岸,侥幸侥幸。 2023-10-06 日记 #面试
Go panic& recover 原理与用法 基本用法 panic 能够改变程序的控制流,调用 panic 后会立刻停止执行当前函数的剩余代码,并在当前 Goroutine 中递归执行调用方的 defer。 panic 只会触发当前 Goroutine 的 defer,panic 允许在 defer 中嵌套多次调用; recover 可以中止 panic 造成的程序崩溃。它是一个只能在 defer 中发挥作用的函数,在其他作用域中调用不会发 2023-07-28 笔记 #Go
浅析 Go 垃圾回收 垃圾回收 垃圾回收器种类 GC 实现方式包括: 追踪式,分为多种不同类型,例如: 标记清扫:从根对象出发,将确定存活的对象进行标记,并清扫可以回收的对象。 标记 整理:为了解决内存碎片问题而提出,在标记过程中,将对象尽可能整理到一块连续的内存上。 增量式:将标记与清扫的过程分批执行,每次执行很小的部分,从而增量的推进垃圾回收,达到近似实时、几乎无停顿的目的。 增量整理:在增量式的基础上,增加对 2023-03-20 笔记 #Go
浅析 Go 语言中的锁 锁 互斥锁与自旋锁 互斥锁:互斥锁又被称为无忙等待锁,当获取不到锁的时候,线程会被阻塞,等待锁空闲后被唤醒,线程被阻塞是由操作系统实现的,这个过程涉及到由用户态陷入内核态,涉及线程的切换。 自旋锁:自旋锁又被称为忙等待锁,获取不到锁的时候,一直占用 CPU 进行自旋检测锁的状态。 自旋锁和互斥锁的选择也是一个值得考虑的问题。 如果一个资源被占用一次的时间过短,那么自旋等待的代价要低于加锁后进 2023-03-14 笔记 #Go
Go 中的“面向对象” Go 中的”面向对象“ Golang 不同于 Java,并不是完全面向对象的,他没有对象和类的概念。 而是如引入了 struct 和 interface 的概念,曾经看到过一个说法,我觉得说的还挺形象的,Go 没有面向对象只有字段集和方法集🐶。 鸭子类型 鸭子类型的设计哲学是:如果某个东西,它具备鸭子拥有的一切能力,那么这个东西他就是一只鸭子。也即是说一个 struct 如果他实现了一个 int 2023-03-14 笔记 #Go
记2022 2022 年过去了,我不想怀念他。 一年一更的年记(流水账),终于在大年初一开始动笔。最近先后忙于论文开题与实习,终于有精力抽出时间开始回首这一年的林林总总点点滴滴,每年一更的年记既是记录也是总结更是对自己的督促。 如果让我来评价我的 2022,我会用稳中向好来描述它,这一年不紧不慢地过去了。这一年由于疫情管控的原因,我的大部分时间都是在校园中度过的,校园生活相比以前可以出校浪荡的时光总是那么 2023-01-22 日记 #日记
一名2024届毕业生的求职日记(暑期实习) 总结 通过 公司 岗位 时间 进度 评价 SmartX SRE 2022-12 三面通过,一周后直接入职 寒假接了,实习到开学之前,总体体验很好,氛围很棒,但因为学校有事提前离职了,虽然组长说后面处理完学校的事情,还可以回来,但由于想试试大厂就没回去。 字节 飞书后端 2022-12 一面侥幸通过,主动拒了二面 当时想去 SmartX 所以就拒掉了,没想到开学后字节根本不招人了。 2022-12-13 日记 #面试
线程 I/O 模型 UNIX 网络编程中共提到了 5 种 I/O 模型,分别为阻塞 I/O、非阻塞 I/O、I/O 多路复用、信号驱动 I/O、异步 I/O,前四种都属于同步 I/O。 因为实际上 I/O 操作实际上分为两个阶段:将数据从 I/O 设备复制到内核区,将数据从内核区复制到用户区。前四种模型无法做到在两个阶段都不需要阻塞等待,他们都需要在第二个阶段阻塞等待数据从内核中复制到用户区,只有异步 I/O 模型可 2022-11-13 笔记 #操作系统
KubeVela 源码阅读——控制器处理 KubeVela 以应用为中心,因此对控制器处理逻辑的分析中选取 Application 控制器作为主要的分析对象。 控制器启动 Application 控制器是 OAM 控制集中的一个控制器,在控制器启动的流程中,通过调用了 OAM 控制集的启动,间接启动了该控制器。 123456789101112// Setup adds a controller that reconciles AppRol 2022-07-15 笔记 #KubeVela #云原生