golang社招面经

#golang面经# 1、容量为1的channel在什么情况下会堵塞(除了常见的)
2、多线程同时读写map中不同的key,一个线程只会读写一个key,会发送什么
3、检查数据竞争
4、实现了一个web的server,如何设置这个server返回的response的类型,比如说是一个图片一个视频一个json
5、快速定位死锁
6、用户从客户端访问一个页面,webserver如何主动的给这个页面推送一个通知
7、singleflght是使用什么方式去通知其他线程,其他线程怎么阻塞的
8、不用waitgroup怎么实现这部分
9、slice是[]int{1,2},把它传入一个函数,修改第一项的值为3,函数结束,原来slice值改变了吗
10、如果函数是新建一个list等于append原来的slice,list=append(slice,3),调用完这个函数后在函数的外部打印这个原来slice的长度是多少,新的是多少,地址改变了吗,指向的原来的数组呢
11、a和b两个线程,a里面有defer recover,a里面新开了一个b,b没写defer recover,b发生了panic,ab两个线程会发生什么情况(之前没听清,以为是两个不相干的函数,我还在想那不直接panic还要咋)
12、在函数参数传递一个非指针的互斥锁会发生什么事情?为什么会发生?
13、优化过sql吗,数据库是部署在哪里的,讲一个你认为最好的sql优化例子
14、mysql部署在阿里云上,如何找到最慢的sql语句
15、用过gorm,如果一张上百万的数据的表,要新建一个字段的索引,如何保证线上的服务尽量少的被影响
16、jwt鉴权管理实现怎么做的,怎么实现的鉴权,修改了token它怎么解析,为什么这么解析,原理是什么
17、详细说一下令牌桶算法的实现
全部评论
笔试是一小时内写个类似singleflight的
1 回复 分享
发布于 2024-04-26 16:01 四川
一年经验问这么多?
点赞 回复 分享
发布于 2024-05-01 12:33 广东
几年经验呀
点赞 回复 分享
发布于 2024-04-26 18:12 上海

相关推荐

没有自我介绍 全程八股go基础方面1. 切片和数组的区别2. map的删除(假删除)3. GMP4. 协程和进程、线程的区别5. channel的阻塞、非阻塞mysql1. 了解底层吗 为什么用b+树2. 回表查询3. 事务的隔离级别 脏读 不可重复读4. redolog undolog binlog5. 分库分表怎么分 键是怎么移过去的(一致性哈希 忘了)redis1. 了解什么数据结构2. 分布式锁3. 缓存穿透、击穿、雪崩mq重复消费怎么解决计网1. ip和tcp分别是哪层的2. tcp和udp的区别3. http和https的区别 只答了加密 还把加密协议名记错了 安全证书没说4. 从输入地址到显示页面的过程 dns+http5. 状态码 502和504的区别操作系统 面的时候可以说基本没看 吃大亏1. 进程间通信 只答了管道 共享内存和信号量2. 死锁的四个条件 非抢占想了半天才想起来3. 进程的调度 答:进程是由内核调度的 我真的服了linux平时用的什么linux指令 怎么定位线程、进程的使用情况 没答出来场景题 设计秒杀用redis作缓存+分库分表(想说读写分离说错了) mq削峰 用rocketmq或者kafka这种吞吐10w+的因为提了redis分库分表,后面问lua脚本能不能原子性 分布式环境不能 要加上分布式锁下单超时 返回的订单给接下来哪个用户 没听明白 用消息队列的延迟队列来做下单超时(答非所问)算法1. 了解什么排序算法 只答了冒泡和快拍😭排序这一块真不行 问了时间复杂度和哪个稳定2. 链表删除倒数第n个节点 太紧张忘了快慢指针怎么做 转正向删除做了总结八股感觉还可以 就操作系统基本没看吃大亏 算法还行起码做出来 收了我吧😭
查看28道真题和解析
点赞 评论 收藏
分享
评论
10
109
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务