- 博客(267)
- 收藏
- 关注
原创 5.22 面经整理
代码段:代码段是用来存放可执行文件的操作指令,可执行程序在内存中的镜像。代码段需要防止在运行时被非法修改,所以只准许读取操作,它是不可写的。数据段:存放程序静态分配的变量和全局变量。BSS段:包含了程序中未初始化的全局变量,在内存中 bss 段全部置零。堆 heap:当进程调用malloc等函数分配内存时,新分配的内存就被动态添加到堆上(堆被扩张);当利用free等函数释放内存时,被释放的内存从堆中被剔除(堆被缩减)
2025-05-22 14:46:04
132
原创 新浪、京东golang一面整理
微服务治理是一套保障微服务架构高效、稳定运行的机制和规范。随着单体应用拆分为多个独立服务,服务数量增多、交互复杂,治理成为解决服务间通信、监控、故障处理等问题的关键手段。
2025-05-21 16:00:36
1006
原创 深信服golang面经
在 Go 中,map不是协程安全的。如果多个协程同时读写同一个map,可能会导致数据竞争和不确定的行为。因此,使用map时需要确保并发安全。map在并发环境下不安全。使用互斥锁、sync.Map或通道可以实现协程安全。有缓冲区的通道适用于任务队列等场景,可以提高并发性能。无缓冲区的通道适用于需要同步的场景,确保操作的顺序。内存逃逸指的是在 Go 中某个变量的生命周期超出了其原本的作用域。这意味着该变量不能在栈上分配,而必须在堆上分配,以确保在函数返回后仍然能够访问。
2025-05-20 11:03:43
745
原创 华为ODgolang后端一面面经
避免历史连接同步双方初始序列号避免资源浪费Redis 提供了多种架构模式,以满足不同场景的需求。根据数据规模、可用性和性能要求,选择合适的架构模式。
2025-05-19 18:33:58
966
原创 字节后端开发一面面经
滑动窗口算法通过动态监测和灵活的时间窗口设计,解决了固定窗口算法在流量控制中的突发性和不精确性问题,使得系统能够更平稳、合理地处理请求。rpc通常使用在分布式系统、跨语言调用、高性能服务中。http通常使用在网页浏览、RESTful API、文件下载等HTTP 流量: 适合外部用户请求和 RESTful API。RPC 流量: 适合服务间的高效通信。选择使用哪种方式取决于具体的应用场景和需求。
2025-05-12 10:14:37
619
原创 Funplus 服务端开发实习 面经
文章摘要: 本文探讨了多个技术主题,首先是Redis Zset的底层实现,随后讨论了如何实现一个简单的缓存系统,并介绍了常见的缓存淘汰策略,如LRU、FIFO和LFU。接着,文章解释了Golang的混合写屏障机制,该机制通过结合插入写屏障和删除写屏障,优化了垃圾回收过程,减少了停顿时间。此外,文章还分析了变量在栈和堆中的分配规则,指出栈用于局部变量和短生命周期对象,而堆用于动态分配和大块内存。最后,文章对比了Git中的merge和rebase操作,指出merge保留分支历史,而rebase则重写提交历史,使
2025-05-11 10:51:48
600
原创 小厂golang面经
在Go语言中,slice是一种动态数组结构,当向slice添加元素时如果容量不足,底层会触发扩容机制。扩容时,新的容量通常是原容量的两倍,同时会分配一块新的内存区域并将原有数据复制过去。如果原容量足够大,则不会触发扩容。首先明确slice是由一个底层数组支持的动态视图,它包含三个关键属性:指向底层数组的指针、当前长度和容量。当我们对slice进行append操作时,如果当前长度加上新增元素数量超过容量,就会触发扩容。
2025-05-09 10:15:30
433
原创 阿里云 golang 一面
通过微服务架构、消息队列、缓存、负载均衡等方法,可以有效地处理并发打车请求,确保系统的高可用性和良好的用户体验。同时,监控和日志管理也能帮助及时发现和解决问题。
2025-05-08 11:16:47
1032
1
原创 百度后端开发一面
在Go语言中,Mutex(互斥锁)和RWMutex(读写锁)是用于管理并发访问共享资源的核心工具。sync.Mutexdeferatomicsync.Mutex通过合理选择Mutex或RWMutex,并遵循最佳实践,可以有效避免并发问题,编写高效且安全的 Go 代码。
2025-05-02 11:35:44
1404
原创 百度网盘golang实习面经
goroutine内存泄漏基本上是因为异常导致阻塞, 可以导致阻塞的情况1 死锁, goroutine 等待的锁发生了死锁情况2 chan没有正常被关闭,导致读取读chan的goroutine阻塞如何避免1 避免死锁2 正常关闭3 使用context管理goroutine, 超时结束goroutine在Go语言中,Goroutine内存泄漏通常是由于,导致其引用的对象无法被垃圾回收(GC)。
2025-04-30 10:02:30
1332
原创 腾讯(QQ浏览器)后端开发
ECDH通过强制使用临时密钥对(ECDHE),确保每次会话的密钥交换材料独立且短暂。即使攻击者未来获取长期私钥,因无法获得历史临时私钥,无法解密过往通信,从而实现了前向安全性。这一机制被广泛应用于TLS等现代安全协议中,成为保护长期通信隐私的核心设计。使用new时,适合需要指针的结构体和基本类型。使用make时,适合处理切片、映射和频道,确保它们被正确初始化。
2025-04-23 10:50:15
1000
原创 滴滴-golang后端开发-企业事业部门-二面
val intif n==0{return ansidx := 0// 构建初始列表q := headfor i:=1;i<n;
2025-04-22 11:18:36
1113
原创 4399后端一面
处理第三方接口请求超时时,设置合理的超时时间、使用上下文管理请求、实施重试机制以及记录和监控都是有效的策略。通过这些方法,可以提高系统的鲁棒性和用户体验。以上步骤提供了在阿里云的Linux服务器上部署代码的基本流程。具体操作可能因项目需求和环境而有所不同,确保根据实际情况进行调整。通过设置环境变量GOOS和GOARCH,可以在Windows环境中轻松地编译Go代码为Linux可执行文件。然后,将编译后的文件传输到Linux服务器上运行即可。这样可以高效地进行跨平台开发。
2025-04-21 11:54:21
334
原创 字节头条golang二面
就可以保证栈上的对象不会丢失。有人说,一直是黑色的对象,那么不就永远清除不掉了么,这里强调一下,标记为黑色的是可达对象,不可达的对象一直会是白色,直到最后被回收。堆上被删除的对象标记为灰色堆上新添加的对象标记为灰色。
2025-04-20 20:53:02
859
1
原创 字节(抖音)golang后端
TCP 更适合需要可靠性、顺序和连接管理的场景,如文件传输和网页浏览。UDP 更适合对速度要求高、可容忍数据丢失的场景,如实时音视频传输和在线游戏。https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array/description/?envType=study-plan-v2&envId=top-100-liked
2025-04-17 09:49:55
421
原创 b站golang后端开发一面
Golang(也称为Go语言)是一种静态类型、编译型语言,由Google开发,以其简洁、高效和强大的并发处理能力著称。Golang的设计哲学强调简洁明了。与Python类似,Go语法简洁,易于学习和编写。但与Python等动态类型语言不同,Go是静态类型语言,这意味着在编译时就能捕捉到更多的错误,从而提高代码的稳定性和可维护性。Golang的一个显著特点是其对并发的原生支持。通过goroutine和channel,Golang使得并发编程变得简单而强大。
2025-04-15 11:56:50
1064
原创 3. go-zero中如何使用redis
但是上述方法仅适用与简单的string类型的操作,如需使用其他数据结构等,可以参考这篇博文:https://blog.csdn.net/u011019141/article/details/137235129。sqlx.NewMysql(DataSource):这部分创建了一个新的MySQL数据库连接,DataSource 是一个字符串,通常包含数据库的连接信息,如主机名、用户名、密码和数据库名等。):这是一个函数调用,用于创建一个新的用户模型实例。仅个人见解,欢迎大家就此问题与我讨论~
2025-04-06 20:41:59
475
原创 2. 初识go-zero
go-zero 是一个集成了各种工程实践的 web 和 rpc 框架。通过弹性设计保障了大并发服务端的稳定性,经受了充分的实战检验。go-zero 中的 api,rpc,数据库等涉及的代码,都可以给我们一键生成,无需耗费我们什么精力只需要在生成的代码中填入自己的配置以及逻辑即可。强大的工具支持:尽可能少的代码编写**,通过 goctl 工具一键生成多端代码**。极简的接口:完全兼容 net/http,支持中间件,方便扩展。
2025-03-24 15:23:12
1136
1
原创 2. 商城前端部署
使用开源新蜂商城的前端,git clone到本地然后在vscode终端依次输入下列指令(配置好vue3相关环境的前提下):即可成功配置商城客户端的前端页面。
2025-03-20 20:04:15
567
原创 1. 初识golang微服务-gRPC
在这里插入图片描述服务端实例代码:客户端示例代码:https://github.com/protocolbuffers/protobuf/releases/tag/v30.0下载对应操作系统版本,然后解压缩,将bin文件夹的路径加入环境变量中即为成功!然后下载go对应的包go get github.com/golang/protobuf/protoc-gen-go
2025-03-19 21:22:26
548
原创 1. 环境准备
默认网络是NAT + 端口转发更改/etc/sysconfig/network-scripts/ifcfg-ens33修改以下内容:BOOTPROTO=static 启用静态IP地址ONBOOT=yes 开启自动启用网络连接添加以下内容:IPADDR=192.168.30.100 设置IP地址NETMASK=255.255.255.0 子网掩码GATEWAY=192.168.30.2 设置网关设置DNS,常用的免费DNS地址:国内移动、电信和联通通用的DNS:1
2025-03-19 16:15:02
533
原创 第8章:集成学习
随机:一个是训练集的随机,一个是属性的随机(每次在当前属性中随机取K个构成属性子集,在子集中选择信息增益最大的属性)数据集划分:使用类似自助法的k折交叉验证,有放回的取出,分别训练T个决策树。利用初始数据集训练出初级学习器,然后生成一个新数据集,训练一个次级学习器。
2023-08-19 10:42:18
661
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人