V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
biu7
V2EX  ›  程序员

记一次失败的 Go 面试

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

    一番自我介绍之后:

    面试官:说一下进程和线程和协程的区别

    我:(???我简历写的不是八年经验吗?)巴拉巴拉类比了一下

    面试官:那进程间通讯方式有哪些?

    我:不记得了

    面试官:get 和 post 有什么区别?

    我:get 和 post 一般只是请求方式的不同巴拉巴拉(一些差异)

    面试官:还有吗?

    我:你想听什么?

    面试官:说一下 http2...

    我打断:今天面试就到这里吧

    挂断之后整个人都清爽了

    92 条回复
    visper
        1
    visper  
       48 天前
    不明觉厉。是觉得面试的题太简单了不想回答?觉得问得不靠谱?
    Rickkkkkkk
        2
    Rickkkkkkk  
       48 天前
    确实不应该用校招面试题来面社招的。
    lepig
        3
    lepig  
       48 天前   ❤️ 1
    怎么没问:当浏览器输入网址回车后,整个过程经历了什么?

    哈哈哈
    walkingDoge
        4
    walkingDoge  
       48 天前
    8 年经验上来就问八股,面试官属实不靠谱
    icode1688
        5
    icode1688  
       48 天前
    没关系,都是八股文,整理一下这些问题,没准下一家也会问到
    biu7
        6
    biu7  
    OP
       48 天前
    @visper 没有,问的很好,只是记录一下
    biu7
        7
    biu7  
    OP
       48 天前
    @icode1688 主要好几年没见过这类八股了,中间件实现原理类的问的比较多
    zfy941
        8
    zfy941  
       48 天前
    正常八股 好像也没啥问题呀 为啥挂断 太小儿科?
    foolishcrab
        9
    foolishcrab  
       48 天前 via iPhone
    get post 这个确实很典
    很多人搞不清楚他所谓的区别是指浏览器行为而不是 http 协议,然后就开始硬背了
    chiaf
        10
    chiaf  
       48 天前
    @zfy941 社招不应该根据项目来问吗?
    八股没啥用,面试造火箭,工作拧螺丝。还不如根据简历上的项目深挖,或者根据自己公司项目实际用到的东西来提问。
    soberzml
        11
    soberzml  
       48 天前
    面试官水平不行...
    wy315700
        12
    wy315700  
       48 天前
    @foolishcrab
    get 和 post 最重要的区别应该是幂等性吧
    stormtrooperx5
        13
    stormtrooperx5  
       48 天前
    @wy315700 少看八股,多写代码
    mooyo
        14
    mooyo  
       48 天前
    @chiaf 社招问八股的很多啊,问八股挺好的,项目又会嫌弃没啥亮点。
    iyaozhen
        15
    iyaozhen  
       48 天前   ❤️ 3
    @wy315700 最重要的是没有区别,就是个 http 协议
    wy315700
        16
    wy315700  
       48 天前
    @stormtrooperx5 写后端的时候你肯定吼过前端:为什么同时提交上来两份一样的数据、
    WIN2333
        17
    WIN2333  
       48 天前
    @wy315700 跟幂等性有啥关系,我 post 我非要它幂等又不是不可以
    hhhhhh123
        18
    hhhhhh123  
       48 天前
    @wy315700 #12 幂等性是服务端的哇, 单纯的 GET 和 POST 请求区别:1 . GET 请求有大小限制,POST 没有; 2. GET 参数在浏览器参数能看见, 安全相对 POST 性低; 3. GET 比 POST 快, 好像是少一次啥,不记得了。
    wy315700
        19
    wy315700  
       48 天前   ❤️ 1
    @iyaozhen 用上 CDN 以后就有区别了,大部分 CDN 服务不缓存 POST 方法。
    hhhhhh123
        20
    hhhhhh123  
       48 天前
    其实 GPT 一下, 标准答案就出来了。
    stormtrooperx5
        21
    stormtrooperx5  
       48 天前
    @wy315700 我只会在前端问我这个接口用 post 还是 get 的时候,告诉他都可以
    Ayanokouji
        22
    Ayanokouji  
       48 天前   ❤️ 3
    get / post 只有语义区别吧。es 的 dsl 还拿 post 当查询用。
    hmxxmh
        23
    hmxxmh  
       48 天前
    @foolishcrab 虽然但是,背这个对写代码有什么帮助?现在绝大部分开发者应该都是通用 post 一把梭,什么 get post delete 都用 post 去实现。都八年了问的不应该是项目或者业务,问这些背一背就能知道的有啥用,这种题能筛选出人才嘛。。。
    iyaozhen
        24
    iyaozhen  
       48 天前
    @hhhhhh123 也不完全对,POST 也有限制,也有配置的。GET 也可以没限制。不过大多数情况,POST 确实能传递的内容更多。2 安全性我觉得不是浏览器里面能不能看见,是中间层记录日志的时候通常会把 url 都记录下来 3. GET 比 POST 快,这个没有根据
    bronyakaka
        25
    bronyakaka  
       48 天前   ❤️ 2
    八年经验不能问简单的问题了?面试流程就是由简入难先试试水平,简单的都回答不上来后面就不问了不浪费时间。我面过不少多年的很简单的都答不上来,后面也就走过场了,也有你这样主动挂断的
    biu7
        26
    biu7  
    OP
       48 天前
    @bronyakaka 我也没说不可以啊,这不主动结束了么,节约一下对面时间
    wyntalgeer
        27
    wyntalgeer  
       48 天前
    @lepig 我真被问过,我说 js post get dns gateway 啥的,它说再想想,我想不起来,最后反问得知它下想听 CDN ,我当年面的是 JAVA ,开心就好
    hessian
        28
    hessian  
       48 天前   ❤️ 2
    十几年经验的摸鱼选手也很多,不知道具体面试过程,单看楼主的描述。还是感觉太傲慢了
    面试官:那进程间通讯方式有哪些?
    我:不记得了

    如果是我也会给面试者的评价降级,都 8 年了,这不是随便就能说几个
    后面自然会抛出更简单的问题确认面试者的真实水平
    justtokankan
        29
    justtokankan  
       48 天前
    都是站在巨人的肩膀上开发,能干事就行了,非得巴拉巴拉,还是太卷了
    hhhhhh123
        30
    hhhhhh123  
       48 天前
    @iyaozhen #24 GPT 回答:
    1. 协议交互步骤差异
    GET 请求流程:
    浏览器发起 TCP 三次握手(建立连接)。
    浏览器发送请求头和请求体(数据直接附加在 URL 中)。
    服务器返回响应(如 200 OK )。
    总步骤:3 次握手 + 1 次数据传输。
    POST 请求流程:
    浏览器发起 TCP 三次握手(建立连接)。
    浏览器发送请求头(不含数据)。
    服务器返回 100 Continue 确认(可选,但某些浏览器/服务器会执行此步骤)。
    浏览器发送请求体(实际数据)。
    服务器返回响应(如 200 OK )。
    总步骤:3 次握手 + 2 次数据传输(比 GET 多一次交互)。
    结论:POST 需要额外的确认步骤( 100 Continue ),导致总耗时增加。
    Jinnrry
        31
    Jinnrry  
       48 天前 via iPhone
    面试官水平不行,这种题问问应届生还行,问 8 年工作经验的人纯有病。
    abc1310054026
        32
    abc1310054026  
       48 天前
    @hhhhhh123 请不要在 V2EX 的回复中粘贴复制来自 AI 生成的文本。
    zzdz
        33
    zzdz  
       48 天前
    不知道我说的对不对,GET 和 POST 的某些区别确实是由浏览器行为或常见用法导致的,而非 HTTP 协议本身的强制规定,我代码用啥其实都可以,
    spritecn
        34
    spritecn  
       48 天前
    考验知识面吧,三年以上应该都能说点啥吧,但一连四个题都问这些,这个面试官应该不会 go...
    Jinnrry
        35
    Jinnrry  
       48 天前 via iPhone   ❤️ 1
    @hhhhhh123 在 https 的场景下,post 和 get 的区别仅仅就这几个字母的区别而已了。get 请求也可以带 body 体,比如 es 就这样用的。post 也可以不带 body 体,只带 url 参数

    实际使用中,区别更多在于网关日志记录,转发规则差异。以及楼上说到的 cdn 缓存。
    wy315700
        36
    wy315700  
       48 天前
    @zzdz
    @hhhhhh123 #18

    了解一些协议约定俗成的用法,能在 debug 的时候省下来很多事情。比如


    比如 nginx 的 proxy_next_upstream 默认是不会重新请求非幂等性方法的。
    biu7
        37
    biu7  
    OP
       48 天前   ❤️ 1
    @zzdz http 协议其实对 get 和 post 的语义和行为是有规定的,不过实际使用的时候还是看人
    snxq1995
        38
    snxq1995  
       48 天前   ❤️ 4
    面过很多家公司,也作为面试官面试过很多同学。浅谈一点看法:

    1. 非常能够理解长时间不用的基础知识不记得了,比如说进程间通信,做太久应用层,忘记了很正常。不过有些基础知识在日常工作中也非常常见,比如说 http method 。

    2. 作为面试者,我觉得在准备面试的过程中,背八股以及刷题很有必要,因为能够提高你自己能力与面试岗位的匹配度。

    3. 作为面试官,面试的题目也不是说越难越好,面试官的目的是筛选出与这个岗位最匹配的候选者,而不是能力最强等等条件。

    PS. 对社招来说,如果面试的岗位和过往的工作经验重合度不高,非常建议从 0 开始过一遍自己的技术栈。
    bbao
        39
    bbao  
       48 天前
    @wy315700 哈哈哈哈哈,看来这种幼儿园问题,对一些同学还是有用的,起码这个帖子下来能筛选出来一个不知道的~~~~~~~
    Jinnrry
        40
    Jinnrry  
       48 天前 via iPhone   ❤️ 1
    @zzdz 是的,按协议规定,post 和 get 的区别就只有这几个字母的区别,其他细节都完全一致。如果是后端通信,两边都是你的代码,中间又没有网关转发,你甚至不叫 get post ,你改成叫其他名字都是没问题的
    bbao
        41
    bbao  
       48 天前
    @hhhhhh123 其实 GPT 一下,你就有工资了~ 在家 GPT ,还学习干啥,失业了不用找工作~~ 就在家 GPT
    hhhhhh123
        42
    hhhhhh123  
       48 天前
    @bbao #41 搞不懂你在这阴阳啥
    pkoukk
        43
    pkoukk  
       48 天前
    虽然多年没用上这些内容,但是答案我现在倒还是记得异常清楚
    wy315700
        44
    wy315700  
       48 天前
    @bbao #39
    本人十年后端。偶尔写写前端和客户端。
    反正我理解中上面那些问题全是基本功。

    进行架构设计、协议设计的时候,应该在 3 秒钟内反应过来这个应该用进程还是线程,如果用进程的话用什么样的方式进行进程间通讯。传输的时候应该用 get 还是 post 。
    thevita
        45
    thevita  
       48 天前
    我也喜欢问基础点的,其实是想看看工作多年后,候选人有没有形成自己的认知体系,如果背八股文不至于挂,但肯定是减分的,

    项目的话,除非是领域高度相关,不然基本目标就是判断下候选人的参与深度,过滤下简历水分而已
    HRTops
        46
    HRTops  
       48 天前
    看看 mingling.cn 你试试免费的,感觉一下,看看能不能帮到你
    iyaozhen
        47
    iyaozhen  
       48 天前
    @hhhhhh123 #30 还是不完全对。只有带 Expect: 100-continue 头时(这时候不传 Body ),才会有 100 Continue 这一步。就是客户端主动要求了才会有,一般没这个步骤。 当然算作区别,但不普遍
    yph007595
        48
    yph007595  
       48 天前
    我当时面应届生就准备的这样的题
    heyang
        49
    heyang  
       48 天前
    有类似的经验,去年结束了杭漂回到老家,面了老家一家 500 强非互联网企业,岗位是供应链相关系统开发,和我经历还挺相符的,本来挺有自信的。

    面试第一个问题:你对 nacos 了解吗?讲下你对它的理解。
    懵了,因为我简历上根本就没有提过一毛钱的 nacos ,我自己也经常面人,我面过没有一百也有八十了,我绝对不会问简历上没有的东西,更何况是业务系统开发。
    然后就答没有,但是很久以前用过 Eureka , 以及阿里内部的 ConfigServer 我稍微有一些了解,blabla....

    面试官听完,继续问: nacos 的负载均衡是怎么做的?
    .... 然后给他讲了我对 Eureka 和 ConfigServer 中负载均衡的了解

    面试官沉默了 5 秒,下结论说阿里的技术太封闭了,你的知识太陈旧了。。。

    我心想你就不想了解一下阿里供应链系统架构设计、系统交互、业务玩法的东西吗?我对整条链路还是稍有点认识的啊。。。

    果不其然第二天短信通知面试挂了。。。
    unused
        50
    unused  
       48 天前
    RFC 7231 和 IANA HTTP Method Registry 规定了方法的幂等性,如果你没有遵守那就是没有按标准实现协议。
    unused
        51
    unused  
       48 天前
    @unused RFC 9110
    biu7
        52
    biu7  
    OP
       48 天前
    @heyang 不是,nacos 不就是阿里开源的?他怎么说出“阿里的技术太封闭了”这种话的
    HappyAndSmile
        53
    HappyAndSmile  
       48 天前
    @lepig 当年我面试时,完完整整地说了整个答案,后来竟然和我说,要录用那个比我年轻,工资更低的人,说到底还是给不起
    HappyAndSmile
        54
    HappyAndSmile  
       48 天前
    @Jinnrry #35 是的,你说的对,实际上只有几个字母的区别,好多人没接触过 es ,也不知道 get 也能传 body
    foolishcrab
        55
    foolishcrab  
       48 天前 via iPhone
    还是挺有意思的,这个楼里就像我说的开始乱背书
    我想表达的是,当你问 get post 的时候,首先你要定义清楚你想问的是浏览器对 get post 的区别,还是协议定义,还是 nginx 默认行为,还是 cloudflare 默认实现。
    而不是一上来就丢一个,get post 区别,那我也会像楼主一样“你想听什么”
    coderlxm
        56
    coderlxm  
       48 天前   ❤️ 1
    我是前端,太喜欢被问这类问题了,我最近面试的只要问我项目的全挂,但是问我这类八股的我都拿 offer 了。我特别喜欢问八股的面试官,而且通常一个八股我可以和他聊很长时间,但是一问项目完了直接废了。
    iyaozhen
        57
    iyaozhen  
       48 天前
    我最近也在面试别人,说说我的看法

    社招直接问这些题,是不太合适。但项目组遇到的,可以引申问一下,简单问题还是有深度的。因为我不止一次见别人吵:跨域是前端改还是后端改

    校招也是没办法,都没啥项目,那总得八股文开场,暖场
    ColdBird
        58
    ColdBird  
       48 天前
    @hhhhhh123 你号马上要没了,有 AI 警察要举报你了
    MAVETRICK
        59
    MAVETRICK  
       48 天前 via Android
    哪里才能找到这种面试官啊,我太喜欢被问八股了,我之前面试遇到这种面试官的大概只有三成,多数还是会问项目。
    coderlxm
        60
    coderlxm  
       48 天前
    @foolishcrab 现在的面试对于八股这类的考核就是要看面试者能够将一个简单的问题答到怎样的程度,比如浏览器从输入 url 到页面展示的过程,有简单的答法也有深入的答法,一个问题就能将面试者区分开。想要和其他竞争者拉开差距,你就不能管面试官想听什么,而是将你所知道的所有东西呈现出来。
    42joker
        61
    42joker  
       48 天前   ❤️ 2
    您脾气是真的好,换做是我多多少少都要教育一下这个面试官
    woodongwong
        62
    woodongwong  
       48 天前
    effort
        63
    effort  
       48 天前
    我说一下我最近面试问的,我是初面,面试也是 8 年以上的后端,前后大概面试了 30 多个人。
    1. 什么是链表。
    2. 数组通过下表访问元素的时间复杂度是多少。
    3. JWT 有几部分组成

    结果呢。

    90%的人 第一题答不上来,95% 第二题不知道,99%的人第三题:哦就是那个 token 啊。

    ps:再说下我的面试经历,19 年来北京,面试前端,手写/笔试算法是常态,最变态的是手写红黑树。都是小厂,大厂都没敢去。
    wupher
        64
    wupher  
       48 天前
    面试的人不一定真正日常做项目。

    不真正做项目就没很难结合具体场景问出真正有意义的东西。

    或者不擅长表达,不擅长总结。总不能说我日常碰到问题就是 Google / Stackoverflow / AI ?

    但是总得问吧,甚至还要体现技术难度、深度。

    要恰饭啊
    Promtheus
        65
    Promtheus  
       48 天前
    我感觉重要的是公司好不好 面试只是途径 根本不关心面试题好不好。这种八股不是正好么,又不是去和面试官谈对象的。
    tenserG
        66
    tenserG  
       48 天前 via iPhone
    我还遇到过项目八股都没问,直接问上季度绩效的,后悔当场没喷回去。
    PopRain
        67
    PopRain  
       47 天前   ❤️ 2
    都说的简单,你招人去试试? 开头不问八股文问什么? 听对方吹牛吗? 然后基础 20K,一年经验加 2K ,8 年经验就给 36K/月? 感觉很多人真的太水了,干了好多年连常识都不知道、了解,就会 ctrl+c ctrl+v ,稍微用点心都不会什么都不知道, 毕竟是吃技术这碗饭,平时还是需要多学点
    gdw1986
        68
    gdw1986  
       47 天前 via Android
    @hhhhhh123 学习了,感谢
    sunziren
        69
    sunziren  
       47 天前 via Android
    哈哈哈哈,反客为主
    kivmi
        70
    kivmi  
       47 天前
    @hhhhhh123 POST 需要计算 payload 的长度,而 GET 不需要,不然 post 提交的数据,在 HTTP 解析请求的时候,解析不了请求体,是这个么?
    scys
        71
    scys  
       47 天前
    对方问的没啥问题,就是基础。

    其实我倒是好奇中间大佬们讨论到 GET 和 POST 谁快,详细看了下,没啥区别,只看实际。

    对方似乎非常在意性能问题,http/2 其实你可以说说,如果你搭上 http/3 ,继续说,似乎让你得到工作的机会更大。
    hanxiV2EX
        72
    hanxiV2EX  
       47 天前 via Android
    管他啥区别,照着 RFC 能实现就行。
    victorc
        73
    victorc  
       47 天前
    太水了,我一般先让候选人做编程题,leetcode ,easy 或者 中级,然后开始问 线程和进程/协程的区别,http 状态码有哪些 ....

    这些都是起码的知识和技能

    作为程序员,这个即将大面积消失的年代,应该尊重自己的职业
    p7e4
        74
    p7e4  
       47 天前
    这种应该是看完简历已经定了,双向选择,不必在意
    sbldehanhan
        75
    sbldehanhan  
       47 天前
    @victorc #73 我面的都是最后才做算法题,前面说的不好,算法题也直接不做了。
    cxe2v
        76
    cxe2v  
       47 天前
    嫌简单?不如体验我当年 2 年经验问我架构师的活怎么干,千万级并发 ,数据仓库概念还没流行问我海量数据处理,可我只是面试个中级程序员而已
    Corrots
        77
    Corrots  
       47 天前
    @biu7 #7 可是中间件实现原理大部分也是八股呀
    wy315700
        78
    wy315700  
       47 天前
    @tenserG
    问绩效,可以看出来你在项目里的地位,是不是蹭的。

    见过很多后端连项目 DAU 都不知道的,还有更多的是连啥叫 DAU 都不知道的。
    tt67wq
        79
    tt67wq  
       47 天前
    这什么垃圾公司
    sakeven
        80
    sakeven  
       47 天前
    哈哈,进程间通信方式不知道,这个有点离谱了吧
    tt67wq
        81
    tt67wq  
       47 天前
    @wy315700 好家伙,我也不知道。。。。
    yazinnnn0
        82
    yazinnnn0  
       47 天前   ❤️ 1
    评论区气氛突然八股了起来
    me1onsoda
        83
    me1onsoda  
       47 天前
    @wy315700 #12 幂等有毛关系?幂等行要应用自己保证
    cenbiq
        84
    cenbiq  
       47 天前
    @effort 程序员真个行业真的很参差,我有工作几年拿 17K 的医疗行业同学,他还处于搞不清楚实例在请求里的生命周期的阶段,然后到处乱用锁导致少量并发请求可以在服务器中线程死锁之类的
    wy315700
        85
    wy315700  
       47 天前
    @tt67wq #81

    能答的上来项目的并发和 QPS 也可以。
    很多 CURD 的写法并发量低可以,但是高并发环境下完全不行

    面过很多人,最后做的项目就几十几百 DAU ,问一些高并发的情况就完全不懂了。

    然后我还喜欢顺手问问排队论的知识,根据并发量和平均等待时间,预估需要的服务器数量。






    我们这项目虽然小,但是峰值几百万 DAU 和几万 QPS 还是有的。
    HappyAndSmile
        86
    HappyAndSmile  
       47 天前
    其实相同水平下,一般面试别人比去面试更难,因为你不知道要问什么问题比较合适,你不知道问什么问题才能证明对方水平跟你差不多,问难了,自己也不会,问的简单了,又会遇到楼主这样内心怒喷,其实真的挺尴尬的。所以我一般不喜欢去面试别人,当然也总结了自己的面试问题,一般是有实际工作经验的人才答得出的问题,容易筛选,避免问过多八股问题,浪费彼此时间
    tt67wq
        87
    tt67wq  
       47 天前
    @wy315700 我这常年都是长连接的,只记得连接数了
    wy315700
        88
    wy315700  
       47 天前
    @tt67wq #87

    长连接也有 QPS ,每秒接受和发送命令的数量。
    NewYear
        89
    NewYear  
       47 天前
    @lepig #3

    哈哈哈

    “这么说我就不困了,现在我从汇编语言的层面详细说一下,不知道面试官您这周还有其他事务吗,不着急的话我大概花一周时间来详细和您探讨一下每一个语句的意义”

    “对了,我例子中这个 URL ,是启动核弹的触发开启功能,需要将核弹的相关技术细节一起说吗,如果需要的话,可能需要组成一个技术团队进行说明”
    Xinu
        90
    Xinu  
       47 天前
    确实,工作了 7 8 年,如果不去特别看这些东西,答得也不好,还是问问实际项目经验更合适一些
    noyidoit
        91
    noyidoit  
       47 天前
    可能只是新手面试官,我最开始面试别人的时候可能比这个还糟糕,不过我只做过初级岗的一面
    digdug
        92
    digdug  
       47 天前
    上来就问八股而不是问简历上的项目经验 说实话挺难顶的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2482 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 12:02 · PVG 20:02 · LAX 05:02 · JFK 08:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.