2022年最新3月Go面经(凉)

2022年最新3月Go面经(凉),第1张

2022年最新3月Go面经(凉)

首发公众号:《2022年最新3月Go面经(凉)》

又到了金三银四跳槽季,作者君最近也面了几家公司,特此分享一份Golang岗位的凉经,希望对大家有所帮助。

通过最近的一些面试,我发现一些规律:

很多公司要等到3月份初才打开招聘窗口:遇到的如泛微,字节等等。很多公司内部系统技术栈转型升级,释放一批Go的岗位,如得物APP(Python->Go),人人视频(Java->Go)等等。

PS1:最近上海疫情严重,全市居家隔离得有一个多月嘞,希望一切顺利,尽快解封!
PS2:一面都是电话,二面需要去现场。

历程 万向区块链,一面过,二面凉趋动科技,一面过,二面凉上海好说,一面过,二面过商米,一面+二面同时(2.21 10:30),没下文。可能薪资给不到,或其他原因。人人视频,一面+二面同时(3.4 14:00),一面过,二面凉字节跳动,一面(3.9)完成,算法没答出来也过了,二面(3.16)凉,各种系统设计没回答上来,最后一道代码写出来了但是有bug运行不正确😭英语流利说,一面凉(3.9,考验系统设计,场景题)微盟,一面(3.17)凉,和岗位不太匹配,对方关注cicd和k8s容器开发 微盟——高级容器工程师

2022.3.17 一面 40分钟

项目情况,项目的技术栈,链路追踪的技术栈,用到grpc的那些特性了(trace,metahead,promethus都支持)?CI/CD你知道原理吗?公司有这样的平台,大致是如何实现的?有接触过除了mysql之外,非关系数据库比如mongodb这类的存储系统吗?网关对内有哪些保护措施?如何识别一个陌生请求,并且过滤?通过remoteIP方式吗?

总结:和岗位要求不太匹配, 不到40分钟匆忙结束。

字节——飞书部署工程师 一面

2022.03.09 1小时左右

自我介绍 17:05 - 18:10GMP说一下channel的应用场景和原理go有哪几种内存分配方法?new和make有什么区别?go是如何实现面向对象的?interface原理说一下熟悉那些中间件?redis持久化有哪几种?redis集群有哪几种?redis大key如何解决?分布式 限流有哪几种?分布式环境下如何排查问题?如何确保链路中都有traceId?通过技术手段log中间中 简单介绍下im 的架构短链接和长链接的区别说一下https 的认证,更换了tLs最近遇到的最难的问题和解决办法kafka 丢失说一下,怎么解决kafka 调优你知道哪些最后一道算法题:最长回文子串,说一下大概解题思路(马拉车和动态规划),答错了,用双指针解法一通乱说,也给过了。 二面

2022.03.16 50分钟左右

自我介绍说一个你觉得最重要的项目?im未读技术如何设计?多少个人已读这种,如何设计呢?rpc你有在用,那么如果让你设计一个rpc框架,你如何设计?提示:怎么实现客户端远程调用服务端的代码呢?redis用了什么架构?分片集群的大概原理?部署了多台,怎么觉得如何存储呢?一个有1亿url的文件,如何找出重复的url?如果要做一个微博信息流系统,让你来设计,你如何设计?写代码(10分钟内),比较2个字符串版本号,删除true/false,那个大
“0.1” > “1.0” : false
“1.1” > “0.0.0.100”  : true
 “2.1” > “1.0.0”: false

总结:凉,着重考验系统设计能力,总共有5轮左右。。。

英语流利说——高级go 工程师

2022.03.09 一面 硬挺了50分钟左右

im 架构一道算法题:找到只出现一次的元素。给一个数组,其他数字出现3次,只有一个出现一次,找到它。说你的思路。。。。升级:现在要设计rpc接口,有100万个数字,并发为1,你能怎么优化?……升级:多个并发,你如何设计?有哪些能优化?……升级:k8s 用过吗?如何规划内存?一道redis题:以天为单位,记录登录用户id,统计连续登录的用户。redis 用什么数据结构?1k 的时候,接口如何设计?10k 的时候呢?一道mysql题目:短链网址,如何设计表结构?key 怎么生成?一道mysql题目:插入10条,删除8,9,10,插入一条,重启mysql id 是多少?主从如何同步?binlog 啥问题……undo/redo 用处现场又出了一道:群里面未读计数 怎么做?假设500人的群。扩散写如何优化?没答出来。

