
面试
文章平均质量分 78
爱吃鱼的cl
在职golang开发工程师
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Redis分布式锁(面试版)
因此,当一个用户请求进来的时候,通过setNX来设置一个键(值随意),当里面没有值的时候,返回true,加锁成功,,其他请求再来的时候发现无法上锁了,只能进行等待了。释放锁使用delete操作。原创 2024-06-17 08:00:00 · 199 阅读 · 0 评论 -
golang秋招面试题整理
闭包是指一个函数值,它引用了其外部作用域中的变量。该函数值可以访问并修改其外部作用域中的变量,即使在其声明的位置已经退出作用域的情况下也可以。由于闭包引用了外部作用域中的变量,这些变量的生命周期可能会被延长,导致内存占用增加。对于循环中的闭包,如果不小心使用,可能会导致意外的行为,如最终状态错误。答:1)本该分配到栈上的变量,跑到了堆上,这就导致了内存逃逸。2)栈是高地址到低地址,栈上的变量,函数结束后变量会跟着回收掉,不会有额外性能的开销。原创 2024-06-14 10:20:23 · 1346 阅读 · 1 评论 -
关于缓存一致性的问题总结(面试版)
主动更新策略分为两个场景,一种是读操作(读缓存),一种是写操作(写缓存)。得出结论选删除缓存,因为更新缓存可能会存在过多的冗余数据,对缓存利用率也不高,redis是基于内存的,内存资源是很宝贵的。先删除缓存,后更新数据库先更新数据库,后删除缓存延迟双删两个操作的一致性问题。原创 2024-06-15 11:42:49 · 455 阅读 · 0 评论