一番自我介绍之后:
面试官:说一下进程和线程和协程的区别
我:(???我简历写的不是八年经验吗?)巴拉巴拉类比了一下
面试官:那进程间通讯方式有哪些?
我:不记得了
面试官:get 和 post 有什么区别?
我:get 和 post 一般只是请求方式的不同巴拉巴拉(一些差异)
面试官:还有吗?
我:你想听什么?
面试官:说一下 http2...
我打断:今天面试就到这里吧
挂断之后整个人都清爽了

不明觉厉。是觉得面试的题太简单了不想回答?觉得问得不靠谱?

确实不应该用校招面试题来面社招的。

怎么没问:当浏览器输入网址回车后,整个过程经历了什么?

哈哈哈

8 年经验上来就问八股,面试官属实不靠谱

没关系,都是八股文,整理一下这些问题,没准下一家也会问到

没有,问的很好,只是记录一下

主要好几年没见过这类八股了,中间件实现原理类的问的比较多

正常八股 好像也没啥问题呀 为啥挂断 太小儿科?

get post 这个确实很典
很多人搞不清楚他所谓的区别是指浏览器行为而不是 http 协议,然后就开始硬背了

社招不应该根据项目来问吗?
八股没啥用,面试造火箭,工作拧螺丝。还不如根据简历上的项目深挖,或者根据自己公司项目实际用到的东西来提问。

面试官水平不行...

get 和 post 最重要的区别应该是幂等性吧

少看八股,多写代码

社招问八股的很多啊,问八股挺好的,项目又会嫌弃没啥亮点。

最重要的是没有区别,就是个 http 协议

写后端的时候你肯定吼过前端:为什么同时提交上来两份一样的数据、

跟幂等性有啥关系,我 post 我非要它幂等又不是不可以

#12 幂等性是服务端的哇, 单纯的 GET 和 POST 请求区别:1 . GET 请求有大小限制,POST 没有; 2. GET 参数在浏览器参数能看见, 安全相对 POST 性低; 3. GET 比 POST 快, 好像是少一次啥,不记得了。

用上 CDN 以后就有区别了,大部分 CDN 服务不缓存 POST 方法。

其实 GPT 一下, 标准答案就出来了。

我只会在前端问我这个接口用 post 还是 get 的时候,告诉他都可以

get / post 只有语义区别吧。es 的 dsl 还拿 post 当查询用。

虽然但是,背这个对写代码有什么帮助?现在绝大部分开发者应该都是通用 post 一把梭,什么 get post delete 都用 post 去实现。都八年了问的不应该是项目或者业务,问这些背一背就能知道的有啥用,这种题能筛选出人才嘛。。。

也不完全对,POST 也有限制,也有配置的。GET 也可以没限制。不过大多数情况,POST 确实能传递的内容更多。2 安全性我觉得不是浏览器里面能不能看见,是中间层记录日志的时候通常会把 url 都记录下来 3. GET 比 POST 快,这个没有根据

八年经验不能问简单的问题了?面试流程就是由简入难先试试水平,简单的都回答不上来后面就不问了不浪费时间。我面过不少多年的很简单的都答不上来,后面也就走过场了,也有你这样主动挂断的

我也没说不可以啊,这不主动结束了么,节约一下对面时间

我真被问过,我说 js post get dns gateway 啥的,它说再想想,我想不起来,最后反问得知它下想听 CDN ,我当年面的是 JAVA ,开心就好

十几年经验的摸鱼选手也很多,不知道具体面试过程,单看楼主的描述。还是感觉太傲慢了
面试官:那进程间通讯方式有哪些?
我:不记得了

如果是我也会给面试者的评价降级,都 8 年了,这不是随便就能说几个
后面自然会抛出更简单的问题确认面试者的真实水平

都是站在巨人的肩膀上开发,能干事就行了,非得巴拉巴拉,还是太卷了

#24 GPT 回答:

  1. 协议交互步骤差异
    GET 请求流程:
    浏览器发起 TCP 三次握手(建立连接)。
    浏览器发送请求头和请求体(数据直接附加在 URL 中)。
    服务器返回响应(如 200 OK )。
    总步骤:3 次握手 + 1 次数据传输。
    POST 请求流程:
    浏览器发起 TCP 三次握手(建立连接)。
    浏览器发送请求头(不含数据)。
    服务器返回 100 Continue 确认(可选,但某些浏览器/服务器会执行此步骤)。
    浏览器发送请求体(实际数据)。
    服务器返回响应(如 200 OK )。
    总步骤:3 次握手 + 2 次数据传输(比 GET 多一次交互)。
    结论:POST 需要额外的确认步骤( 100 Continue ),导致总耗时增加。

    面试官水平不行,这种题问问应届生还行,问 8 年工作经验的人纯有病。

    请不要在 V2EX 的回复中粘贴复制来自 AI 生成的文本。

    不知道我说的对不对,GET 和 POST 的某些区别确实是由浏览器行为或常见用法导致的,而非 HTTP 协议本身的强制规定,我代码用啥其实都可以,

    考验知识面吧,三年以上应该都能说点啥吧,但一连四个题都问这些,这个面试官应该不会 go...

    在 https 的场景下,post 和 get 的区别仅仅就这几个字母的区别而已了。get 请求也可以带 body 体,比如 es 就这样用的。post 也可以不带 body 体,只带 url 参数