总结:视频面试,上来发了一个在线word,里面有4道题,让你现场解,说思路和实现。现在回想都感觉还很紧张,也确实没思路,凉的很厉害,被虐的体无完肤,只想赶紧结束。

人人视频——高级Golang工程师 一面

2022.03.04 50分钟

一道笔试题,找至少3处漏洞(找了9个)
gmp简单说一下每个代表什么如果要你实现一个线程安全的sync.map,你有哪些思路?未读计数有哪些难点?gorm框架让你设计,从使用层面,你会怎么做?支付和交易或者抽奖有接触过吗?现在有个场景:抽盲盒,假设一个人连续抽8发就成为霸主,这个订单只有他能支付。但是他可能会分几次抽。如果这个时候,有个人直接付款下单了,霸主就很不爽,你有什么好的思路?restful有了解过吗?如果现在要修改一个用户昵称,如何设计url以及使用http的那个方法?http 3.0有了解过吗?redis持久化机制和刷盘时,还有部分在内存中,redir会怎么办?linux启动后台进程,有哪些方式?说了3种看log的命理你?在文件中如何查找,/,如果内容太大,内存放不下怎么办?grep和awk你会主动了解周边的业务吗?有自己负责的开源项目或者参与过哪些开源项目? 二面

2022.03.04 40分钟

自我介绍听你说k8s了解过,说一下都有哪些组件?svc server都是干啥的?pod和容器什么关系?redir几种基础数据结构都是如何实现的?他们基于什么?说一下你怎么的高级数据结构?布隆过滤器的原理和应用场景。你说缓存击穿和穿透,说一下。限流算法有哪些?go包自带的是基于啥?滑动窗口和一般的限流有什么区别?知道熔断的原理吗?微服务治理说说你的理解?提了链路追踪和监控。mysql如果你看执行计划,你一般会关注哪些?提了耗时,sql和索引……kafka中消费失败了怎么办?重新消费,一直失败呢?wtf?kafka消息丢失有哪几种方式处理?说了3种,有个至少一次,ack,其他没答上来kafka集群,分区之间如何rebanlace?……

总结:一面面试官很友好,诚恳,把岗位的背景介绍了一下,他们想要找有电商支付、抽奖经验的人,所以知道二面会尬聊,后悔为啥没直接撤退,浪费大家时间,事实证明被虐之后狂补Kafka作业,意外的有收获。

商米——Golang后台开发 第一个面试官

2022.02.21 (一面,1小时03分钟,2人同时)
开场白,自我介绍,聊项目,问Golang问题,MySQL问题,对微服务怎么看,其他问题等等。

你刚刚说到使用了Gin框架,说一下它为什么那么快?Goroutine你怎么理解?Goroutine为什么占用那么小内存?刚刚提到GMP调度,简单说一下?逃逸分析知道吗?什么情况下会逃逸分析?slice和数组的区别?slice动态扩容说一下?map的实现原理能简单说一下吗?如何实现线程安全的map?使用互斥锁和Sync.Map,为什么那么快?遇到过内存泄漏吗?举例说一下?说了goroutine泄漏和channel泄漏context包的主要作用是?超时,通信,级连取消。如何取消多个goroutine的执行?Golang的最佳实践会总结吗?Go反射有了解过吗?说说原理和作用? 第二个面试官 过去的项目中,那个你成长最快,挑战最大,成就感最高?在技术层面可以说说?刚刚又说到管理TCP,那么说一下你们是怎么管理TCP的?现在有一个场景,服务器负载2万TCP链接再也上不去,你怎么分析?mysql现在有一个sql执行比较慢,说一下你知道的所有可能导致慢的原因?会到TCP,你们可客户端通信使用的协议是?TLS(TCP)+Protobuftcp粘包问题怎么解决?协议头+Length,根据Length拆Body即可TLS是保障云的安全还是端的安全?对于微服务怎么看?什么是微服务?一般会遇到哪些问题,或者微服务要注意什么(有点忘了原问题)?你在xxx呆了有小三年,说说你的加入给团队带来的改变或者新技术?你的职业规划?你刚刚说忘技术专家方向发展,那未来1-3年,你希望哪些方面有提示?你的下一份工作,你希望公司具备哪些特质,比如创业公司、传统公司、经济基础?你们一般项目的开发流程是什么样的?持续发布是xx+jenkins那一套?你从xxx离职的原因?还有什么想要了解的?说一下你负责模块的业务价值?你目前的薪资?

