首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
来个好消息
门头沟学院 后端工程师
关注
已关注
取消关注
@Epochsss:
Go常见八股整理与解析
******************Go的八股不多,所以咱们偏向于求精不求多,尽量讲出深度和广度。广度,代表了你的知识面、深度代表了你对该点有深入的理解。广度,通常是通过横向对比体现的;深度,通常是细节去体现的。后面会具体举例说明如何表达出深度和广度。面试准备我个人的简历上面,写的是熟悉Golang: Slice、Map、GPM调度器、垃圾回收机制等面试官基本的提问方式是,“我看你简历上有写xx,你给我介绍一下xx吧”所以,你就需要准备好说辞,想好怎么涉及广度又涉及深度地表达。首先大家要想好以怎么样子一个结构去表达,我个人的一般方式是背景:这个东西是干啥的,有什么作用核心原理:代表你的理解细节:细节是某些数据的设置,或者特定场景的优化。细节,就表达你的深度,同时也能够让面试官相信有你真实理解,而不只是背八股。总结拔高:这里通过就需要你对某些点有些深入的理解或者横向对比,这个是用来加分的,这也是和别人拉开差距的地方,表达你有不一样的理解。Golang中的map的例子我以golang中的map为例子,大家理解一下,注意,面试的时候尽量用口语话的表达,不然就像在背八股。口语中有“就是”、“然后”这样的衔接词。map它的底层是哈希表,那哈希表通常我们需要考虑3个方面,哈希函数、冲突处理、扩容方式。哈希函数这个没啥好说的,是尽量保证哈希结果稀疏就好。冲突处理这块,golang中的map采用的是拉链法,不过这有个细节就是,这个map的链表的节点是一个桶,一个桶你可以理解为一个8个元素的数组,这样做的好处就是,减少了频繁分配链表节点时的开销,我理解的话,这是一种时间和空间上的折中。扩容方式这块,是采用渐进式扩容,渐进式扩容就可以把时间均摊到每次请求上,不会有那种常规扩容的卡顿的情况。然后前面提到桶,golang也提出等量扩容的方式,主要是在稀疏的情况下做,减少检索和内存的开销。单个点拉出来看背景:哈希表由于是人尽皆知的,所以可以不用介绍。核心原理:按照3个方面,哈希函数、冲突处理、扩容方式,去介绍。多个细节:拉链法、链表节点是桶、等量扩容总结拔高关于桶这点,“减少了频繁分配链表节点时的开销,这是一种时间和空间上的折中。”等量扩容,“主要是在稀疏的情况下做,减少检索和内存的开销。”这样,是不是让面试官感觉你对map了解很透彻的同时,能做横线对比,体现了知识广的优势。Golang的GPM调度器再比如协程调度器GPM,可以从这么几个角度,按顺序吟唱背景:为什么要有GPM调度器核心数据结构:G、P、M调度逻辑:正常情况下、挂起和恢复情况下、负载均衡情况、抢占式调度横向对比:调度器可以和Linux的线程调度器CFS对比来看,有哪些异同,比如都有全局对立和本地队列、都有负载均衡机制、差异是golang的调度实现更简单如下图大家把这些内容填进去,按顺序说,就是流畅的八股表达Go其他八股其他的比如slicesync.Map垃圾回收channelnew和make的区别其他那种简单看看的八股我就不额外写了,大家看看就能会。上面这些我把图贴出来给大家参考。GPMSlicesync.Map垃圾回收mapchannel完整文件如果需要完整文件,由于牛客没法放xmind文件,也没法放百度网盘链接【恼】,可以看上面文章来源获取,后续也会放其他的八股,Redis、MySQL和分布式、微服务等等,欢迎关注我的牛客和公众号!
点赞 54
评论 3
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
昨天 14:18
已编辑
门头沟学院 研发工程师
4.10- 阿里云agent-一面
🕐面试时间:60min❓面试问题:前半小时正常问问题,后面ai coding自我介绍实习拷打,发现面试官之前也在那个公司工作过3年,参与过公司平台的创建,然后问我在实习过程中有触及到公司其他的产品或业务吗拷打项目,开发过程中有遇到什么难题,以后想怎么改善工作流和agent的区别,什么时候用哪个一个分布式系统,进程间通信的方式有哪些,哪个是最高效的(我答共享内存最高效,其他的方式还有信道,消息队列kafka,管道通信),如果是跨主机通信呢(我想不出其他的,只能想到消息队列中间件,还有通过http和rpc通信)突然扯到http 和rpc的区别,为什么公司选择rpc,rpc为什么快(没答上来,让面...
查看12道真题和解析
点赞
评论
收藏
分享
04-07 00:22
广西大学 算法工程师
蚂蚁 AI应用开发 二面
1. 你之前接触过的中间件里,挑一个最熟的讲讲它的核心设计,重点说为什么要这样设计如果讲消息队列,比较容易拉开差距的不是背概念,而是把吞吐、可靠性、顺序性和扩展性之间的取舍讲清楚。比如一套高吞吐 MQ 通常会采用顺序写磁盘、分区模型、批量发送、批量拉取和零拷贝来提升吞吐,但这么设计以后,消费顺序只能在单分区内严格保证,跨分区顺序就必须交给业务自己兜底。再比如可靠性不是简单开个副本就完事了,生产端要考虑重试和幂等,Broker 要考虑刷盘和副本同步策略,消费端还要考虑重复消费和位点提交时机。真正难的是理解这些机制不是孤立存在的,而是围绕吞吐、延迟、可恢复性一起做平衡。2. 软件工程里的设计原则你...
查看11道真题和解析
点赞
评论
收藏
分享
03-29 14:17
杭州电子科技大学 嵌入式硬件工程师
开发还有 promising 吗
AI 能力恐怖如斯……
Prompt分享
点赞
评论
收藏
分享
昨天 14:40
郑州大学 Java
可以给暑期失败者支个招吗
如题,希望大佬们可以给鼠鼠指条明路暑期情况上文已经写了目前情况,在投递日常但没回响,最后几个暑期也投了/更新ai项目还很浅我还在完善,但硬答感觉复习一下可以答了,我这个是rag,但什么多agent我感觉我接触不到还能找到中大厂的实习吗没工作真的很可怕,这就是小秋招
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
大模型Agent面试全攻略(附答题思路)
1.7W
2
...
谁都可能在说谎,但财报不会骗人
1.5W
3
...
我感觉我遇到神仙mentor了
9861
4
...
春招产品内卷到什么程度了
5378
5
...
字节一二三hr面 java面经(已off)
5156
6
...
秋招失利别慌,好offer不怕晚
4551
7
...
携程工作体验
3785
8
...
上线一个月了,说几句真心话
3697
9
...
入职翼支付2年多,聊聊感受
3455
10
...
有了这个skill我再也没手动改过简历
3058
创作者周榜
更多
正在热议
更多
#
Agent面试会问什么?
#
22213次浏览
795人参与
#
哪些公司一直卡在简历筛选
#
99617次浏览
301人参与
#
厦门银行科技岗值不值得投
#
18250次浏览
419人参与
#
给工作过的公司写一条大众点评,你会怎么写?
#
7550次浏览
113人参与
#
运营每日一题
#
134376次浏览
928人参与
#
烂工作和没工作哪个更痛苦?
#
15654次浏览
247人参与
#
拼多多工作体验
#
54844次浏览
373人参与
#
一人分享一个skill
#
5653次浏览
156人参与
#
我们是不是被“优绩主义”绑架了?
#
43800次浏览
538人参与
#
春招至今,你收到几个面试了?
#
60791次浏览
843人参与
#
央国企投递记录
#
186999次浏览
1710人参与
#
面试体验最好和最差的公司
#
18604次浏览
140人参与
#
机械人面试中的常问题
#
267390次浏览
3692人参与
#
你觉得专业和学校哪个对薪资影响最大
#
103928次浏览
615人参与
#
我是XXX,请攻击我最薄弱的地方
#
71850次浏览
475人参与
#
AI替代不了什么?
#
10353次浏览
160人参与
#
现在入门AI首先要做什么?
#
3662次浏览
92人参与
#
你收到了团子的OC了吗
#
1583379次浏览
11849人参与
#
神州数码信息服务股份有限公司笔试
#
3489次浏览
21人参与
#
你被哪些公司挂了?
#
172782次浏览
969人参与
#
面试尴尬现场
#
224026次浏览
868人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务