3.28 滴滴 Golang 神魔面经

一面:

介绍GMP模型、说说go并发GMP版本迭代的过程?说说如何避免全局队列饥饿?
GC算法,说说哪个不用扫描
现在linuxCPU爆表,如何排查,IO爆表,如何排查
说说如何实现map并发?不加锁如何实现map实现线程安全?(我他么真的无语,他说的不会是使用channel吧……)
然后上一个我说不知道,他就问你说说channel,channel的原理,为什么要用channel 而不用sync?
说说单例模式,说说sync.Once如何实现的?(我透……)
写题,第一个题,那么简单的题我直接就写了,结果面试官说我以前是不是写过,我说没写过,我还没写完就换题
然后第二题,数组很长的情况下N个有序的数组求交集并集。我求交集的时候给了三种思路,他说我没有用到有序这个特性,然后我问他怎么写,他说的和我第三个思路是一样的。我??????然后他说和我的不一样让我再看看也没说完就挂了。


二面:

各种基础题没啥好说的。感觉面试官挺亲和的,虽然迟到了一个半小时,本来打算去吃饭了,面试官上线了。
写代码,心烦意乱就没写出来,其实很简单,一开始思路说了面试官也说没问题
第二题:有n个球,两个人轮流拿,每次只能拿【1,7】个,就是一次最少拿一个,最多一次拿7个,最后拿的最后赢,如何保证谁稳赢?这个题挺简单的,但是当时没想出来,面试官说结束后我看了看当时分析的笔记又想出来了,心态又崩了。

三面:

rabbitmq如何保证消息不重复发送,这边印象模糊了,就说了借助redis的方案,面试官说那他原生支持了吗?这边我说印象中没有,他问我确定吗?
比较rabbitmq 和 rocketmq,要求详细比较。我rocketmq就学了两天,没给出答案。
写题:一个数组的斜着遍历。模拟了一下之后,问还有没有别的思路,???????说没有。
反问,结束。


总的来说挺被打击的,而且三次面试面试官那边都很吵,状态很差。
还是顺便许愿吧,心情挺down的。


#滴滴##golang工程师##面经#
全部评论
不加锁实现map多线程安全可以参考mysql 乐观锁的机制, 加版本号, 修改之前取到版本号, 修改完修改版本号, 判断版本号是否是<=取到的版本号, 如果大于就修改失败,然后失败了自动重试
3 回复 分享
发布于 2021-04-23 10:24
这里不包含所有的问题,总的来说自己的Golang基础还是不够扎实,挺不爽的,加油吧。也希望各位Golang开发的人才都能找到喜欢的工作。
点赞 回复 分享
发布于 2021-03-28 20:26
我一面就挂了,告诉我项目、还有其他的答得很好,但是源码没看过进不了大厂,直接挂。可能滴滴十分看重语言的基础吧
点赞 回复 分享
发布于 2021-03-28 20:51
go实习生就问 GMP 模型和 GC ????
点赞 回复 分享
发布于 2021-03-28 21:04
收到感谢信了,想说一句SB滴滴,耽误我两场笔试,面试官都水的一比还爱装。
点赞 回复 分享
发布于 2021-03-31 11:15
请问你直接投的golang岗吗?还是投的java/php/golang这种?
点赞 回复 分享
发布于 2021-04-16 16:58
这是啥部门啊,体验这么差
点赞 回复 分享
发布于 2021-04-17 19:53
楼主你好,请问你是实习、校招还是社招?
点赞 回复 分享
发布于 2021-04-20 14:26
不加锁如何实现map实现线程安全?这个我猜也是channel
点赞 回复 分享
发布于 2021-04-22 15:43

相关推荐

11-30 13:19
同济大学 Java
阿里云 java开发 (n-2)*16
点赞 评论 收藏
分享
评论
6
35
分享
牛客网
牛客企业服务