首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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和分布式、微服务等等,欢迎关注我的牛客和公众号!
点赞 52
评论 3
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
01-29 15:08
门头沟学院 服装/纺织设计
视源股份|视频
1.自我介绍2.问了关于公司的业务3.makefile文件的结构特点?4.makefile里如何写一个LED的驱动模块?5.LED属于哪类设备?一共有哪几种设备类型?6.描述一下STM32的启动过程?7.中断的优缺点说一下?8.STM32是什么意思?GPIO是什么意思?9.GPIO的输入模式有哪些?10.volatile关键字的作用?用过吗?11.malloc和New的区别?12.什么是多态?13.前拷贝与后拷贝?14.IIC的时序说一下?15.现在有其它的工作机会吗?16.工作地点是怎么考虑的?
查看16道真题和解析
点赞
评论
收藏
分享
01-29 19:49
已编辑
前端工程师
面试(26.01.29 下午四点到四点四十六分)
1.自我介绍2.浏览器的事件循环3.有用过next.js开发过一些项目吗4.0-1 独立搭建项目(一般会搭建哪一些东西)5.移动端的一些兼容性处理(一般怎样去做这些处理的)6.小程序的开发流程7.UI设计稿,页面样式还原,还原程度(效果)多少8.canvas有时候会之可能会有一些锯齿,不是很清晰,这种情况有遇到过吗9.日常开发中AI工具使用情况和办公软件使用情况10.登录认证时token的自动刷新是怎样实现的11.xss防护12.HTML5的一些语义化标签的好处13.写完css的一些样式后需要查看页面效果,如果不符合我们的预期会怎样处理(排查问题的思路 排查定位最终问题在哪里)14.团队中矛盾...
查看15道真题和解析
点赞
评论
收藏
分享
2025-12-19 18:17
吉林大学 Java
讯飞变相“毁”意向
意向两个多月了,🚗bu讯飞群里意向开奖的大概就1/3,hr说“意向的都会谈薪”确实谈薪了,只不过是劝退价,相当于变相毁意向
文化小流氓:
今年也很有性价比啊,和华为一样
点赞
评论
收藏
分享
01-26 18:16
门头沟学院 前端工程师
有时候真的泪目了😭😭
大家都在鼓励你。自己也要争气啊!!!
实习好累,可以辞职全力准...
点赞
评论
收藏
分享
01-28 15:29
Blessed John XXIII National Seminary (Weston) Java
几年没面试,这次真的被打醒了!
我上一次认真准备面试,已经是三年前的事了。那时候我一直觉得,只要 Java 基础还在,项目经验还在,问题就不大。毕竟那么多年后端,不至于一出来就水土不服。直到真正开始面试,我才发现一个事实:我不是技术退步了,而是市场已经换了一套考法。第一轮面试,我就意识到“不对劲”前半段问题其实很熟:Java 基础并发、JVM、数据库、中间件分布式、微服务、Spring 体系我心里还在想:还好,没脱节。但很快,问题开始变了:如果这个系统让你重新设计,你会怎么做?你当时为什么不用另一种方案?在不确定需求下,你怎么判断技术取舍?开放性场景题明显多了。没有标准答案,面试官更关心的是你的思考过程,而不是结论本身。真正...
面试时最害怕被问到的问题
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
AI 应用开发学习全景路线图
1.3W
2
...
计算机专业如何找实习?(26届计算机找实习经验帖)
4904
3
...
百度Agent智能体研发日常实习一二面
3531
4
...
大厂到底想要什么样的人???
3305
5
...
面试官视角聊聊,AI大模型产品到底是做什么的?
2868
6
...
害怕被嘲笑就不去做了吗?
2247
7
...
纯前端网页拼图小游戏制作
1520
8
...
字节前端一面
1267
9
...
2026的你,应该知道哪些AI面试题?
1134
10
...
不是哥们,腾讯26年暑期实习这就开了??
1086
创作者周榜
更多
正在热议
更多
#
论秋招对个人心气的改变
#
3658次浏览
71人参与
#
牛客AI体验站
#
1868次浏览
63人参与
#
刚入职的你踩过哪些坑
#
2599次浏览
61人参与
#
在大厂上班是一种什么样的体验
#
2154次浏览
26人参与
#
程序员找工作至少要刷多少题?
#
5059次浏览
85人参与
#
关于春招/暑期实习,你想知道哪些信息?
#
2758次浏览
64人参与
#
一张图晒一下你的AI员工
#
1713次浏览
47人参与
#
为了减少AI幻觉,你注入过哪些设定?
#
1061次浏览
37人参与
#
我现在比当时_,你想录用我吗
#
2626次浏览
44人参与
#
程序员能干到多少岁?
#
3769次浏览
55人参与
#
产品人求职现状
#
320395次浏览
2422人参与
#
AI Coding的使用心得
#
1491次浏览
38人参与
#
你的工资什么时候发?
#
55500次浏览
345人参与
#
实习,不懂就问
#
163135次浏览
1453人参与
#
你投了多少份简历了?
#
421579次浏览
3937人参与
#
金三银四,你有感觉到吗
#
679453次浏览
6047人参与
#
帆软软件工作体验
#
12503次浏览
68人参与
#
暑假倒计时,你都干了些啥?
#
40158次浏览
213人参与
#
晒晒你司的新年福利
#
2436次浏览
47人参与
#
软开人,秋招你打算投哪些公司呢
#
180067次浏览
1380人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务