和大家分享一下我们 Go就业训练营 和 升职加薪星球 中战友们投稿的真实面经。
这是第一篇,计划还会再更新4篇最新Go面经,都是拿到Offer的那种!
欢迎大家关注我的账号,关注之后不迷路。
虽然不同的公司考察的侧重点不一样,但是咱们还是可以有针对性做准备。大佬说到:
经过这么多场面试发现:如果面试官对项目感兴趣项目就拷打的比较深(我觉得还比较easy);如果面试官对项目没兴趣就深挖知识点,拷打算法。(墙裂建议大家写好项目介绍!)
主要是一些缓存的应用场景为主。对于一些技术(redis、mq)的应用场景这部分比较欠缺
为什么gprc传输比JSON快
场景题:
项目拷打(介绍项目+遇到的难题)
场景题:
我有一个方法,用来存储一些文件资源,有多种不同的存储方式,你会怎么设计这个方法(应该是要考察泛型的使用)
面试官说是go开发,但是没有什么技术原理提问。
介绍简历中的项目。
遇到的项目场景难题。
(他不太想听那种用技术选型方案来解决的常规问题,吹了一下systemtap)
整个面试几乎就没有技术性提问,一直在让我介绍项目,和遇到的问题以及我是怎么解决的,解决的思路是什么。
题1
题2
题3
最后一道sql没写出来。但是前两题自测都对
项目拷打
场景题:
秒杀超卖怎么解决。(分布式锁+redis缓存)
一面的技术leader,没有聊太多的技术话题。主要是一些团队协作沟通上的问题
假如给你一个活要求某个时间内快速完成,你又没学过,你会怎么做?
试探你是不是愿意加班
三道程序解答题:
题1
问1
先输出哪个?
题2
问2
输出什么?
题3
问3
这段代码有什么问题?
问答题:
表emp
id int
salary int
算法:
力扣 : 20. 有效的括号(纸上纯手写)
挨个问笔试的问题。。。
口述了两个方法for循环里操作channel之类的,但是他语言组织的我实在没听懂。。。
然后mq问了两个迷一样的问题。
- 他提到了Kafka然后问我用的什么MQ,我说Kafka就是一种mq啊。感觉面试官不是很熟悉Kafka
- 接着他问我Kafka里的分组是怎么设置的,我以为他问的是消费者分组。结果他说是topic里的。结果他问的分组是Topic分区。。。
这家就别去了。面试流程很不合理,面试官沟通起来比较费劲,也不是很专业。
项目拷打
其中问了为什么不用普罗米修斯去监控
四道基础语法题
c := []int{11, 12, 13}
test(c)
log.Info("c=%v", c)
func test(s []int) {
for i := 0; i < 10; i++ {
s = append(s, i)
}
}
func main() {
values := []int{1,2,3,4,5,6,7,8,9}
for _,v := range values {
go func(){
println(v)
}()
}
}
func main() {
wg := sync.WaitGroup{}
for i := 0; i < 5; i++ {
go func(wg sync.WaitGroup, i int) {
wg.Add(1)
fmt.Printf("i:%d\n", i)
wg.Done()
}(wg, i)
}
wg.Wait()
println("exit")
}
func testDefer() (err error) {
defer func() {
if err != nil {
log.Error("defer: %s", err)
}
}()
log.Info("testDefer: %s", "test")
return handle()
}
func handle()error{
return fmt.Errorf("normal:test")
}
func main() {
values := []int{1,2,3,4,5,6,7,8,9}
for _,v := range values {
go func(){
println(v)
}()
}
}
项目拷打15分钟
面经先分享到这里,如果你也有最新Go面经欢迎向我投稿:有偿的哦!
也欢迎你了解一下我们的就业训练营,辅导到你找到工作为止的那种:
需要「简历优化」、「就业辅导」、「职业规划」的朋友可以联系我。
一对一辅导的那种呦!
对了,我们准备搞一个金三银四面试真题共享群,互通有无,一起刷题进步,没准能让你能刷到自己意向公司的最新面试题呢。
感兴趣的朋友们可以在社区私信我。
或者加我微信:wangzhongyang1993
关注我的同名公众号:王中阳Go