中高级 Golang 面试,这个候选人表现出乎了我的预料
老师好我叫吴先生:
评论区看楞了。。是没找过工作吗?问了这么多语言细节,一看就不是大厂,我面社招基本就是项目,中间件,系统设计,写题,工作6年还抵着语言细节问的公司能是什么公司?
【回复】都是一些没有用的东西。实际开发中压根不会管的细节…
随便调整一下缓存与代码实现都比注意cpu cache来的高效。
非要那么在意语言性能,不如老老实实写c类。
【回复】其实你错了,问应用端的反而是中小公司,问一些底层的一般都是大佬或者面试算法的人。是很难的
LOL刘老师已婚:
这问的有点难啊 还要看着你写代码 好紧张
【回复】当你都会的时候,你会发现这正是展示实力的好机会[墨镜]
【回复】面试写代码真的压力山大,我就遇到过
高冷男神吴先森:
第一个问的算是计算机组成原理了,后面少部分简单,整体来看算是很难了吧,我也看过这些问题,但是你要让我答,我反正是没有这位面试者回答的好
【回复】两个二手cpp人员在互相自娱自乐装牛逼
小丑_跳舞:
这样也能实现,不过,还是大佬的看着专业。
package main
import (
"fmt"
"time"
)
func main() {
ch := make(chan string)
for i:=0; i<=100; i++{
for i:=0; i<3;i++{
go func(){
fmt.Println(<-ch)
}()
switch i{
case 0:
ch <- "dog"
case 1:
ch <- "cat"
case 2:
ch <- "fish"
}
time.Sleep(time.Millisecond * 5)
}
}
}
【回复】好家伙,三个协程能解决的问题让你起了300个协程
账号已注销:
第一个问效率的问题 计算机组成原理 课堂上例题[笑哭]
南易武痴:
这不是面试,这是表演。,目的是让你们内卷
ZZT腾:
说实话,你这面试工具推广出去真的是大大增加我们程序员的面试难度啊[笑哭]
【回复】当场撸代码,就问你心动不心动[doge]
【回复】回复 @我怎么可能会被封号 : 这是考神仙不是考技术,改笔记也得时间啊,何况那些只会ctrlcv的人
西條緋文:
人家已经工作6年了而且是社招,校招要求肯定没那么多。实习更不那么难。应该会问基础内容吧看你学的扎不扎实
小学生3000:
有c编程基础都好回答这些问题[doge][doge]
bili_86975895179:
可以组建一条链式的管道,形成闭环,循环100此即可。
package main
import (
"context"
"fmt"
)
func action(ctx context.Context, in <-chan struct{}, content string) <-chan struct{} {
out := make(chan struct{})
go func() {
defer close(out)
for {
select {
case <-in:
fmt.Println(content)
out <- struct{}{}
case <-ctx.Done():
return
}
}
}()
return out
}
func main() {
ctx, cancel := context.WithCancel(context.Background())
start := make(chan struct{})
end := action(ctx, action(ctx, action(ctx, start, "dog"), "cat"), "fish")
var count = 100
for i := 0; i < count; i++ {
start <- struct{}{}
<-end
}
cancel()
close(start)
}
【回复】想必老兄一定看过concurrency in go, piple line模式,哈哈
jastjoke:
问这么多语言内部的细节有意思吗?还不如问问解决实际问题的思路……
【回复】细节不熟,容易给项目埋坑
【回复】实际上都要问,只不过大部分人不会从思路引申细节
悠然留心:
感觉多线程顺序打印那题可以用pipline来做更巴适