知乎高赞 | Go 技术一面一般考哪些内容
这两天在知乎看到一个问题:如果你是一个Golang面试官,你会问哪些问题?
高赞回答是一位来自百度的工程师给出的答案,我觉得给出的考察点很到位,如果有准备面试的小伙伴可以按照这些考察点准备面试前要学习的内容。
原文链接:https://www.zhihu.com/question/67846139/answer/2105444792
作者:混血王子
没有假如,我就是一个Golang面试官,来自百度。同时我到百度之前也面过头条,腾讯,小米,高德的golang,基本都过了。我回答应该还是比较有说服力。
事实上,golang的问题只占我面试问题的20%左右。问东西的顺序不一定是下面的顺序,有的时候我会根据简历选择二分法难度来问,直接问一个难度适中的问题。说上来就继续二分法筛。下面是我问过的问题。
Go 技能考察
1,make和new差别,引用类型的意义
2,逃逸分析
3,channel的实现
4,gmp与gc,重点问题(网络io等待队列,读写屏障)
5,map的实现,重点问题(sync.map的实现,map实现随机的方法)
期间会根据实际情况,从这几个题发散问一些细节,但是难度不会太难了。因为我面的是p6级别的,问源码有点欺负人了。另外会问一个开发性问题,你写go遇到的坑点。从这里也可以发散问一些,但是不会问太多了。这几个问题在10分钟之内肯定要问完的。我的面试范围和我之前遇到过的面试基本都在https://draveness.me/golang/,这个教程还是非常不错的。
PS:除了网页版 https://draveness.me/golang/ 的作者还出了纸质书,全书彩印,装订也十分精美,喜欢读纸质书的可以考虑入手。
这些问题不一定都要答上来,我是综合考察的,我写这几个题目也不是让大家去背这几个题的,只是想告诉大家面试的难度一般如何,顺便说几个经典题目。另外我主要关注的问题其实主要是mysql,redis,mq,算法,分布式。有人看的话,我就补充一下。
MySQL 考察
先声明一下,我说的面试题都是个人向的,其实大家要面哪家公司的时候,搜那家公司的面试题用处其实不大,因为面试官并没有说题库,或者统一标准的说法。如果我去了其他家公司当面试官我一样也会这么问(注意是提问方式和难度,题目我会换的)。而你碰到百度其他面试官,也很可能不会按我这么问。另外,因为我面的校招到10年的都有,所以具体问法也会灵活调整。说到校招,这次大校招我也被安排当面试官了,校招的朋友也可以关注一下,如果能答出来,那就惊喜级别
补充一下我对mysql的考察方式。
1,八股,为什么用b+树不用b树
以第一题为分界线,答出来了问下面的
2,说说对mvcc的理解
3,幻读是怎么解决的
4,redo,undo的作用和实现
5,事务的实现
答不出第一题就问,下面就是纯八股了
2,索引怎么建
3,联合索引最左前缀
4,聚簇索引与回表
如果觉得前半部分回答得不行,就会转问后半部分的简单题。和上面一样,我问的问题和我遇见过的问题,基本都在《MySQL技术内幕:InnoDB存储引擎》姜承尧老师的书里面。
Redis 考察
redis的东西虽然不多,但是也是必问的。
1,底层数据结构实现,重点问题如:压缩列表
2,aof与rdb,重点问题如:aof重写机制
3,为什么用跳表
4,分布式锁与redlock
5,三种分布式的结构
6,大KEY
基本上说明白一半就行了,和上面一样,我问的问题和我遇见过的问题,大部分都在《Redis设计与实现》里面。因为redis的问题都不算难,如果全答上来了,我可能会问一个:在扩容rehash的时候scan扫集合,会不会扫到重复的数据。
9月9日 补充mq+es+分布式
那就补一下剩下的常问问题吧,mq主要是kafka。下面基本上工作3年之内不怎么问,3年以上的说上1/3到1/2就通过。
1,kafka的零拷贝和顺序io 零拷贝最好说说细节,其实就是用户空间和内核空间mmap
2,kafka的分片,分片的读一致性(水位和活跃组?忘了叫什么了)和写一致性怎么保证
3,es的倒排索引,和分片的查询召回
4,分布式锁,redis redlock etcd
5,分布式事务 2pc 3pc tcc
6,分布式共识协议 raft和paxos
7,分布式数据库 CAP BASE的概念 etcd tidb的了解
额外的问题,只有简历写了我才会问
1,k8s的应用和架构(k8s其实我也没深入研究,随便)
2,监控prometheus,比如里面时序数据库TSDB
3,微服务架构的内容,比如服务发现和链路追踪的工具
4,校招的话问问tcp
5,其他我感兴趣的东西
6,算法题必问,一般先选一个中等偏难的,难度参见周赛第三题。要是很顺畅就加一个第四题难度(困难),做不出来就换一个第二题难度(中等偏简单)。
7,架构设计,因为我只是一面,这种问题一般留给二面问。不过我给的建议是,mysql分表,redis缓存,kafka削峰这三板斧
最后
写在最后,其实我的标准只有一个,我的所有提问也是围绕这一标准来的,就是让我感受到你对技术的热情,对技术路线有清晰规划,并且正在进行系统性地有条理的学习持续一年以上,比如看书,事实上我也是这么要求自己的。我相信满足了这个条件,你面其他公司也很容易。
- END -
扫码关注公众号「网管叨bi叨」
给网管个星标,第一时间吸我的知识
知乎高赞 | Go 技术一面一般考哪些内容相关推荐
- “2021知乎高赞好物100”榜单揭晓 知乎为美好生活奉上参考答案
10月26日,"2021知乎高赞好物100"榜单正式揭晓,上榜商品均在知乎有着较高搜索.热度和销量.榜单涉及食品.家居.休闲娱乐.美妆.数码3C等各品类好物,由各个相关领域的专业知 ...
- 知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问"中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?" 事实上,还不少呢~ 本人于201 ...
- 5款知乎高赞的超牛软件,你一定要知道
你的电脑上有哪些宝藏实用软件?今天来给大家分享5款知乎高赞的超牛软件,你一定要知道! 先收藏后评论!良心单品多多! Notion Notion是一款老牌的高质量个人知识管理软件. 它高效地帮助用户安排 ...
- 读书笔记第一篇:知乎高赞回答
自从今年以来,生活发生了极大变化,自己也进入了30大关,开始奔四了.最近总觉得自己一事无成,无论物质还是精神上都没有得到满足,而且自己一个游戏程序员,越来越觉得逐渐被淘汰.所以想到的第一个挣扎的办法, ...
- 知乎高赞,6款办公工具,小白逆袭成职场大神
与其想着加班到几点,不如考虑如何做到上班高效"摸鱼",下班准点回家,工资还能往上涨! 今天小编为大家找到了知乎高赞的6款实用工具推荐,办公不翻车,小白逆袭成职场大神. 01.ppt ...
- 知乎高赞:35岁失业的程序员,都去了哪儿?
Python实战社群 Java实战社群 长按识别下方二维码,按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群▲ 作者丨临公子 来源丨临公子的后花园(ID:hi-li ...
- 为啥程序员撕996建筑人不撕007?——晒知乎高赞沙雕回答,和说说工程师文化
轻友们大家好~我是珍妮兔,一只工程效率顾问.我的日常生活是在不同的软件研发团队和大家聊天,给大家分享各种轻松把软件做好的最佳实践.如果你有特别想要解决的问题,不妨加我的个人微信:jenny1652告诉 ...
- 爬取知乎高赞情话,甜蜜过七夕
又是一年一度的七夕情人节了! 有女朋友的就牵好手,有男朋友的就抱紧腿,什么都么得的小伙伴就带好装备,静静的吃狗粮就ok了. 在这个到处都冒着粉红泡泡的日子,不做点什么都不太好意思. 作为一名合格的代码 ...
- 知乎高赞回答:为什么高级程序员不必担心自己的技术过时?
高赞回答:为什么高级程序员不必担心自己的技术过时? 这些软技能都有可能成倍地增加我们工作的影响力(作为个人贡献者和技术负责人).软技能包括: 代码审查礼节: 如何优雅地遏制范围蔓延: 如何向其他部门直 ...
最新文章
- Excel—SUMPRODUCT用法指南
- [RabbitMQ+Python入门经典] 兔子和兔子窝
- 云原生:重新定义信息产业生态体系
- LeetCode 1216. 验证回文字符串 III(DP)
- LeetCode 490. 迷宫(BFS/DFS)
- java md2_GitHub - edzjx/Md2Crypto
- php怎么做群聊,workerman实现群聊
- 大数据hadoop培训总结
- 如何进行IP子网划分
- Openlayers GPS(度分秒)和经纬度坐标相互转换
- GIT原理,知其然,知其所以然
- 前端之路--第三周学习
- SpringBoot中Redis报错:NOAUTH Authentication required.; nested exception is redis.clients.jedis.exceptio
- Android的Scroller介绍
- 台电TBOOK16PRO安装凤凰安卓系统
- 40、查询选修“张三”老师所授课程的学生中成绩最高的学生姓名及其成绩(重要top)
- 中国在足球上不敌德国 但在这件事上却完全可以嘚瑟
- 《缠中说禅108课》23:市场与人生
- 微信公众平台SDK.net版本(weixinSDK.net)
- 三种简单的数字倒叙方式
热门文章
- Kooteam 0.2.0 发布,新增周报、日报功能
- Windows Server 2012系列之三提升域功能级别与降低域功能级别
- ARM linux的启动部分源代码简略分析【转】
- 【转】Cache Buffer Chain 第二篇
- vsftp 简易部署使用
- Python 基础学习 4 ——字典
- AI加持,华为云视频服务助力企业直播行业
- Does taro support react hook?
- 高计算密度+低功耗!浪潮新一代高密度服务器SA5248M4横空出世
- Python魔法方法(magic method)细解几个常用魔法方法(下)