赞
踩
声明:本文首发在同名公众号:王中阳Go,未经授权禁止转载。
投稿的主人公是一名工作5年的后端开发工程师,最近2年用Golang,之前其他语言。去年春节前被裁员了,各种心酸史,好愁人啊。
刚开始找的特别费劲,简历已读不回,也不知道怎么做准备更好。在撞了很多南墙之后,终于摸到了门道,开始能约到面试了。
然后更难顶的事情发生了:经过各种努力和约面,我拿到了北京的两个offer,但是深圳一个都没拿到,我自己更倾向在深圳工作的,实在实在没办法才会去北京。
深圳这边的工作很卷,越面试考察越难,刚开始那几家我还扛得住,主要是八股和算法,后来不少公司更多的是考察各种各样的场景题,甚至还有公司问我如果让我带一个5~10人小团队做项目会考虑哪些事情?
我真是服气了,我只是一个想找20K工作的gopher程序员,要求已经这么高了吗?太卷了。。。。
在各种学习各种突击、踏踏实实提高自己之后,目前已经成功上岸深圳的公司了,在这里真心分享一个靠谱的经验:别想着速成,踏踏实实的提高自己才是王道。
秉承着好人有好报的原则:我授权阳哥把我最近面试了十几家公司,将近30场面试的面经和经验都分享出来,希望对大家有帮助,希望阳哥的粉丝们都能顺利上岸!把我这份好运传递下去!!!
下面开始秀一下最新面经:
面试题:
编程题写代码
使用go实现1000个并发控制并设置执行超时时间1秒
func worker(c context.Context, wg *sync.WaitGroup, id int) { defer wg.Done() select { case <-time.After(time.Second): fmt.Sprintln("执行完成 %", id) case <-c.Done(): fmt.Sprintln("请求超时 %", id) } } func main() { ctx, cancel := context.WithTimeout(context.Background(), time.Second) defer cancel() var wg sync.WaitGroup wg.Add(1000) for i := 0; i < 1000; i++ { go worker(ctx, &wg, i) } wg.Wait() }
编程题
func main() {
a := []int{1, 2, 3}
b := a[:2]
b = append(b, 4)
fmt.Println(a) // 1,2,4,3
b = append(b, 5)
fmt.Println(a) // 1,2,5,4,3
b[0] = 10
fmt.Println(a) // 1,2,10,4,3
}
编程题:
写代码实现两个 goroutine,其中一个产生随机数并写入到 go channel 中,另外一个从 channel 中读取数字并打印到标准输出。最终输出五个随机数。
我们搞了一个免费的后端面试真题共享群,互通有无,一起刷题进步。
没准能让你能刷到自己意向公司的最新面试题呢。
感兴趣的朋友们可以加我微信:wangzhongyang1993,备注:面试群。
本文首发在我的同名公众号:王中阳Go,未经授权禁止转载。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。