首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
02-13 15:03
南昌大学 全栈开发
题解 | 分割等和子集
题干解析 题设给予我们一个数组,要求我们进行判定所给数组能够拆分为两个总和一致的数组。 算法思路 首先大前提,我们必须知道这个数组所有值的总和,记作sum,当且仅当sum是个偶数时我们才可能将数组拆分为两个等和子集。 同时我们转化问题为,在数组中选择一定数量的元素,使这些元素的总和大小为。于是我们将问题转化为0/1背包问题。设定状态值为dp[i][j]表示使用前i个元素能否填满大小为j的背包。 于是我们有状态转移方程: 设定初始值dp[0][0] = true;开始DP计算即可。 同时由于DP过程状态转移方程只涉及i与i-1,因此可进行滚动优化内存。 实现代码 class Solution ...
点赞
评论
收藏
分享
02-13 14:11
vivo_数据算法工程师(准入职员工)
vivo内推,vivo内推码
入职vivo东莞长安总部一个月,每天都被细节里的温暖打动。 办公环境超赞,开放式工位采光充足,绿植错落有致,会议室配备高清屏,跨部门沟通很顺畅。茶水间24小时供应咖啡和茶饮,累了站在落地窗前眺望,能看到园区里的球场和各种绿植,瞬间回血。 饮食完全不用愁,总部食堂每天换着花样来,粤式烧腊、川湘小炒、轻食沙拉应有尽有,价格还很亲民,十几块就能吃顿丰盛的午餐,每天的食谱还可以在内部平台查询。偶尔想换口味,周边商圈也有不少选择,打车十分钟就能到。 住宿方面,公司安排的公寓宿舍离办公楼步行十分钟,单人间带独立卫浴,生活用品、空调、洗衣机配齐,楼下就是便利店和快递驿站,生活超方便。 最惊喜的是公司健身房,...
vivo公司福利 698人发布
点赞
评论
收藏
分享
02-09 20:12
门头沟学院 测试开发
帮朋友捞个27届实习生
公司:哈啰出行职位:测试开发实习生要求:有实习经历+能看懂代码想投递的可以私信我
爱吃鱼的独行侠在打卡:
路边
点赞
评论
收藏
分享
02-11 12:14
门头沟学院 Java
有实习后,面试备战核心指南(精准避坑+高效提分)
很多应届生都有一个误区:拿到实习offer就万事大吉,把所有精力都放在实习干活上,忽略了同步备战面试。其实,实习是面试的“最大加分项”,但前提是你会利用实习优势,再搭配扎实的基础,才能在秋招/春招中脱颖而出。结合自身实习+面试经验,整理了有实习后的核心备战方向,精准对标技术岗面试痛点,新手直接抄作业👇一、基础不丢:算法+八股,面试的“保命底线”无论实习多忙,基础备战都不能停——算法和八股是技术岗面试的必考题,哪怕你实习经历再亮眼,基础不过关,面试官也会直接pass。很多人实习期间沉迷业务开发,把大学学的基础知识忘得一干二净,等到面试被问起“HashMap原理”“快排时间复杂度”时,支支吾吾答...
备战春招/暑实,现在应该...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
牛客测运,我接接接
0
2
...
新年必须顺
0
3
...
来查看你的新年运势!
0
4
...
bg 27届985本科,求助各位大佬支支招
0
5
...
牛客也是好起来了
0
6
...
求大佬帮忙看看产品简历
0
7
...
那些为了做后端去中厂的后悔了吗
0
8
...
喔噻,今年强的可怕了😱
0
9
...
牛客这个可太有意思了!
0
10
...
回家吃顿家乡的炒米粉
0
创作者周榜
更多
正在热议
更多
#
牛客新年AI问运
#
5426次浏览
91人参与
#
工作中的卑微时刻
#
33347次浏览
199人参与
#
牛客AI体验站
#
16056次浏览
282人参与
#
多益网络工作体验
#
63049次浏览
306人参与
#
正在实习的碎碎念
#
1644282次浏览
13716人参与
#
滴!实习打卡
#
786165次浏览
6841人参与
#
大学最后一个寒假,我想……
#
89102次浏览
809人参与
#
秋招吐槽大会
#
304018次浏览
1522人参与
#
OC/开奖
#
411014次浏览
2282人参与
#
如何提高实习转正率?
#
86301次浏览
504人参与
#
面试线索爆料
#
108525次浏览
641人参与
#
你觉得技术面多长时间合理?
#
168339次浏览
1172人参与
#
秋招踩过的“雷”,希望你别再踩
#
186032次浏览
1686人参与
#
非技术岗是怎么找实习的
#
292865次浏览
2591人参与
#
毕业季,你想好怎么跟生活对线了吗?
#
276384次浏览
3874人参与
#
正在实习的你,几点下班
#
293187次浏览
1931人参与
#
我们是不是被“优绩主义”绑架了?
#
32457次浏览
485人参与
#
当你面对裁员会如何?
#
366006次浏览
2915人参与
#
经纬恒润求职进展汇总
#
151237次浏览
1077人参与
#
选offer应该考虑哪些因素
#
145351次浏览
991人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务