总结:没下文,可能薪资给不到,或其他原因。BOSS上问原因也不回,感觉是刷KPI的。。

万向区块——高级工程师 一面

2022.02.16 50分钟
开场白,自我介绍,了解我的基本情况。

go channel有哪些应用场景,有哪些要注意的坑?map有什么要注意的?说了线程安全、ok访问、遍历不能动态扩容的问题很复杂的对象如何初始化?比如map的value 是一个结构体,里面又有map,以次类推。回答提供一个New 函数实现。估计是想问反射slice切片和数组有什么区别或者用法上有什么要注意的?slice扩容的规则是什么?原来的数据会怎么样?context有什么用?context包源码看过吗?有哪些方法证明给我看,withValue有什么用?精度问题有遇到过吗? mysql调优 where a=int and b=int and c=int order by d,怎么建索引?可以同时使用2个索引吗?innodb存储引擎有什么特性?问我不关注调优,只关注高可用。问了几个高可用问题。怎么搭建主从?我前面说了分库分表,问你是如何分库分表?在这种情况下,多个表的聚合查询要怎么做,有什么思路(不能借助其他组件,就在mysql上实现)?事物隔离了解吗(有4种)?mvcc听过吗(想问幻影读)? redis 现在有个场景,一个key内容很大(几十M),一个key是热点,你如何优化?如何优雅的删除这个大key? kafka 消费者和消费组的区别?kafka接收消息和rabbitmq有什么区别?消费者从kafka接收消息是主动拉pull,还是kafka推送? docker 用在哪些地方?怎么用的?add和copy指令有什么区别?说本质没有区别 k8s(一个没答上来) api server有什么用?master节点包含哪些组件 grpc grpc用过吗?如果要新增一个接口,说一下你通常的流程?grpc是基于什么协议? 离职原因?目前薪资和期望薪资?目前公司加班吗? 二面

2022.02.22 50分钟

go做题20道,大部分凉。在这里可找到:《105道Go语言面试题》https://www.topgoer.cn/docs/gomianshiti/mianshiti手写一道mysql题,一张user表,一张签到表,每个人签到一次,有一条记录。手写SQL,把所有用户最早的签到时间打出来。

总结:凉。面试官拿笔记本打开一个Word,给了一张纸,一题一题过,每一题再白纸上写一下答案或者思路,被虐的很惨,撤退的心不在焉,幸好带了口罩,哈哈。。

趋动科技——Golang 一面

2022.02.07 30分钟
开场白,自我介绍,问一下项目情况

项目中遇到最有挑战的问题是什么?grpc有用到嘛?你们一般是怎么用的?相比http,性能有改进吗?服务发现,你们是怎么做的?我回避了这个问题,说还是人工配置的。听完你的项目描述,你更多是做一些运维和性能调优的工作,没有业务功能的开发吗?go channel的场景和作用?读close的channel会怎样?write呢?除了channel,你能列举一下其他会引发panic的情况吗,比如map?回答了线程安全问题实际项目中,您能列举一下要主动抛出panic的场景吗?回答说比如初始化mysql连接失败,http中严重的逻辑错误,给前端返回错误提示context包能简单说说吗,有哪些作用?回答了超时控制和多个routine取消 mysql 如果你遇到一个sql查询很慢,你会怎么去做?回答看解释器,再分析慢再那里。然后优化sql(比如不要使用联合查询),分库分表。建立索引等等联合索引你能介绍一下吗,还有它们的执行顺序?datetime和timestamp有什么区别?timestamp有什么限制?什么时候到期?怎么解决? docker一般是项目中怎么用的?说用来做编译环境,写dockerfile,然后通过docker compose单机编排,快速启动调试环境。k8s了解吗?回避了,对方就没怎么问你还有什么想了解的吗?问了团队主要做什么产品以及是否会有Code Review和技术分享,面试总共有几轮。你的职业规划是什么?说继续从事微服务分布式开发,如果有机会接触到k8s就更好,对这一块感兴趣。 二面

2022.02.22 1小时
1.聊项目,聊产品,吹牛逼,40分钟。
2.目前薪资,期望薪资。凉!

总结:凉,2人面试,总体面试难度简单,面试官给我的感觉可能不是搞技术的,问的不深。同时,公司相关基础设施都有了。最近又有一轮融资,资金方面不用担心。主要的业务是为AI开发做基础设置,加速AI训练,To B行业,995工作制。

关于作者

如果觉得文章写得还不错,欢迎关注公众号:《Go和分布式IM》

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/990094.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存