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

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

  •  1
     
  •   dokimaster · 2022-03-22 19:30:37 +08:00 · 14918 次点击
    这是一个创建于 1013 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    第 1 条附言  ·  2022-03-23 18:27:39 +08:00
    刚刚强烈要求 HR 帮我转问一下,昨天面试官问我的问题,我错在了哪里?面试官一个也没有回复,而是在哪里贬低我答非所问。
    第 2 条附言  ·  2022-03-23 18:36:16 +08:00

    图一

    第 3 条附言  ·  2022-03-23 18:37:41 +08:00
    第 4 条附言  ·  2022-03-23 18:38:29 +08:00
    140 条回复    2022-12-07 23:41:56 +08:00
    1  2  
    dokimaster
        101
    dokimaster  
    OP
       2022-03-23 19:10:47 +08:00
    @est 我当时没有去搜索答案,因为是电话面试,关于这个我只是想表达一下,昨天他问的几个问题,我觉得是在故意的在为难我,因为面试上面写的 sql 相关的一个也没问,go 相关的 channel,context,goroutine 也是没有的。唯一稍微沾点边的可能是最后问我,什么是面向对象?
    lenmore
        102
    lenmore  
       2022-03-23 19:13:55 +08:00
    看 JD ,真不知道问这么底层做啥。

    说来也惭愧啊,做了这么多年运维,从没想过 top ls 的实现原理……
    dokimaster
        103
    dokimaster  
    OP
       2022-03-23 19:15:54 +08:00
    @lenmore 一样,我只知道 top 的大概原理。让我具体去说是哪个文件,肯定是不行的。
    janus77
        104
    janus77  
       2022-03-23 19:18:26 +08:00
    这跟 go 有啥关系,很多岗位都是这样的,面核入拧
    至于为什么这么卷,我想问你应聘 go 的目的是为了不卷吗,如果是那你失算了,如果不是那你应该适应这种情况。
    回到你这个事情上面来,这个事情能看出的不是 go 很难,只有这个公司有问题。再进一步也就只有招聘市场很卷。跟 go 语言关系不大
    BrettD
        105
    BrettD  
       2022-03-23 19:20:10 +08:00 via iPhone
    @dokimaster 可以去试着问一下,但是不用期望公司会回复你。我以前面试也遇到过自我感觉回答良好,但是最后被拒的情况,也是很想知道到底哪里答错了,但是我面过的绝大多数公司在发完拒信后连 HR 都不会再搭理应试者了。看开一点,继续准备下一家面试就好了。
    bigbyto
        106
    bigbyto  
       2022-03-23 19:21:42 +08:00 via iPhone
    看了下附件,这个面试官真的是个纯 sb ,公司有这种人简直就是灾难
    dokimaster
        107
    dokimaster  
    OP
       2022-03-23 19:24:51 +08:00
    @BrettD 嗯,HR,人还是蛮好的,我能感觉出来很热情的,面试的时候刚开始我就感觉出来这个面试官不太耐烦,从这个面试官刚刚回答 HR 的态度,就已经看出来,他不可能回答我的,我认为他就是故意为难我的,下次面试不准备电话面试了。电话面试,当场追问对峙的机会都没有,完全就是看遇到的面试官是否有责任心,下次还是走现场面试了。
    hahadaxigua834
        108
    hahadaxigua834  
       2022-03-23 19:25:13 +08:00
    哈咯,看上海机会吗
    我这边是初创公司主要云计算、高性能计算相关的
    wlb ,不打卡,20 ~ 30K
    dokimaster
        109
    dokimaster  
    OP
       2022-03-23 19:25:47 +08:00   ❤️ 1
    @hahadaxigua834 工资太高了,我不配
    FrankHB
        110
    FrankHB  
       2022-03-23 19:26:28 +08:00
    “x86 和 arm64 为什么有区别”?
    没问你具体啥区别么。那答案简单——“废话,又不是直接抄的,还是说你认为 ISA 设计随便瞎蒙就英雄所见略同了?”

    面向对象这个你是跑偏了,原版( Alan Kay )吹的那个行为是通过消息交互体现的,对象的数据和行为构成接口,这时候还没类什么事。
    而所谓的方法原本是具名的消息关联的原语,但现在更多的是特指基于类的面向对象风格里从 Simula 挪移过来的杂交概念,即从属于类的、跟随类的接口设计确定签名的一种过程(procedure) 。
    (虽然我也不信一般没对考古特别有兴趣的面试官拎得清楚这些。)
    hahadaxigua834
        111
    hahadaxigua834  
       2022-03-23 19:26:59 +08:00
    @dokimaster 那你可以要低点
    dokimaster
        112
    dokimaster  
    OP
       2022-03-23 19:29:20 +08:00
    @bigbyto 嗯,我也是这样想的了,根据楼中老哥的建议,面试失败是好事情,避免了跟这种人共事。
    dokimaster
        113
    dokimaster  
    OP
       2022-03-23 19:30:43 +08:00
    @FrankHB 架构区别的哪里,他问的很细,我就讲了一些大致的皮毛的,关于大佬讲的下面的,之前确实没有接触过,谢谢大佬让我涨见识了。
    dokimaster
        114
    dokimaster  
    OP
       2022-03-23 19:31:03 +08:00
    @hahadaxigua834 好的,我加你了。
    BrettD
        115
    BrettD  
       2022-03-23 19:33:15 +08:00 via iPhone
    @FrankHB 说的有道理,我从附件看感觉面试官可能期待听到顶层概念的阐述,或者是从顶向下的方式表达,但是楼主答的是细枝末节,让面试官觉得答非所问
    liangtao927190
        116
    liangtao927190  
       2022-03-23 19:48:21 +08:00
    楼主别太在意,很多面试官面试别人,并不是为了招人,而是为了找优越感。

    你应该庆幸没有去他手下干活。
    dokimaster
        117
    dokimaster  
    OP
       2022-03-23 19:50:57 +08:00
    @liangtao927190 嗯,现在已经完全认同这种想法了。确实应该庆幸。
    FrankHB
        118
    FrankHB  
       2022-03-23 19:58:21 +08:00   ❤️ 1
    @Cloutain 真实世界的寄存器种类就多了去了,不说物理结构,光是 CPU core 内架构以下你就得区分物理寄存器文件( PRF ,或者叫寄存器堆)、非架构寄存器(包括 MSR 、隐含的寄存器栈以及架构不可见的其它内部实现)、(可能重命名的)架构寄存器(里面还有通用 /非通用寄存器)、ISA-level ABI 约定的名义寄存器(比如这里的 sp )等等一大坨玩意儿,以及落实在 HDL 代码(主要是 RTL )上的那坨……然后其它设备内或者和 CPU core 通信的还有用到寄存器(比如 I/O 寄存器)……ISA 以上,高级语言翻译的低级 IR 也有叫 RTL 的,也有其它 IR 多糊出来的虚拟寄存器,还有 VM 的架构寄存器、高级语言过程约定的名义寄存器等等。
    所以遇到这种笼统问题,先反问面试官想知道个啥?

    如果专指物理实现,CPU 里的笼统就是时钟信号控制的数字逻辑电路,具体也有不同方式。PRF 的常用的是 SRAM (别的像触发器面积比较吃亏),至于 SRAM 怎么实现也不止一种……懒得套娃了。

    @dokimaster ARM 的官方 ABI 有明确约定 SP ( r13 的别名),并且逻辑意义上硬件做得比 x86 还多(架构上有更多限制),汇编器都直接认识 sp ,所以你这个是不懂强答露马脚了。
    这类问题跟面向对象的坑和误导流毒到处都是不一样,应该很容易就能找到权威参考。事后你没确认过自己是不是记错了?
    drackzy
        119
    drackzy  
       2022-03-23 20:04:10 +08:00
    小公司面试容易出偏题、怪题,大厂面试问的反而通用些。不必太在意。
    dokimaster
        120
    dokimaster  
    OP
       2022-03-23 20:05:40 +08:00
    @FrankHB 第一个确实是回答错了,刚刚回顾了下,我当时想回答的应该是 bp 而非 sp,当时我应该要回答的是 arm 只用了 sp 寄存,没有 bp,而非是没有 sp,bp 和 sp 记岔了。因为汇编确实接触的少,这个相关也是好久之前看到的,
    Dragonphy
        121
    Dragonphy  
       2022-03-23 20:13:59 +08:00
    我面人都是根据简历问,不懂的只能问八股文,每次面试半小时起步[打脸滑稽]
    FrankHB
        122
    FrankHB  
       2022-03-23 20:38:51 +08:00
    @dokimaster ARM 里对应 x86 的 BP 的叫 FP(frame pointer, r11)。
    dokimaster
        123
    dokimaster  
    OP
       2022-03-23 20:45:15 +08:00
    @FrankHB 谢谢大佬讲解。
    noroot
        124
    noroot  
       2022-03-23 20:54:43 +08:00
    别说普通的 Go 开发者了,普通的 C/C++ 开发者也答不出来。
    哪家公司能问出这样的问题?
    wangritian
        125
    wangritian  
       2022-03-24 00:29:37 +08:00
    是否存在不懂寄存器就做不了的 go 项目?
    xsen
        126
    xsen  
       2022-03-24 07:10:11 +08:00
    1. 这跟 go 其实没多大关联

    2. 对于面试官
    a )纯粹就是不想招人,所以就是给你添堵
    b )所问的是目前需要的相关方向(如设计性能优化、底层),但 JD 却没有更新(就是 JD 与所需职位不一致)

    3. 相当部分的面试官呢,就是拿自己近期做的、深入研究的细分方向去问;简单点就是要么秀优越,要么连怎么面试都不会
    flyzero
        127
    flyzero  
       2022-03-24 09:23:15 +08:00
    @dokimaster 老哥特地来回复一下,我查了下,前几天也线上面过这家公司,面的内容不一样(先不管面的结果),但是最后也是语音结束->退群,一气呵成!!!,我也是体验巨差。一点也没职业素养。
    whi147
        128
    whi147  
       2022-03-24 09:50:47 +08:00
    @dokimaster 你可以试下啊,这个薪资不会要求很高的,我拿这个区间工资的面试也只是在库和语言层( C++)
    nicebird
        129
    nicebird  
       2022-03-24 09:51:47 +08:00
    不用纠结了,看了对面最新的回复,更多的是对面的问题。职业素养很差。
    whi147
        130
    whi147  
       2022-03-24 09:52:38 +08:00
    @noroot 是啊,问我编译器的问题,我也回答不上
    sunny352787
        131
    sunny352787  
       2022-03-24 10:12:07 +08:00
    看明白了,这面试官没写过 Go ,面向对象方面 C++是各种封装继承多态完全教科书的形式,而 Go 强调的是鸭子类型接口实现等等,不是你不行是面试官不懂哈哈哈哈哈
    dokimaster
        132
    dokimaster  
    OP
       2022-03-24 10:20:17 +08:00
    @flyzero 看来确实是这家公司的问题.
    Cloutain
        133
    Cloutain  
       2022-03-24 10:27:14 +08:00
    @FrankHB 受教了,我是做 Win 内核方向的,CR ,MSR ,VMX ,IO 这些东西在编码中也时常用到。寄存器在物理上怎么实现关软件工程啥事,这面试官也是没事儿找事儿了
    shikimoon
        134
    shikimoon  
       2022-03-24 12:21:06 +08:00
    @FrankHB 球球还是厉害
    Senorsen
        135
    Senorsen  
       2022-03-24 13:29:57 +08:00
    不论面试内容如何,对方职业素养差、不礼貌是板上钉钉的。
    leonzt
        136
    leonzt  
       2022-03-24 17:55:17 +08:00
    我觉得这些问题是面试 C 和 C++的吧,只能说和 go 能带点关系,但是关系不太大,估计绝大部分程序员都不会知道,除非对 C 和 C++比较了解的
    dokimaster
        137
    dokimaster  
    OP
       2022-03-28 14:51:42 +08:00
    今天又面了一家,问的也都是 GO 的问题,面试官的态度也很好,可以确定是这个面试官有问题了。
    wanzi2019
        138
    wanzi2019  
       2022-03-29 14:07:20 +08:00
    这种直接开怼就是了,纯 NT
    mxuan
        139
    mxuan  
       2022-07-22 08:44:54 +08:00
    @YuiTH 不是相关专业吧,这个是数电的知识,加上计组的。
    GeruzoniAnsasu
        140
    GeruzoniAnsasu  
       2022-12-07 23:41:56 +08:00
    我只知道 arm 的 sp 有 4 种访问顺序
    大小端 x2 ,正地址增长和负地址增长 x2
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2499 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 15:36 · PVG 23:36 · LAX 07:36 · JFK 10:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.