首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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和分布式、微服务等等,欢迎关注我的牛客和公众号!
点赞 50
评论 3
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
10-03 08:45
哈尔滨工业大学
大疆公司面试真题
以下是大疆公司最近几年的部分面试题,八股精(*************)对题目进行了分类和整理。计算机网络题目请介绍数据链路层的VLAN (2024年)同进程多线程可以使用socket通讯吗 (2025年)请解释计算机网络中“协议”的相关概念 (2024年)如果TCP已经建立好连接,使用TCP长连接和使用UDP发消息,差别大吗 (2024年)请解释TCP的粘包、拆包现象以及对应的解决方法 (2025年)【更多:6道题目上八股精网站查看】数据结构和算法题目编写一个算法,实现链表的有序合并,不能使用sort方法,考虑利用重载比较器和优先队列,同时要注意输入的处理,特别是换行符的处理 (2023年)...
30万真题,揭秘面试官最...
点赞
评论
收藏
分享
10-02 12:14
上海得物信息集团有限公司_电商推荐产品经理(准入职员工)
得物内推,得物内推码
得物后端一面(面经分享)1. JVM的架构,具体阐述一下各个部分的功能?2. Zset的底层如何实现?3. Mysql隔离机制有哪些?怎么实现的?可串行化是怎么避免的三个事务问题?4. Spring源码看过吗?Spring的三级缓存知道吗?5. 抛开Spring,讲讲反射和动态代理?那三种代理模式怎么实现的?6. 讲讲线程池?为什么用线程池?7. 集合里面的arraylist和linkedlist的区别是什么?有何优缺点?8. 介绍一下计网里面的tcp和udp协议 9. 介绍一下http和https的区别?为什么https安全?10. Mysql有很大的数据量怎么办?怎么分表分库?11. Re...
点赞
评论
收藏
分享
09-12 11:55
已编辑
湖南工商大学 Java
原来hr也受不了冷暴力,上课笑出声来了
那一天的Java_J...:
这种一堆问题的,别去
点赞
评论
收藏
分享
09-26 17:53
广东技术师范大学 前端工程师
现在的hr人都怪好玩的
,hr打招呼直接喊我名字,有点搞笑(官网才挂了我😡简历不发了)
我的秋招日记
点赞
评论
收藏
分享
10-01 11:37
上海交通大学 机械结构工程师
奇瑞内外饰结构设计工程师一面
微信视频面试,就有种不怎么正式的感觉。 1.自我介绍 2.在学校有没有什么社团经历 3.会使用CATIA吗,还会使用什么软件 4.说一下项目组遇到的困难,怎么解决的 5.你有什么想问的吗? 差不多十分钟就面完,十分随意,不知道是不是简历不符合要求,微信视频面试也很随意咯。
查看4道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
秋招一周年回过头看,庆幸自己放弃大厂选择体制内
427
2
...
字节OR美团
245
3
...
中科曙光嵌入式面经
146
4
...
可以年前面试年后入职吗?
71
5
...
秋招看重什么? 大家来做做优先级排序吧
67
6
...
小时候最想当的是很酷的店长
65
7
...
不提前实习就不给offer的公司要去吗?
56
8
...
中秋节 别卷了
54
9
...
目前实习快一个月了,但是考核没达标,三个需求只做完了一个,不知道什么时候被踢,自己真的尽力做了,下班也push自己处理出现的问题,但因为各种各样的原因做了很久才做完。现在在想要不要自己辞职准备秋招,虽
54
10
...
牛可乐国庆旅行篇-西湖
53
创作者周榜
更多
正在热议
更多
#
你的实习什么时候入职
#
306461次浏览
2122人参与
#
牛油的搬砖plog
#
112450次浏览
816人参与
#
携程求职进展汇总
#
640419次浏览
4660人参与
#
金融财经春招备战日记
#
30306次浏览
166人参与
#
制造业的秋招小结
#
116345次浏览
1972人参与
#
招聘要求与实际实习内容不符怎么办
#
129895次浏览
824人参与
#
深信服秋招来了
#
272488次浏览
2905人参与
#
你朋友圈最大的人脉是谁?
#
22648次浏览
145人参与
#
如果没找到工作,考公是你的退路吗
#
49726次浏览
398人参与
#
工作两年想退休了
#
164017次浏览
1418人参与
#
什么样的背景能拿SSP?
#
113250次浏览
404人参与
#
26届的你,投了哪些公司?
#
193748次浏览
1187人参与
#
非技术er求职现状
#
102215次浏览
672人参与
#
校招入职后的感受
#
379332次浏览
3223人参与
#
如何快速融入团队?
#
33571次浏览
280人参与
#
你在职场中沾染到的“坏”习惯
#
22296次浏览
145人参与
#
你做过哪些dirty work
#
18784次浏览
139人参与
#
听到哪句话就代表面试稳了or挂了?
#
216264次浏览
1586人参与
#
大学四年该怎么过,才不算浪费时间?
#
13580次浏览
80人参与
#
国庆假期,给大脑放个假
#
5798次浏览
48人参与
#
如果公司降薪,你会跳槽吗?
#
97977次浏览
632人参与
#
你小时候最想从事什么职业
#
124109次浏览
1924人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务