- 博客(28)
- 收藏
- 关注
原创 面试智力题
智力题:三个人三只鬼结伴郊游,经过一条河,河上只有一艘小木船,木船只有两个位置,每次只能载2个人或鬼,河两岸人的数量如果小于鬼的数量,人就会被鬼无情的吃掉。问怎样过河人才能安然无恙。船上必须有人/鬼才能行驶。
2024-12-08 11:19:35
1029
原创 一些面试问题的深入与思考
原问题:多个服务的bug你是怎么排查的。如果是内存泄漏这种情况看日志看不了怎么办。题解:内存泄漏的问题往往不会直接从日志中体现,需要用更多手段来定位解决。
2024-11-28 16:35:01
924
原创 常见面试手撕题积累
参考:https://blog.youkuaiyun.com/zss192/article/details/138610657#159_32_5898。
2024-11-27 17:45:38
416
原创 Linux八股积累与笔记
(Kernel): 是操作系统的核心部分,负责管理系统的资源和提供各种系统服务。目的: 提高数据访问速度,在内存和处理器之间建立的一个快速访问的临时存储区域,存最近或预计会被频繁访问的数据。的电信号产生的中断,其特点为当前执行的指令的指令结束后才转而产生中断,由于有cpu主动产生,其执行点必然是可控的。目的: 平衡数据传输速度不匹配的两个设备或组件之间的数据流,充当临时存储区域,提供数据传输的中间缓冲区。应用: 常用于网络通信、I/O 操作和数据传输过程中,在数据流动的不同阶段提供暂时性的存储。
2024-11-27 13:59:15
910
原创 分布式系统积累与笔记
在实际应用中,可根据需求调整时间戳的位数、机器ID的位数和序列号的位数来适应不同的场景。节点标识: 在分布式系统中,将每个节点的唯一标识符(如机器ID)纳入UUID的生成过程,以防止在不同节点上生成相同的UUID。序列号(12位): 在同一毫秒内,通过累加的方式生成序列号,确保在同一节点上生成的ID是唯一的。解决方向:使用逻辑时钟;机器ID(10位): 标识生成ID的机器的唯一标识,通常使用数据中心ID与机器ID的组合。唯一性: 由于UUID的长度和生成机制,可以保证在大多数情况下生成的UUID是唯一的。
2024-11-27 12:36:25
465
原创 【日志】binlog 文件的三种格式类型
MySQL 的 binlog(binary log) 是一种日志文件,它记录了所有对数据库的数据更改操作,包括插入、更新、删除等。主用于主从复制和数据恢复等操作。binlog 文件的格式有三种主要类型:STATEMENT、ROW 和 MIXED。
2024-11-17 16:22:39
604
原创 【并发模式】Go 常见并发模式实现Runner、Pool、Work
通过并发编程在 Go 程序中实现的3种常见的并发模式。参考:https://cloud.tencent.com/developer/article/1720733。
2024-11-17 16:03:55
448
原创 【接口】interface的底层原理
接口值:Go 中的接口值由类型信息和数据指针组成,它使得 Go 支持动态类型绑定(多态)。方法表(vtable):每个接口类型有一个方法表,记录了该类型实现的所有方法。当接口调用方法时,实际上是通过方法表来进行查找和调用的。空接口:任何类型都实现了空接口 interface{},它可以用来存储任何类型的数据。类型断言:可以通过类型断言来从接口类型中提取出具体的底层类型和数据。
2024-11-16 18:35:06
969
原创 【RPC】 gRPC、pb基本使用
/ 定义请求消息类型// 定义响应消息类型// 定义服务使用 Protocol Buffers 定义消息类型和服务接口。通过 protoc 编译器生成 Go 代码。通过 gRPC 框架实现服务器和客户端,并进行通信。这样,Go 的 gRPC 服务就可以通过 Protocol Buffers 实现高效的远程过程调用。
2024-11-12 16:07:31
573
原创 【最大内存占用】怎么限制go程序运行时的最大内存占用?
创建一个新的 cgroup,并设置最大内存限制,容器或进程的内存使用将被限制在指定的范围内。GOGC:这是一个控制 Go 垃圾回收触发频率的环境变量,默认值为 100,表示每次垃圾回收后,内存使用量的 100% 会触发下一次垃圾回收。1、Docker:如果Go 应用运行在 Docker 容器中,使用 Docker 的 --memory 标志来限制容器的内存使用。但是,这种方式不能完全限制内存使用,只是通过更频繁的垃圾回收来减缓内存增长。Go 程序内:可以通过调整垃圾回收、内存分配的方式来间接控制内存使用。
2024-11-06 16:23:54
700
原创 【抓包工具】tcpdump使用经验 + 可视化
tcpdump 是一个强大的命令行工具,用于捕获和分析网络流量。可以帮网络管理员、开发者和安全专家调试网络问题或监控网络活动。
2024-10-25 10:25:47
1098
原创 【分布式锁】redis怎么在go项目中实现分布式锁
在 Go 项目中实现 Redis 分布式锁通常使用 SETNX 命令(设置键值对,如果键不存在则设置成功)和一些其他的命令来确保锁的有效性和可控性。选择合适的锁过期时间,确保在锁持有期间不会因为长时间的处理而导致其他请求无法获取锁。expiration:锁的有效期设置(expiration)防止了死锁的情况。实际使用中可能需要更复杂的逻辑,如重试机制、锁的可重入性等,可根据需求调整。SetNX: 使用 SETNX 命令尝试设置锁,返回看成功没。原子性地释放锁,确保只有持有锁的客户端才能释放它。
2024-10-24 22:30:03
408
原创 数据库+计网+OS 注意点
2、创建新用户:在 MySQL 控制台中,使用以下命令创建新用户,命名为 “newuser”,设密码为 “newpassword”。
2024-10-24 22:00:42
106
原创 docker、docker-compose部署项目过程中会遇到使用到的命令
docker部署项目的时候,会反复用到一些命令。干脆都整理下放在这里。
2024-10-24 18:24:00
180
原创 【学习笔记】7月下-经验与总结
4、“WSL”:拷贝wsl安装目录文件到本地,下载code-server,命令行安装其软件包,再命令行安装compare-folders扩展,打开8080端口,http127.0.0.1可访问到vscode,(对比时要把两个项目路径写到配置文件的内容中)这是短的url,再有就是用长的url访问某个项目文件的指定行,(这里要先消除配置文件中的用来对比的默认值)不逃逸,编译器会将其分配在栈上,否则会分配在堆上。时,池会检查是否有空闲的协程可用,如果没有空闲的协程,它会等待直到有协程可用,然后再执行任务函数。
2024-10-23 20:56:27
754
原创 【学习笔记】6月上-经验与总结
四部分中的第三项,这部分会有多个引擎。1、疑问:那个代码审计的项目,版本的分析详情这块,前端说这里开始分析的时候需要将旧任务都清空,再创建新任务,我疑问这个旧任务清空是什么逻辑,因为我看数据库中的扫描信息的所有任务条目都一直存在,还有这个原型图里貌似一个任务对应多个引擎,但数据库中是一对一的关系?1、昨天连不上远程的原因是对方的ip地址换了,换成了192.200.200.11,密码用户名还是原来的,可以连上了,今天开始解决昨天给出的新的接口需求,那个分析进度那块的内容,1、找昨天的问题,理清下思路。
2024-10-23 20:26:55
509
原创 【学习笔记】5月下 过程与总结
3、vul_status的类型怎么办,输入数据库的时候要求是scanresult.VulStatus类型的,但在APIfox中可选的类型只有一些通用类型,这样的话,前端给这个字段传入的数据就只是如string类型,但在后端接受参数的时候又要断言这个参数的类型是scanresult.VulStatus类型,这里就肯定会发生错误,这种怎么办?那放在哪里,本文件中,还是。一个个排过去,发现是ret.LineNumber这个参数的输入的类型,和断言的类型不是一个,断言的是int类型,他本身是integer类型。
2024-10-23 20:05:34
682
原创 【学习笔记】5月上-经验与总结
newVuln, err = c.dbClient.Vulnerability.Query().Where(vulnerability.VulIDContainsFold(vulId)).WithArticles().Only(ctx)用到了: c.dbClient.指向Client结构体,Vulnerability是Client的成员,Query是Vulnerability的方法,接着开始VulnerabilityQuery的Where、WithArticles、Only方法,一层一层进去,
2024-10-23 19:38:52
781
原创 【docker镜像站失效问题】docker: Error response from daemon: Get “https://registry-1.docker.io/v2/“: net/htt
参考:https://cloud.tencent.com/developer/article/2428707。
2024-10-19 00:32:52
312
2
原创 实习日记7.19
项目主用到了cli.NewApp()来获得实例,还用到cli.Flag(StringFlag和boolFlag类型)和cli.Context,cli.Commend没用,给app.Name、Usage、Flags、Before、Action、Run赋值运行,4、语法糖:在编程语言中提供的一种语法结构或语法规则,不改变语言功能,只为了让代码更易读,如自增自减操作符、匿名函数、Lambda表达式、条件与循环语句的简化形式,OSS:是阿里云提供的对象存储服务,类似于 S3,用于存储和访问大规模的非结构化数据。
2024-07-19 15:44:29
796
原创 实习日记7.18
来创建一个命令行应用,app.Flags定义命令行参数,‘app.Before = func(c *cli.Context) error {}’ 函数设置了一个回调函数,app.Action = Work设置了应用的主要逻辑函数为Work,app.Run(os.Args)用于运行应用,并将命令行参数传递给应用。3、sync.Pool:一个类型,对象的临时对象池,和协程池的概念不同,后者主用于管理和复用协程,以提高并发性能和资源利用率。4、设置反向代理:是一种网络配置方法,将客户端的请求转发到后端服务器。
2024-07-18 17:22:03
308
原创 C#面向对象编程
C#面向对象编程题目:通过观察和交流,我们了解学校内的各类人员,分析他们的属性特征,特性和职责,来设计人员类。作业尽量使用各种面向对象的语法,例如封装,继承、多态和接口、事件等。应用这个设计,实现学校内的一项教育教学任务,例如教学过程、评优考核等。1、简述问题:本科生,研究生登入此界面可根据各科成绩,学分来查询优秀等级,绩点和能否获得奖学金;研究生还可以查询自己导师情况,评奖参考学科;老师可以浏览此界面。2、数据算法说明:使用窗体设计,按钮事件,接口声明实现,接口安全测试,抽象类,继承类,继承的
2020-11-29 20:02:22
4115
原创 C#文件操作
C#文件操作2020年全国大学生数学建模竞赛D题接触式轮廓仪的自动标注。读取附件1的数据,完成问题1中的计算。在窗口中画出图形,并标注结果。必要时可以转换文件格式。参考网址:1、2020年数学建模题目,http://www.mcm.edu.cn/upload_cn/node/585/05k6B8WT92d3955f5c5e95dd086e59163e5f584b.rar2、往年优秀论文展示,http://dxs.moe.gov.cn/zx/qkt/sxjm/lw/2019qgdxssxjmjslwz
2020-11-29 19:28:18
240
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人