经典面试题:从输入 URL 到页面加载完成的过程中都发生了什么事情? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 I 生成的内容
zzNucker
V2EX    程序员

经典面试题:从输入 URL 到页面加载完成的过程中都发生了什么事情?

  •  1
     
  •   zzNucker 2014-05-26 11:12:40 +08:00 13786 次点击
    这是一个创建于 4161 天前的主题,其中的信息可能已经有所发展或是发生改变。
    http://fex.baidu.com/blog/2014/05/what-happen

    看完发现我果然还是too young too simple
    第 1 条附言    2014-05-26 17:09:57 +08:00
    根本不明白哪来这么多槽点

    1. 这篇文章又不是叫你面试这么答,只是告诉你们这道题可以涉及到哪些方面的知识而已。第一段说的很清楚了。

    2. 不是光前端才问这道题,做后端也一样能问。

    3. 面试题目就是为了让你能在这么多点里找到自己拿手的,然后面试官也能根据你拿手的来追问而已。所以这个题才经典。

    4. 这个大题目本来就没人写全过,各自取长补短,多多补充罢了。

    5. 说装逼的,自己是都懂了所以不屑一顾么? 反正按我看来,有自己不懂的东西默默收藏了慢慢消化才是正常。
    61 条回复    2014-07-26 05:52:55 +08:00
    shoumu
        1
    shoumu  
       2014-05-26 11:41:20 +08:00
    经典面试题:从电脑上按下电源键到电脑完成启动都发生了什么事情?
    66beta
        2
    66beta  
       2014-05-26 11:44:16 +08:00
    这叫“经典面试题”?确定不叫“XXXX博士论文”,看哭了
    dong3580
        3
    dong3580  
       2014-05-26 11:45:49 +08:00
    呵呵,面试题...
    rrfeng
        4
    rrfeng  
       2014-05-26 11:49:23 +08:00
    。。。。。。
    没讲到图灵是怎么发明计算机的不信服
    likexian
        5
    likexian  
       2014-05-26 11:50:42 +08:00
    装B是一种境界
    tongle
        6
    tongle  
       2014-05-26 11:53:27 +08:00
    这个回答简直不忍直视
    qiayue     7
    qiayue  
    PRO
       2014-05-26 11:54:48 +08:00
    “不过写这篇文章并不是为了帮大家准备面试,而是想借这道题来介绍计算机和互联网的基础知识,让读者了解它们之间是如何关联起来的。”

    我们知道的不一定别人知道,作者把所发生的事情写的很详细,没必要喷吧
    casparchen
        8
    casparchen  
       2014-05-26 12:00:26 +08:00
    装B是一种境界 +1
    rannnn
        9
    rannnn  
       2014-05-26 12:00:46 +08:00
    很有趣
    henices
        10
    henices  
       2014-05-26 12:05:04 +08:00
    个人感觉这类问题没啥意思。
    mhycy
        11
    mhycy  
       2014-05-26 12:11:10 +08:00
    题目说的不够完整。。没说IP层的处理情况,往下的都没说,简单的WIFI概括了。。。
    multiple1902
        12
    multiple1902  
       2014-05-26 12:18:33 +08:00
    文章里怎么没介绍宇宙大爆炸?
    zzNucker
        13
    zzNucker  
    OP
       2014-05-26 12:24:10 +08:00
    我觉得蛮好的文章啊,不知道有什么好喷的,有本事你也去写个更完整的出来啊。

    V2EX现在怎么这样,慢慢也多了很多只会动动嘴皮子的人,有建议/意见好好补充不好吗。。

    奇怪。
    lijinma
        14
    lijinma  
       2014-05-26 12:34:00 +08:00
    这有什么好喷的。。没看明白

    我觉得还是很有意思,就是很难读完;
    nzcool
        15
    nzcool  
       2014-05-26 12:39:08 +08:00
    @zzNucker 请别太激动,习惯就好了,不过吧,我也没看懂,毕竟太深奥了!
    sinxccc
        16
    sinxccc  
       2014-05-26 12:39:11 +08:00
    感觉有启发性但不是好答案,写得太零碎了,有些地方详细到近于卖弄,有些地方却轻描淡写一笔带过…
    airyland
        17
    airyland  
       2014-05-26 12:48:47 +08:00
    这道题目到了这样的程度已经不是前端面试题了。。
    觉得挺装逼挺无聊的。。
    towser
        18
    towser  
       2014-05-26 12:53:24 +08:00
    应从奇点爆炸开始再到生物起源,人类历史,工业革命等等等等
    icyalala
        19
    icyalala  
       2014-05-26 13:04:57 +08:00
    挺有意思,
    不过只讲了这个过程中"机器"发生了什么事情,没有讲"人"发生了什么事情。
    比如介绍一下人的大脑神经元的信号传递啊,肌肉的收缩啊,人眼识别信号的过程啊什么的 233333

    ------------
    没有讲GFW给差评哈哈~
    zhoulujue
        20
    zhoulujue  
       2014-05-26 13:11:47 +08:00   1
    @icyalala 赞同楼上,没有讲到GFW,哈哈哈~
    另外,既然讲到人眼感受“光子”了,为啥不讲讲光子如何经过眼球(眼镜)折射、色散打到视网膜上,如何在视网膜上形成神经脉冲,神经脉冲如何传到大脑皮层,大脑皮层如何形成影像,人脑如何做出反应,发出指令,形成神经脉冲,如何通过反射弧刺激手臂和手指的肌肉,按下回车键或者删除键的呢?
    zzNucker
        21
    zzNucker  
    OP
       2014-05-26 13:13:22 +08:00
    @icyalala
    @zhoulujue

    。。。 别闹!
    Tink
        22
    Tink  
    PRO
       2014-05-26 13:14:40 +08:00
    这是高大上
    est
        23
    est  
       2014-05-26 13:30:29 +08:00   1
    > 以 Linux 为例,它的实现在这里 socket.c,目前我还不太了解,推荐读者看看 Linux kernel map

    装逼装爆了。
    est
        24
    est  
       2014-05-26 13:33:10 +08:00   4
    要我说,最好的资料应该还是Google写的这个

    http://www.html5rocks.com/en/tutorials/internals/howbrowserswork/

    百度那个回答就是个呵呵。
    zzNucker
        25
    zzNucker  
    OP
       2014-05-26 13:36:05 +08:00
    @est 这个看过了,重点不一样吧,这个讲的完全是浏览器渲染和布局那块的东西。
    icanfork
        26
    icanfork  
       2014-05-26 13:37:19 +08:00
    别人问:为什么知乎上一个简单的问题,都有人写上千字的回复
    答:以小见大,显得有深度,不简单
    loserwn
        27
    loserwn  
       2014-05-26 13:53:02 +08:00
    好文章,之前面试新同学的时候也尝试过类似的面试题,来考察新同学的知识面的深度和广度。是否体系化。
    Perry87
        28
    Perry87  
       2014-05-26 14:13:49 +08:00
    看不懂。
    ted05
        29
    ted05  
       2014-05-26 14:34:37 +08:00 via Android
    讲到了好多我没想过的事,居然都扯到硬件了
    srjzcar
        30
    srjzcar  
       2014-05-26 15:05:32 +08:00
    太高大上了 吾等小菜不明觉厉
    ivanlw
        31
    ivanlw  
       2014-05-26 15:09:18 +08:00 via iPhone
    讲有意思的你们面试过吗?面试问到这种问题最多就占五到十分钟就算很多了,他本着回应面试题的目的,讲的这么没有针对性,真的大丈夫?如果要讲深的,上面的人说得对,怎么不讲宇宙大爆炸,跟这个关系也很密切啊
    Admstor
        32
    Admstor  
       2014-05-26 15:23:59 +08:00
    那个链接的回答太装逼,他怎么不解释一下人类大脑控制手指以及眼球接受屏幕信息的过程呢?
    这种问题自然是根据面试的公司不同来着重不同的部分回答就行了,你做网络的,那么自然是重点在http请求,广域网路由节点到IDC机柜,你做服务器的,自然重点是服务器对请求的相应过程,你写php的(假定这个公司主要用php来开发),自然重点是在php上,当然写php通常也是要了解一部分服务器socket和涉及到数据库的部分,你写前段CSS的,自然要重点在客户浏览器的绘制(也许不是这么说,我不懂)过程,如果是做高端的负载平衡,自然重点是那些缓解可以进行负载平衡和高可用
    dreampuf
        33
    dreampuf  
       2014-05-26 15:36:26 +08:00   1
    @zzNucker 为什么同样是前端,百度的同学非要牵扯内核中断协议栈,以色列程序媛能够连续不断思路的给出整个渲染过程。

    作为博文,作者自己的经验总结这篇文章挺好。但是如果放在面试题中,谁能通过这一篇上下五千年的夏商周的背书,从而了解面试者的实际能力?
    lu18887
        34
    lu18887  
       2014-05-26 15:49:29 +08:00
    @Admstor 那个链接的回答太装逼,他怎么不解释一下人类大脑控制手指以及眼球接受屏幕信息的过程呢? 赞同!!更需要研究的是这个!
    ETiV
        35
    ETiV  
       2014-05-26 16:04:15 +08:00
    这就是所谓的冷知识吧, 会了又没用的那种.

    比如AV看了那么多, 套路, 位置什么的都熟记于心...

    结果找不到合适的对象, 还是没法出枪...
    atempcode
        36
    atempcode  
       2014-05-26 16:14:16 +08:00
    不完整啊, 应该建个wiki page, 大家往上加啊
    advancedxy
        37
    advancedxy  
       2014-05-26 16:30:01 +08:00
    个人觉得没突出侧重点.一些不该讲的东西讲了一大堆,而该细讲的东西没提现出来.
    Lax
        38
    Lax  
       2014-05-26 16:37:48 +08:00
    不从用户主体角度来分析的都是耍流氓。
    YouXia
        39
    YouXia  
       2014-05-26 16:38:22 +08:00
    当科普来看吧,如果是面试题的话,面试官期待的不是这种答案。

    这个东西,重点应该讲协议方面,如果是搞前端的,再加个网页渲染过程,而作者基本上都是草草的写了下,反而对一些无关紧要的东西,叙述的非常详细。

    我猜那个作者本科应该是通信的。
    zzNucker
        40
    zzNucker  
    OP
       2014-05-26 17:05:56 +08:00
    @dreampuf 其实我没懂槽点在哪。。。。 这篇文章又不是叫你面试这么答。。。 只是告诉你们这道题可以涉及到哪些方面的知识而已。

    而且,本来就不是一道只有前端能问的题。。 后端也可以问。
    至于面试,谁会要求你面面俱到,面试就是为了让你能在这么多点里找到自己拿手的,然后面试官也能根据你拿手的来追问而已。
    RangerWolf
        41
    RangerWolf  
       2014-05-26 17:09:27 +08:00
    我跟别人面试的时候也听到同事用这个题目来面实习生。。。 现在看到答案才发现,自己图样图森破
    hepochen
        42
    hepochen  
       2014-05-26 17:24:44 +08:00   1
    @zzNucker

    分享,是好的。但是阐述的角度如果太新颖,不是叫人惊喜,就是让人惊吓。

    原文作者敢拎这么大的一个课题,如果都没有做好被黑的准备,实践知识(不是理论知识)不是太彪悍就是太天真。

    有些知识,如果你想去了解,可以快速得通过Google获取,这样的知识如果进行分享,就是二道贩子,没有太大的价值。但肯定不会成为槽点。

    但问题就出在 `一些不该讲的东西讲了一大堆,而该细讲的东西没体现出来.` by @advancedxy

    如果仔细深究,里面还有不少错误(不是遗漏)的论述。

    所以作者阐述的结果真得有点创新得惊吓了。被吐槽太正常了。



    > 说装逼的,自己是都懂了所以不屑一顾么? 反正按我看来,有自己不懂的东西默默收藏了慢慢消化才是正常

    你不能要求懂得比自己多的人,站在自己的角度,保持一种不必要的`佩服`或者`膜拜`或者`学习`的态度。
    爱憎分明,其实是程序员身上不多的,美好的品性之一呀。



    吐槽归吐槽,作者这样的知识收集是很有价值的。但是,这绝对是标题党,不是么!
    dreampuf
        43
    dreampuf  
       2014-05-26 17:27:17 +08:00
    @zzNucker

    > 以 Linux 为例,它的实现在这里 socket.c,目前我还不太了解,推荐读者看看 Linux kernel map

    请问这句话告诉我们涉及了哪方面知识?
    dreampuf
        44
    dreampuf  
       2014-05-26 17:39:01 +08:00
    槽点很简单--牵强。拿着仅有的Google结果强行支付“面试题”。
    你也知道这种面试题不会大而全考察,而是分侧重。问题是对于一个这样一个涉及了前端后端协议栈,网络系统人生观的面试题,我只能根据面试的职位猜测题目后面想考察的内容。或者反问面试官:“您指哪方面?”。这种面试题毫无信息含量。

    > 5. 说装逼的,自己是都懂了所以不屑一顾么? 反正按我看来,有自己不懂的东西默默收藏了慢慢消化才是正常。

    我不懂,但是我不觉得懂这些能够有助面试删选人才。
    zzNucker
        45
    zzNucker  
    OP
       2014-05-26 17:40:25 +08:00
    @hepochen 我明白了。


    @dreampuf 告诉我们涉及了socket的知识。 和从哪里能找到更详细的解释。
    zzNucker
        46
    zzNucker  
    OP
       2014-05-26 17:43:22 +08:00
    @dreampuf "我只能根据面试的职位猜测题目后面想考察的内容",我认为这个题目很好呀,至少你可以自己筛选和表达出自己所掌握的东西。 如果是具体题目的话,很可能不会就不会了。 难道不是这样吗? 这个题目"毫无信息含量"我不知道是什么意思?

    面试过程中难道你不应该更喜欢自己选择谈论的知识吗?
    hepochen
        47
    hepochen  
       2014-05-26 17:52:41 +08:00   1
    @zzNucker 姑娘/小伙是学生?

    > 我认为这个题目很好呀,至少你可以自己筛选和表达出自己所掌握的东西。

    这个是好的一方面。

    不好的地方太多了,如果你(作为面试官遇到)遇到真正厉害的人,你可能会遭遇下列情形:

    1, 拒绝回答,挥袖而去。

    2, 笔与白板,同你论述,不时问你,`这里会怎么样`,`你明白了么`,然后根据他的心情以及你的回应,可能会挥袖而去。

    3, 要求支付价格不低的技术咨询费。

    So,这样的题目,除非你知道对方的知识不会太拔尖的前提下才会问的,否则就是找死的节奏。
    zzNucker
        48
    zzNucker  
    OP
       2014-05-26 17:55:28 +08:00
    @hepochen 没错,哦我知道问题所在了,这个面试题实际上我认为是”对面试学生来说的好题目“。

    你们看法的起点比我高,原来槽点在这里。

    哈哈哈哈哈哈心情大好。
    dreampuf
        49
    dreampuf  
       2014-05-26 17:56:29 +08:00
    @zzNucker 在面试过程中,不在乎是否是自己喜欢或者擅长的知识。只在乎是自己是否能够和职位要求相匹配。

    面试官应该精准表达职位要求,而不是丢一个大话题等面试的人侃大山浪费时间。


    > 告诉我们涉及了XX的知识。 和从哪里能找到更详细的解释。

    我不明白的是,这样的描述有什么实质在里面,面试中你也不会以此作为回答。此题真出现在你的面试中,你会用任何一个片段回答吗?
    zzNucker
        50
    zzNucker  
    OP
       2014-05-26 18:12:33 +08:00
    @dreampuf 这个本来就不是教你面试的嘛。。。。。。。。 告诉你哪里去找到答案也没问题呀。
    前面那个问题我已经没必要争论了,应该是视野不同的原因。。
    ravenw
        51
    ravenw  
       2014-05-26 18:27:54 +08:00
    本来这个题拿来面试确实不错,是这个回答答得装逼了,这题目显然是想了解面试者对系统和网络架构的知识了解程度,扯那么多详细的硬件细节不是装逼是什么,除非这是面试硬件工程师
    kappa
        52
    kappa  
       2014-05-26 20:47:26 +08:00 via iPhone
    这个题豌豆荚问过,面试官的水平也不怎么样,呵呵。
    Precious
        53
    Precious  
       2014-05-26 21:35:20 +08:00
    说到面试经典问题. 被人问过, 一个PHP + SQL server 的系统里面, 用户登录是怎么实现的.
    其中有一段说到, 浏览器发送POST请求后, 服务器端怎么收到
    我就说拿一个全局变量就可以收到了$_POST['xxx']
    他屡次暗示我往 HTTP请求啥的去说
    ...
    最后被打断了, 这个问题跳过了, 似乎以后这样的问题要如本主题这样思考才能满足他..
    sneezry
        54
    sneezry  
       2014-05-26 21:42:49 +08:00
    “根本不明白哪来这么多槽点”

    因为IC方面的知识这帮程序员看不懂。
    vinsa
        55
    vinsa  
       2014-05-26 21:55:10 +08:00
    这个题目是可以作为投石问路的面试好题目。但是有前提:面试官须清楚明白自己想找什么样的人。因为术业有专攻,挑侧面深入问下去是条路子。

    PO主这答案是想广度和深度皆而有之,却迷失了重点。没有了上下文约束,不论深度和广度都是远远不够的。比如你还可以细到键盘的键帽按压弹起的作用力及地球引力的关系,电子是怎么运动的等等。

    所以从答案来看,整个有浓重的炫技的味道,俗称装B。
    dorentus
        56
    dorentus  
       2014-05-27 01:01:09 +08:00 via iPad
    @sneezry 好像计算机系电子电路不是必修似的…
    nsa
        57
    nsa  
       2014-05-27 07:54:19 +08:00
    顺便让这货
    http://fex.baidu.com/blog/2014/05/what-happen/

    解释一下人类行为,交互,进化,视觉,触觉,神经系统,过程演化,感觉脑袋不够用啊,

    能量变化也行吧,

    再不济,纯数学的状态变化总可以吧。

    -----

    其实这中问题从现有标准,规范或者厂家手册等等,一条条看下去就是了,时代不同,环境不同差别太大了。
    tonychin
        58
    tonychin  
       2014-05-27 14:53:18 +08:00
    @YouXia +1
    作者多半是通信 电子信息工程专业出身做前端的 ==
    tonitech
        59
    tonitech  
       2014-05-28 02:52:13 +08:00
    我看到他说LED三基色。。。什么都扯上了,真是个博学多才的人啊!
    DRcoding
        60
    DRcoding  
       2014-06-05 14:49:31 +08:00
    竟然被这个题目面到了。。。从SSH框架和http协议的角度回答的较简单,然后就被刷掉了,后来发现这之间,没有必然的关系,对方要招现场开发工程师,有个题目是“你会如何说服别人同意你的看法或者观点”之类的,我就脑残的写了四个字“少说多做”。。。然后是被吐槽你这性格只适合在研发部门,不适合现场,然后就没有然后了。
    Axurez
        61
    Axurez  
       2014-07-26 05:52:55 +08:00
    非常有意思的文章
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2732 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 14:53 PVG 22:53 LAX 07:53 JFK 10:53
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86