实际使用中,区别更多在于网关日志记录,转发规则差异。以及楼上说到的 cdn 缓存。

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

比如 nginx 的 proxy_next_upstream 默认是不会重新请求非幂等性方法的。

http 协议其实对 get 和 post 的语义和行为是有规定的,不过实际使用的时候还是看人

面过很多家公司,也作为面试官面试过很多同学。浅谈一点看法:

  1. 非常能够理解长时间不用的基础知识不记得了,比如说进程间通信,做太久应用层,忘记了很正常。不过有些基础知识在日常工作中也非常常见,比如说 http method 。
  2. 作为面试者,我觉得在准备面试的过程中,背八股以及刷题很有必要,因为能够提高你自己能力与面试岗位的匹配度。
  3. 作为面试官,面试的题目也不是说越难越好,面试官的目的是筛选出与这个岗位最匹配的候选者,而不是能力最强等等条件。

PS. 对社招来说,如果面试的岗位和过往的工作经验重合度不高,非常建议从 0 开始过一遍自己的技术栈。

哈哈哈哈哈,看来这种幼儿园问题,对一些同学还是有用的,起码这个帖子下来能筛选出来一个不知道的~~~~~~~

是的,按协议规定,post 和 get 的区别就只有这几个字母的区别,其他细节都完全一致。如果是后端通信,两边都是你的代码,中间又没有网关转发,你甚至不叫 get post ,你改成叫其他名字都是没问题的

其实 GPT 一下,你就有工资了~ 在家 GPT ,还学习干啥,失业了不用找工作~~ 就在家 GPT

#41 搞不懂你在这阴阳啥

虽然多年没用上这些内容,但是答案我现在倒还是记得异常清楚

#39
本人十年后端。偶尔写写前端和客户端。
反正我理解中上面那些问题全是基本功。

进行架构设计、协议设计的时候,应该在 3 秒钟内反应过来这个应该用进程还是线程,如果用进程的话用什么样的方式进行进程间通讯。传输的时候应该用 get 还是 post 。

我也喜欢问基础点的,其实是想看看工作多年后,候选人有没有形成自己的认知体系,如果背八股文不至于挂,但肯定是减分的,

项目的话,除非是领域高度相关,不然基本目标就是判断下候选人的参与深度,过滤下简历水分而已

看看 mingling.cn 你试试免费的,感觉一下,看看能不能帮到你

#30 还是不完全对。只有带 Expect: 100-continue 头时(这时候不传 Body ),才会有 100 Continue 这一步。就是客户端主动要求了才会有,一般没这个步骤。 当然算作区别,但不普遍

我当时面应届生就准备的这样的题

有类似的经验,去年结束了杭漂回到老家,面了老家一家 500 强非互联网企业,岗位是供应链相关系统开发,和我经历还挺相符的,本来挺有自信的。

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

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

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

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

果不其然第二天短信通知面试挂了。。。

RFC 7231 和 IANA HTTP Method Registry 规定了方法的幂等性,如果你没有遵守那就是没有按标准实现协议。

RFC 9110

不是,nacos 不就是阿里开源的?他怎么说出“阿里的技术太封闭了”这种话的

当年我面试时,完完整整地说了整个答案,后来竟然和我说,要录用那个比我年轻,工资更低的人,说到底还是给不起

#35 是的,你说的对,实际上只有几个字母的区别,好多人没接触过 es ,也不知道 get 也能传 body

还是挺有意思的,这个楼里就像我说的开始乱背书
我想表达的是,当你问 get post 的时候,首先你要定义清楚你想问的是浏览器对 get post 的区别,还是协议定义,还是 nginx 默认行为,还是 cloudflare 默认实现。
而不是一上来就丢一个,get post 区别,那我也会像楼主一样“你想听什么”

我是前端,太喜欢被问这类问题了,我最近面试的只要问我项目的全挂,但是问我这类八股的我都拿 offer 了。我特别喜欢问八股的面试官,而且通常一个八股我可以和他聊很长时间,但是一问项目完了直接废了。

我最近也在面试别人,说说我的看法

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

校招也是没办法,都没啥项目,那总得八股文开场,暖场

你号马上要没了,有 AI 警察要举报你了

哪里才能找到这种面试官啊,我太喜欢被问八股了,我之前面试遇到这种面试官的大概只有三成,多数还是会问项目。

现在的面试对于八股这类的考核就是要看面试者能够将一个简单的问题答到怎样的程度,比如浏览器从输入 url 到页面展示的过程,有简单的答法也有深入的答法,一个问题就能将面试者区分开。想要和其他竞争者拉开差距,你就不能管面试官想听什么,而是将你所知道的所有东西呈现出来。

您脾气是真的好,换做是我多多少少都要教育一下这个面试官

这个讨论蛮有意思: github.com/elastic/elasticsearch/issues/16024

我说一下我最近面试问的,我是初面,面试也是 8 年以上的后端,前后大概面试了 30 多个人。

  1. 什么是链表。
  2. 数组通过下表访问元素的时间复杂度是多少。
  3. JWT 有几部分组成

结果呢。

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

ps:再说下我的面试经历,19 年来北京,面试前端,手写/笔试算法是常态,最变态的是手写红黑树。都是小厂,大厂都没敢去。

面试的人不一定真正日常做项目。

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

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

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

要恰饭啊

我感觉重要的是公司好不好 面试只是途径 根本不关心面试题好不好。这种八股不是正好么,又不是去和面试官谈对象的。