首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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:54
门头沟学院 Java
4.9滴滴二面
1.skill按需加载主要是解决什么问题?2.优化上下文有什么手段?3.讲解一下静态规划和动态规划的区别?4.讲解一下rag全流程5.ConcurrentHashMap的原理6.CAS是什么7.synchronized的是什么8.线程池参数9.jvm内存模型有什么?10垃圾回收判断算法?11.jvm双亲委派机制12.慢sql优化手段13.联合索引14缓存三剑客15.redis和mysql的缓存一致性问题16.rocketmq如何解决消费重复的问题? 面试官问的还比较简单,算法题也没给我出
查看16道真题和解析
点赞
评论
收藏
分享
04-13 15:34
Boston University 产品经理
招行2面:为什么需要序列化和反序列?为什么不能直接使用对象?
工作中,我们经常听到序列化和反序列化,那么,什么是序列化?什么又是反序列化?这篇文章,我们来分析一个招商的面试题:为什么需要序列化和反序列化? 1. 什么是序列化和反序列化? 简单来说,序列化就是把一个Java对象转换成一系列字节的过程,这些字节可以被存储到文件、数据库,或者通过网络传输。反过来,反序列化则是把这些字节重新转换成Java对象的过程。 想象一下,你有一个手机应用中的用户对象(比如用户的名字、年龄等信息)。如果你想将这个用户对象存储起来,或者发送给服务器,你就需要先序列化它。等到需要使用的时候,再通过反序列化把它恢复成原来的对象。 2. 为什么需要序列化? “为什么需要序列化?为什...
查看3道真题和解析
点赞
评论
收藏
分享
02-27 11:57
门头沟学院 研发工程师
阿里是不是卡学历背景?
正式进入AI Coding时代了
Rac000n:
淘天-客户运营部-AI研发工程师,智能客服方向,暑期实习招聘,欢迎联系
点赞
评论
收藏
分享
03-31 14:46
已编辑
门头沟学院 Web前端
绷不住了
励志成为双港第一ja...:
这其实很正常,离的太远了,他认为你不会来,就为了混个面试,而且成本很高,实习生都优先选本地高校。吃了地域的亏,所有很多时候地域可能比院校层次更重要。
点赞
评论
收藏
分享
04-10 14:24
小天才(步步高)_算法开发工程师(准入职员工)
小天才内推,小天才内推码
小天才26秋招分享(三面凉经)tl:9.13投递-10.10自主约面-10.10一面-10.11上传作品集-10.14二面-10.16三面(交叉面) 一面:线上邮件通知选择具体面试时间段(大约20mins)面试官问题1. 请先做一个自我介绍(1分钟左右)。2. 简历项目追问3. 在校期间有获得哪些奖学金吗?4. 有挂过科吗?5. 学得最好的课程是哪些?6. 分享一个人力资源领域中你觉得很重要的知识点。7. 根据以上追问若干问题8. 结合实习经历,招聘的具体成果是你直接负责的社招岗位吗?9. 你的导师对你的工作评价是什么样的?10.追问11.综合实习经历,你目前更适合做人力哪个方向的工作?12....
查看25道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
翼支付近两年真实体验
4436
2
...
过来人聊聊对招商银行数字金融训练营的感受
3882
3
...
美团前端考察AI coding出的题是周报生成?
2129
4
...
字节剪映123面全面经
2059
5
...
工作一年,聊聊对Agent开发的感受
1229
6
...
2026春招北京奈亚信息技术有限公司
1168
7
...
因为上班玩手机被开除😭
949
8
...
灵犀互娱 游戏客户端开发 一面
847
9
...
恒生电子一面只面了20min
689
10
...
字节面试 抽到hot100原题 翻车
553
创作者周榜
更多
正在热议
更多
#
父母问你工作找得怎么样,怎么回
#
9439次浏览
127人参与
#
面试被问期望薪资时该如何回答
#
390040次浏览
2178人参与
#
厦门银行科技岗值不值得投
#
19723次浏览
427人参与
#
哪些公司面试还在问八股?
#
4681次浏览
54人参与
#
想从事Agent应该学习哪些技术?
#
1958次浏览
59人参与
#
从投递到OC,你用了多久
#
9467次浏览
79人参与
#
你的秋招第一面感觉怎么样
#
146964次浏览
821人参与
#
有哪些公司在面试时考察AICoding?
#
3393次浏览
45人参与
#
什么人最适合大厂?
#
4717次浏览
41人参与
#
HR面都在聊什么?
#
3295次浏览
44人参与
#
AI时代还有必要刷leetcode吗?
#
1899次浏览
30人参与
#
你觉得机械有必要实习吗
#
82264次浏览
515人参与
#
哪一刻你突然觉得实习“有点值了”
#
7397次浏览
54人参与
#
一人一道大厂面试题
#
134201次浏览
1334人参与
#
kpi面有什么特征
#
106218次浏览
506人参与
#
硬件人的简历怎么写
#
341380次浏览
3121人参与
#
通信硬件2023笔面经
#
53781次浏览
322人参与
#
总结:哪家公司最喜欢泡池子
#
172072次浏览
620人参与
#
稳定和高薪机械人更看重哪个?
#
582594次浏览
5568人参与
#
四大天坑是哪四家?
#
113898次浏览
246人参与
#
计算机有哪些岗位值得去?
#
395745次浏览
2942人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务