首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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和分布式、微服务等等,欢迎关注我的牛客和公众号!
点赞 48
评论 3
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
09-17 13:39
上海大学 材料工程师
新凯来投了一个月还没消息...
不会hc都被抢完了吧
投递深圳市新凯来技术等公司10个岗位
点赞
评论
收藏
分享
昨天 10:21
邢台学院 运营
今年秋招这个战况,明年春招还有hc吗?
有点想再实习攒攒经历再找,现在简历太难看了害怕没办法一边秋招一边实习,还担心明年春招没有hc,到头来实习也白实习了,秋招也错过了,怎么办!看着大家都oc了真的很焦虑啊!到底是谁在拿offer!
点赞
评论
收藏
分享
09-17 10:53
四川大学 C++
感觉双九双2是不是快厮杀完了,接下来该我单九的天下了
呜呜呜一个面试没有
点赞
评论
收藏
分享
09-12 23:30
门头沟学院 后端工程师
快手秋招后端一面
1.Java中有哪些线程安全的集合?2.如果我的代码中现在使用的是hashmap,hashmap中有一个数据,需要怎么做才能在线程安全的情况下对这个数据进行操作?3.现在维护一个ConcurrentHashMap,map中有一些数据,现在有两个线程对这个数据进行读操作,是否有线程安全问题?4.如果将ConcurrentHashMap换成hashmap, 同时两个线程去读这个数据会有安全问题吗?5.线程的创建方式都有什么?6.线程池的核心参数都有哪些?7.一个核心线程数是5,最大线程数是10,阻塞队列是100,拒绝策略是拒绝丢弃,线程创建的时候有几个线程?8.在线程池创建完成之后,线程池提交了6...
查看16道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
银行秋招
3.7W
2
...
华为主管面准备笔记/适用于一切HR面经验贴
2.7W
3
...
这,就是你想看的爽文嘛?
9042
4
...
27双非被美团激情拷打3h
5780
5
...
大专→腾讯,上岸秘籍大揭秘!
4399
6
...
携程笔试
3925
7
...
招银网络科技 - 最恶心的面试
3686
8
...
机械结构单9硕求职寄录-9月
3114
9
...
阿里菜鸟-JAVA研发一二面(已挂)
2829
10
...
TP-Link 芯片事业部全员解散?
2723
创作者周榜
更多
正在热议
更多
#
从顶到拉给所有面过的公司评分
#
31425次浏览
254人参与
#
晒晒你的中秋福利
#
16731次浏览
128人参与
#
为了求职,我做过的疯狂伪装
#
15502次浏览
350人参与
#
bilibili求职进展汇总
#
95184次浏览
846人参与
#
职场破冰,你们都聊什么?
#
9065次浏览
82人参与
#
水滴求职进展汇总
#
4770次浏览
24人参与
#
聊聊这家公司值得去吗
#
567140次浏览
3750人参与
#
你面试被问到过哪些不会的问题?
#
28360次浏览
915人参与
#
机械人春招想让哪家公司来捞你?
#
358422次浏览
3113人参与
#
工作压力大怎么缓解
#
106210次浏览
1064人参与
#
机械笔面试考察这些知识点
#
11335次浏览
96人参与
#
秋招的嫡长offer
#
38560次浏览
348人参与
#
电网笔面经互助
#
47667次浏览
432人参与
#
机械制造岗投递时间线
#
26831次浏览
371人参与
#
宣讲会你有哪些意向不到的收获
#
2626次浏览
28人参与
#
百度秋招提前批进度
#
153094次浏览
1785人参与
#
大家实习每天都在干啥
#
89975次浏览
518人参与
#
你的公司给实习生发中秋礼物吗
#
3191次浏览
35人参与
#
秋招报数:你投了多少家公司?
#
33145次浏览
335人参与
#
上班摸鱼,你都在干些什么?
#
8269次浏览
137人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务