V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
beego
dokimaster
V2EX  ›  Go 编程语言

现在 GO 语言面试这么难吗?

  •  1
     
  •   dokimaster · 106 天前 · 11903 次点击
    这是一个创建于 106 天前的主题,其中的信息可能已经有所发展或是发生改变。

    下午面了一个杭州的电话面试,我没有 go 工作经验,只有 go 项目经验,面试前已经讲过了,面试官问我,top,ls 的实现原理?我以为这就完了,又接着问我 sp 寄存器,x86 和 arm64 为什么有区别,寄存器怎么实现的?这人说什么话之前都会说一个,那我问你一个简单的问题把,最后他问了个面向对象是什么,我就说面向对象把事物对象化,对象有自己的属性和行为,也就是方法。他说,我看你是完全不懂啊,你不适合,就挂电话退微信群了。

    第 1 条附言  ·  105 天前
    刚刚强烈要求 HR 帮我转问一下,昨天面试官问我的问题,我错在了哪里?面试官一个也没有回复,而是在哪里贬低我答非所问。
    第 2 条附言  ·  105 天前

    图一

    第 3 条附言  ·  105 天前
    第 4 条附言  ·  105 天前
    138 条回复    2022-03-29 14:07:20 +08:00
    1  2  
    drackzy
        1
    drackzy  
       106 天前
    Go 早就卷了,之前面试容易是没有什么面经。不建议后来的人转 Go 。
    ampedee
        2
    ampedee  
       106 天前 via iPhone   ❤️ 4
    这就没有一个问题和 Go 语言有关啊
    dokimaster
        3
    dokimaster  
    OP
       106 天前
    @ampedee 我也是这样想的,我当时还说了面向接口和为什么选择 go,因为 go 实现了鸭子类型,然后又背课文似的说了下鸭子类型。
    Huelse
        4
    Huelse  
       106 天前
    问一堆废话,不如问问 sql
    dokimaster
        5
    dokimaster  
    OP
       106 天前
    @drackzy 我觉得,应该问一下和 go 相关的。
    bigbyto
        6
    bigbyto  
       106 天前 via iPhone   ❤️ 2
    这面试官的优越感好强……
    westoy
        7
    westoy  
       106 天前
    就只是单纯找个理由打发你吧.......
    yoke123
        8
    yoke123  
       106 天前   ❤️ 12
    单纯的是面试官傻逼,恶心你罢了。
    拉黑就完事了,继续面。
    dokimaster
        9
    dokimaster  
    OP
       106 天前   ❤️ 1
    @westoy 我认为也像是,因为我他刚开始不让我介绍我的项目。我刚开始想给他看看我的博客和 gh 直接被他回绝了。
    twing37
        10
    twing37  
       106 天前
    这你不喷他玩下?
    dokimaster
        11
    dokimaster  
    OP
       106 天前
    @twing37 没机会喷,挂电话退群一气呵成
    2NUT
        12
    2NUT  
       106 天前
    @drackzy #1 楼主说个例子 , 你就把原因找到了
    haython
        13
    haython  
       106 天前
    爆一下公司
    dokimaster
        14
    dokimaster  
    OP
       106 天前
    @haython 七云网络,HR 还是蛮热情的,我能感觉出来。
    hidemyself
        15
    hidemyself  
       106 天前
    这哪家公司。。。
    liangkang1436
        16
    liangkang1436  
       106 天前 via Android   ❤️ 10
    面试嘛,跟相亲一样,多的是自己条件不咋的还看不上别人的公司
    sunny352787
        17
    sunny352787  
       106 天前
    这...看起来似乎是个完全不会 Go 的 C++程序员面的你欸
    dokimaster
        18
    dokimaster  
    OP
       106 天前
    @sunny352787 人事说面试官之前是写 C++的
    dokimaster
        19
    dokimaster  
    OP
       106 天前
    @yoke123 没啥自信了,不敢面试了。。
    sunny352787
        20
    sunny352787  
       106 天前   ❤️ 10
    @dokimaster 那就对了,我认识的做 C++的大部分都脾气很大,不知道谁惯的
    dokimaster
        21
    dokimaster  
    OP
       106 天前
    @sunny352787 还能这样吗- -
    sunny352787
        22
    sunny352787  
       106 天前
    @dokimaster 这没啥,别被吓到了,写 Go 写好几年的人毕竟少,基本都是别的语言转过来的,带着各种生态习惯转变不过来,再说一个只会写 C++的也不可能问你 runtime 或者 GC 一类的东西吧?

    准备准备其他家呗,机会多的是
    yazinnnn
        23
    yazinnnn  
       106 天前
    这只是单纯的面试官傻逼而已
    zy445566
        24
    zy445566  
       106 天前
    node.js 还好不是很卷
    rationa1cuzz
        25
    rationa1cuzz  
       106 天前
    纯冤种面试官
    labulaka521
        26
    labulaka521  
       106 天前 via iPhone
    问下 你们有定制的 runtime 吗?
    pengtdyd
        27
    pengtdyd  
       106 天前
    这种公司不去也罢
    YuiTH
        28
    YuiTH  
       106 天前
    我问个傻问题,top 和 ls 的原理应该咋答……这问的是不是就是 Linux 实现那一套?我倒是知道 top 和 ls 的作用,但是你要说原理我还真不知道该怎么说。
    寄存器有什么性质和怎么用感觉比较常见,但是寄存器怎么实现的我突然有点懵,这是要问电路怎么设计的吗?
    0o0O0o0O0o
        29
    0o0O0o0O0o  
       106 天前 via iPhone   ❤️ 11
    “我看你是完全不懂啊”???怎么这台词这么熟悉
    q1angch0u
        30
    q1angch0u  
       106 天前 via iPhone   ❤️ 1
    @YuiTH top 考的应该是 jiffies ,ls 应该考的是 inode 吧
    lasfresas
        31
    lasfresas  
       106 天前
    七云这个我知道,做 sd-wan 的好像是。
    名字上感觉是在山寨七牛云
    mrzhu
        32
    mrzhu  
       106 天前   ❤️ 1
    @0o0O0o0O0o 听话,让我康康!
    a132811
        33
    a132811  
       106 天前
    这问得太偏了

    我这儿面 golang 主要是做 2-3 道代码实现的题。不过有 golang 经验的候选人好少,基本上 java 经验来的最多
    hefish
        34
    hefish  
       106 天前
    这种公司不知道规模有多大。。。我个人是不会倾向去这种公司的。 可以问我问题,不能恶心我。我跟这公司又无冤无仇的。
    hotsymbol
        35
    hotsymbol  
       106 天前
    之前不还普天同庆 Go 终于有八股文了
    mengzhuo
        36
    mengzhuo  
       106 天前   ❤️ 2
    太偏了……而且很没有礼貌,面试的应该没经过培训。

    x86 和 arm64 的 sp 寄存器有啥区别?
    应该问的是 Go 的 stack pointer 而不是架构的吧,但是 Go 的 stack pointer 实现是一致的啊,除了 vm 的初始区域不同。
    面试者答不上来应该引导性的问上一层,比如一个函数上传入指针和传入对象有什么区别?答出来的话,再问 stack 的实现。
    roundgis
        37
    roundgis  
       106 天前 via Android
    這家公司是寫 assembly 的?
    des
        38
    des  
       106 天前
    @mengzhuo
    如果真是挂电话一气呵成的话,再加上一直强调“简单的问题”,我感觉有很大概率是“优越感”的原因
    MuscleOf2016
        39
    MuscleOf2016  
       106 天前
    好奇问下,问下,如果面试最后问下面试者,最近有什么学习计划或者最近在学什么,是不是比较友好。。
    7gugu
        40
    7gugu  
       106 天前
    基操,感觉每一段面试中总会遇见几个这样子的极品,不要当回事就好了。
    dongcidaci
        41
    dongcidaci  
       106 天前 via Android
    问的问题到时不难,但是面 go 问这个,只能说这个面试官脑子有坑
    agagega
        42
    agagega  
       106 天前 via iPhone
    大学找实习的时候也遇到过这种面试官,两个人面,其中一个优越感贼强,另一个面完了还送我去坐地铁,对比明显。

    后来鼓起勇气通过 HR 问面试评价,结果面试官回复里又把我奚落了一顿,说我什么都不懂,从此这家公司一生黑。
    Co1a
        43
    Co1a  
       106 天前
    估计是有组合语言(Plan 9)的需求,需要对 syscall 有了解,但是这么搞真的招的到人?
    cassyfar
        44
    cassyfar  
       106 天前
    LZ 是不是被误解了?这看着就不像是面 Go ,可能就是面下他们组要做的东西,这么看其实面试内容挺正常的,只是 LZ 没有这方面工作经验。
    dayeye2006199
        45
    dayeye2006199  
       106 天前 via Android
    这是找做系统底层的程序员,和 go 没关系。lz 不是你的问题,他们问的问题也没太大问题,面试官态度不太耐心是真的。面试就是来发现大家是不是适合一起工作的,其实是好事
    lasuar
        46
    lasuar  
       106 天前
    这几个问题值 35k+
    nonikka
        47
    nonikka  
       106 天前
    @mengzhuo 兄弟,你说的是指针传递跟值传递、引用传递的区别吗?
    lntouchables
        48
    lntouchables  
       106 天前
    不是挺好的嘛,跟这共事不恶心自己吗
    Loku
        49
    Loku  
       106 天前   ❤️ 1
    KPI 式面试。
    tqyq88
        50
    tqyq88  
       106 天前
    说实话用了 Linux 很多年还真不知道 top ,ls 实现原理。好奇查了一下 strace ,似乎很容易找到答案。知识库又丰富了,为什么要问这种很容易找到答案的问题。
    murmur
        51
    murmur  
       106 天前
    x86 和 arm64 为什么有区别,寄存器怎么实现的

    这是 c 和 asm 的面试题把
    meteor957
        52
    meteor957  
       106 天前
    是不是岁数挺大的
    z1645444
        53
    z1645444  
       106 天前
    不会是错拿了题库来问的吧,还有一句杰哥名言,好搞笑噢
    Cloutain
        54
    Cloutain  
       106 天前
    寄存器怎么实现的?如果是真实 CPU 的寄存器,谁能来解答下寄存器怎么造出来的。
    MoYi123
        55
    MoYi123  
       106 天前   ❤️ 1
    top,ls 原理听起来 NB, 实际上也就是用操作系统 api 做 crud, 无非是不熟悉而已.
    bearice
        56
    bearice  
       106 天前
    @Cloutain 无它 ,唯 SRAM 尔
    cocong
        57
    cocong  
       106 天前
    寄存器问题,这是数字电子技术的问题,貌似很多大学没有教,我也是刚兴趣自学过,貌似是用两个异或门交叉连接实现的,具体的其实往深了讲和编程差不多,不都是在电脑上写写画画,像用来实现门电路的二极管,都不会要你去研究,那是科学家的事情。
    sampeng
        58
    sampeng  
       106 天前
    面经真的是毒瘤。。。
    chitanda
        59
    chitanda  
       106 天前   ❤️ 1
    @agagega 这是故意给你扮黑白脸吧
    mengzhuo
        60
    mengzhuo  
       106 天前
    @des 正常学习曲线,这面试官正好在”我感觉啥都知道“的阶段。
    Cloutain
        61
    Cloutain  
       106 天前
    @bearice 我查了下 ,原来 SRAM 就是用来作为 CPU 寄存器和缓存的呢,那这个问题就变成了 SRAM 怎么造出来的了
    mengzhuo
        62
    mengzhuo  
       106 天前
    @cocong 还得有锁存器( Latch ),具体油管里搜从 0 构建自己的 CPU ,讲得非常好
    mengzhuo
        63
    mengzhuo  
       106 天前   ❤️ 3
    @nonikka 是引导面试者,看看平时有没有研究而已,面试是找闪光点,不是贬低对方
    powerman
        64
    powerman  
       106 天前
    @tqyq88 strace 应该有一个功能 我忘记了 go 的协程上下文切换有用到 因为用户态没有调度权限 需要一些特定的 API 来切换上下文跟抢断
    yogogo
        65
    yogogo  
       106 天前
    现在想想 PHP 真不卷,也就问问 MySQL 和 Redis
    20151024
        66
    20151024  
       106 天前
    习惯就好,iOS 面试造航母了解一下
    demo06
        67
    demo06  
       106 天前
    @20151024 现在 Android 面试也造航母
    darknoll
        68
    darknoll  
       106 天前
    这是故意玩你呢
    darknoll
        69
    darknoll  
       106 天前
    压根就不想招人,故意玩人
    madmen
        70
    madmen  
       106 天前
    你被问的问题我一个都不会,:dog 我一样用 Go 写公司的运维服务。
    bearice
        71
    bearice  
       106 天前
    @Cloutain FlipFlop 》 MOSFET 》 G 级和 B 级电场造成耗尽层电子运动,从而导通 S 级和 D 级,再问下去就是麦克斯韦方程组了。
    goforwardv2
        72
    goforwardv2  
       105 天前
    为什么就会有这样的面试官,总想体现一下自己的"优越感"! 真正牛逼的面试官不是应该挖掘面试者适合本公司的技能吗
    fanyingmao
        73
    fanyingmao  
       105 天前
    感觉这不是招人干活问的问题,都和 go 不相关了。
    Felldeadbird
        74
    Felldeadbird  
       105 天前
    面试官问题吧。没对上,下一个公司继续面呗。
    iOCZ
        75
    iOCZ  
       105 天前
    arm 大量使用寄存器,x86 喜欢入栈出栈
    ccong
        76
    ccong  
       105 天前
    https://gocn.vip/topics/kwDJn8IlRY 这个有兴趣吗,最近缺人
    nicebird
        77
    nicebird  
       105 天前
    - 和 go 关系不大的感觉
    - top\ls 实现原理?这个还从来没见过问的,问这个目的是什么呢?考察什么能力? linux 实现吗?
    - 寄存器 这个操作系统的知识,问问倒是正常
    - 最后面向对象的优越感有点强,应该多引导下吧
    DamonLin
        78
    DamonLin  
       105 天前
    这就是故意的,别放在心上
    JamesMackerel
        79
    JamesMackerel  
       105 天前   ❤️ 2
    我来说一下我的理解吧。如果不对的话还请指正一下。

    1. top 实现原理:遇到问 top 和 free 还有 ps 之类的实现原理基本上就是要答去读取 /proc 里的文件,但是具体读什么文件我不知道,得去 google 查

    2. ls 的实现原理:我还真一下子没想明白,我还猜是不是去调 syscall ,然后会不会跟 fs 有关系,后来一查发现人家 posix 里面都有接口,直接调就完事了,另外顺便还学到了 posix, syscall, libc 之间的关系,感谢楼主

    3. sp 寄存器是一个 x86 里的寄存器,用来存当前程序的栈的栈顶的地址

    4. x86 和 arm 有什么区别:根据我浅薄的理解,好像就是寄存器不太一样,x86 是 rsp rbp rax 之类的,而 arm 是 r1-r 十几,并且他们的指令集不一样,还有他们的内存模型不一样(具体哪里不一样我忘了,好像 arm 不保证内存的读取操作的顺序,就是 happens before 的那套东西不太一样)

    5. 寄存器怎么实现的……这个不懂

    6. 面向对象是什么:八股文,封装,继承,多态,然后把这三个具体的解释再背一遍

    鸭子类型以前听说过,看楼主在这说的我又去查了一下发现以前都理解错了,感谢楼主让我又学到了。

    如果说这个人是搞 cpp 的,问这种问题倒还算正常。因为 c/cpp 可以算是 cpu 和操作系统就是他们的 runtime 。一个程序员对他写的程序的 runtime 有一些了解这个要求其实也还算合理。不过拿来问 go 程序员是不是合理,可能还是要看他招这个 go 程序员来做什么事吧。
    sdot96
        80
    sdot96  
       105 天前
    赞同这个老哥
    tt0411
        81
    tt0411  
       105 天前
    不如 lz 把 JD 贴以下, 如果招过去做 go 语言层面的性能优化之类的开发, 问得倒也合理
    dokimaster
        82
    dokimaster  
    OP
       105 天前
    @JamesMackerel 第一个 top 我也是这样回的,他不是很满意,也没告诉我答案,他又接着问 ls 怎么实现的,然后我就照着 top 的思路回他了,寄存器的哪里我接触的不多只知道一些皮毛,一些差异,我当时说的是指令集的不同,以及 arm 架构少一个 sp 寄存器,然后他就问我为什么少一个寄存器,我就明确告诉他我不知道了,我没有接触过这么深入的原理,他就接着问我寄存器的原理,我也没有回答上,最终他问我了面向对象,这时候我心想着,终于来了个好回答的,我就说面向对象思想是把一切事物对象化,对象具有自己的属性和行为,也就是方法,然后我又主动跟他说了下我对于面向接口的理解,以及为什么我更喜欢面向接口,而不是面向对象,我是用鸭子类型来告诉他为什么我更喜欢面向接口的,此时他就跟说,也就是说你是完全不会面向对象啊?这时候我听到我都懵了,我就说我认为你说的不对,我是会的,我还没说完,他就说,我看你,是完全不懂啊,你不合适,他就挂微信电话,退掉了群聊。
    dokimaster
        83
    dokimaster  
    OP
       105 天前
    @tt0411 以下节选自 JD 内容:2.具有 golang 开发经验,有 qt-qml 经验更佳;熟悉 Linux 操作系统,3 、掌握常用命令和工具的使用操作; 4 、熟练掌据至少一门数据库,如 MySql 、ORACLE 、SQL Server ,熟悉 SQL 语法; 5 、熟悉数据库系统及事务系统的原理;
    dokimaster
        84
    dokimaster  
    OP
       105 天前
    @lasfresas 是的,HR 跟我介绍的时候也是说是做 sd-wan 的。
    dokimaster
        85
    dokimaster  
    OP
       105 天前
    @darknoll 我觉得也有可能是这样,面试里面是有 sql 的内容的,我感觉可能会 sql 问题多一点的,但根本没有问我一条与 sql 相关的。
    dokimaster
        86
    dokimaster  
    OP
       105 天前
    @nicebird 我不知道为什么他会说我面向对象说的不对,这个我无法理解,可能是真的就不想招我。
    dokimaster
        87
    dokimaster  
    OP
       105 天前
    @ccong 面试的有阴影了,不敢电话面试了,等后续到上海,现场面试把。
    dokimaster
        88
    dokimaster  
    OP
       105 天前
    @meteor957 感觉不出来年龄,应该也不是很大。
    dokimaster
        89
    dokimaster  
    OP
       105 天前
    @lntouchables 这样想确实挺好.
    dokimaster
        90
    dokimaster  
    OP
       105 天前
    @labulaka521 让 hr 帮我转问了。
    BrettD
        91
    BrettD  
       105 天前 via iPhone   ❤️ 1
    面试官和你不在一个频道上面,你回答的内容不是面试官期待的角度
    BrettD
        92
    BrettD  
       105 天前 via iPhone
    觉得面试官没有什么问题,他追问的 sp 寄存器、寄存器实现原理是基于你自己回答的“x86 和 ARM 的区别是少 sp 寄存器”继续往深问
    BrettD
        93
    BrettD  
       105 天前 via iPhone   ❤️ 1
    到后面估计面试官是彻底失去耐心了,然后草草结束了事
    dokimaster
        94
    dokimaster  
    OP
       105 天前
    @BrettD 这一条,我觉得有可能是这样.
    dokimaster
        95
    dokimaster  
    OP
       105 天前
    @BrettD 我觉得他一开始就没有耐心.我开始自我介绍的时候就能感觉出来。
    dokimaster
        96
    dokimaster  
    OP
       105 天前
    @BrettD 关于这一点我无法认同,因为后面哪个面向对象回答的很详细了,无论是面向对象的三要素,什么是多态,什么是继承,什么是封装,以及我也聊了面向接口和鸭子类型,但得到的答复确实,“也就是说,你完全不会面向对象是把,我看你是完全不懂”.
    dokimaster
        97
    dokimaster  
    OP
       105 天前
    @BrettD 我的#96 是对于#91 的回复,#95 是对于#93,#94 是对于#92 。
    BrettD
        98
    BrettD  
       105 天前 via iPhone
    @dokimaster 这一点是出现沟通问题了,你的回答和面试官的预期答案没有匹配上,面试官没有引导好你往哪方面答,你可能也没注意问清楚面试官想要听哪方面的答案。造成面试官觉得你全场答非所问,虽然你确实尽力在回答了。
    est
        99
    est  
       105 天前
    「你扪心自问,如果你不去搜索,你能回答上吗」

    好家伙。。。。这公司平时开发的时候禁止搜索工具?
    dokimaster
        100
    dokimaster  
    OP
       105 天前
    @BrettD 对于#98,在今天我强烈向 HR 要求,让面试官回答我,关于我昨天的几个问题的答案,以及最后,他为什么说我面向对象的回答是完全不懂,完全不会的情况下,面试官一个也没有回答,而是说我全场答非所问,如果你认为我全场答非所问,为什么今天也无法回复我你的答案呢?至少你告诉我,我昨天回答的面向对象错在了哪里,对吗?而不是一味的在贬低我答非所问。
    1  2  
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3279 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 04:31 · PVG 12:31 · LAX 21:31 · JFK 00:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.