V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zeal7s
V2EX  ›  职场话题

今天面试被虐成狗。。。

  •  
  •   zeal7s · 2015-09-24 08:14:41 +08:00 · 16944 次点击
    这是一个创建于 3346 天前的主题,其中的信息可能已经有所发展或是发生改变。

    楼主今天满怀信心地参加一个小公司的面试, entry-level 码农的职位,有一种瞬间被轰成渣的感觉。。。

    问题不难,只能怪自己平时基础不牢。
    1. 简述从浏览器中输入网址到得到网页的过程中发生了什么
    2. DNS 是如何将 url 转化成 ip address 的?简述其缓存机制
    3. http 和 https 的区别?通过 http 和 https 两种方式请求网页中间发生了什么?
    4. 虚拟地址空间是什么?
    5. 进程间通信的方法?共享内存是什么?

    基本上这些问题楼主只知道一个大概,真要深究的话完全就答不上来了,我想主要原因是这些知识点不太经常涉及到。问下各位平时是如何积累这些知识的? THX

    第 1 条附言  ·  2015-09-29 12:22:33 +08:00
    =============================================================
    Update :

    今天收到邮件,面试过了。。。有一种恍如隔世的赶脚,因为赶脚当初自己回答一点都不好
    127 条回复    2015-09-25 21:53:16 +08:00
    1  2  
    bleaker
        101
    bleaker  
       2015-09-24 19:00:52 +08:00
    感觉科班出身的都能随意答出来吧。。课后作业题的感觉。。
    lyd0n
        102
    lyd0n  
       2015-09-24 19:50:34 +08:00
    @inFinityzc 昨天刚补考完计算机网络。。。
    menc
        103
    menc  
       2015-09-24 20:22:41 +08:00
    答,上个大学,学计算机专业
    计算机网络前三个全都讲到了
    操作系统后两个全都讲到了
    真的不骗你,一点不差。

    1 、网址到网页考察 OSI 七层 / TCP/IP 四层的掌握程度
    2 、 dns 查询是最基本的,书中就是重点
    3 、 http 和 https 考察 ssl 和 TCP/IP 四层的理解, HTTPS 算是两层之间的一个中间层
    4 、 5 操作系统和计算机组成的基础知识
    breeswish
        104
    breeswish  
       2015-09-24 21:25:27 +08:00
    4 、 5 不是大学里操作系统课程必须掌握的知识嘛…那些大学时靠死记硬背的想必面试时候不准备是会忘得差不多了…
    1 、 2 、 3 要说深了可以很深,我觉得面试官应该只是期望知道个原理吧,反正很多人就是不知道原理
    rainmakeroly
        105
    rainmakeroly  
       2015-09-24 21:32:33 +08:00
    @menc 不如直接说: apue 和 http 权威指南 就 game over 。楼主还是做或者展示项目吧。至少应该不会问这种理解和概念性的。
    msg7086
        106
    msg7086  
       2015-09-24 21:49:23 +08:00
    entry level 本来就没指望你回答到多深啊。要是你都深入浅出地答上来了,你还去 entry level ?
    danny200309
        107
    danny200309  
       2015-09-24 21:55:23 +08:00
    问这种问题跟实际工作有半毛钱关系?
    az
        108
    az  
       2015-09-24 21:58:58 +08:00
    这问题,我还真答不出来。但是,答出来,顶个屁用。
    f0rger
        109
    f0rger  
       2015-09-24 22:25:17 +08:00
    前端么?这些问题一般是作为前端普通研发的面试题。
    简单答就可以过
    深入的话,每个都是一个课题
    vibbow
        110
    vibbow  
       2015-09-24 22:31:23 +08:00
    感觉好简单的问题的啊...
    chenpanxin
        111
    chenpanxin  
       2015-09-24 22:55:36 +08:00
    竟然。。和百度的前端开发职位的面试题如此相似
    zeal7s
        112
    zeal7s  
    OP
       2015-09-25 01:02:30 +08:00
    @menc 好吧,看来确实是基础太差。。。当年计算机网络考试考得很好,但是学完后过一段时间就记不清细节了
    zeal7s
        113
    zeal7s  
    OP
       2015-09-25 01:07:59 +08:00
    @DRcoding 回答的太好了!
    monkeylyf
        114
    monkeylyf  
       2015-09-25 01:23:12 +08:00
    还真把计算机科学当成科学了
    RiceNoodle
        115
    RiceNoodle  
       2015-09-25 02:30:09 +08:00
    个人感觉科班知识,和战斗力天花板的高度基本成正比。
    binux
        116
    binux  
       2015-09-25 02:45:18 +08:00   ❤️ 2
    基础就是那种,到真用到的时候,你根本不知道到哪去查;不,你压根都不知道有的那些东西。
    当然,大多数人不懂原理,照着教程也能模仿。
    bbx
        117
    bbx  
       2015-09-25 03:09:47 +08:00
    @binux 同意
    aa45942
        118
    aa45942  
       2015-09-25 03:11:13 +08:00
    5 道题,每题深挖都能出一套书(是一套不是一本←_←)
    题 1 :涉及 tcp/ip 、前端、后端开发
    题 2 :涉及 tcp/ip
    题 3 :主要涉及 ssl ,进一步又关系到 web 服务器与数据安全领域
    题 4 :粗浅来看是地址空间,深挖下去涉及到 CPU 架构、内存管理
    题 5 :这个主要涉及竞争冒险以及内存安全,往深处挖那就是操作系统原理了,是的你没看错就是操作系统,操作系统绝大部分代码都是为了在内核层解决这两个问题
    bbx
        119
    bbx  
       2015-09-25 03:15:15 +08:00
    有些算法,其实也不需要你会实现,但是至少要知道个大概吧。真正需要的时候,至少知道哪些情况下用什么算法。基础差的人,可能都没有听过一些算法,比如 kmp , connected-component, label-propagation 。这些都是基础吧。。
    aa45942
        120
    aa45942  
       2015-09-25 03:29:03 +08:00
    @bbx 你说的算法我一个也没听说过。。。。
    反正上面那 5 题随便哪题都能把我虐成狗
    学的越深入越发现自己什么都不知道
    太深入的东西最好是用到时才去学它,平时只需要遇到问题多思考,养成良好的习惯就行,毕竟人经历有限,老板也不会要求你必须掌握工作需要的所有知识技能,要的是你能在限定时间内解决问题
    bbx
        121
    bbx  
       2015-09-25 04:11:00 +08:00
    @aa45942 以上上过算法课,应该至少听过。。
    hitmanx
        122
    hitmanx  
       2015-09-25 10:37:25 +08:00   ❤️ 1
    @aa45942 我觉得你想的过于复杂了,这些都是基础题,不太可能会要求面试者说出实现背后的每一个细节,如果要求,那就不是一个 entry level 的 position 。面试官想确认的是面试者有这方面的基础,所以你要说出大概的理解,对整体有个概念即可。

    比如地址空间这题,根本不用涉及到 CPU 架构什么的,这个绝大多数人是不可能知道的。但是类似地址转换( MMU )、页表、 TLB 、逻辑地址、物理地址、段地址、偏移地址这些东西,任何一本操作系统的入门书里都会讲得很清楚。即使说不上名字,其大概的含义也差不多有个小小的印象。即使都说不上来,也可以简单说说例如“地址空间大概是为了保护每个进程私有的内存地址不受其他进程所影响,他们并不对应于真实的物理地址,两者之间的转换会由操作系统协同 cpu 进行完成。内存是以页为单位大小进行组织,还有个什么页表之类的数据结构用于维护和管理,但是具体细节我记不得了 云云”。一般情况下,这样也够了,面试官往往也只是希望有基本的概念而已。

    又如“浏览器中输入网址到得到网页的过程中发生了什么”,我觉得面试官更想知道的是关于计算机网络方面的基础知识,而不是具体前后端实现的方法,比如 HTTP 协议、 DNS 转换、 OSI 模型、 TCP 、 UDP 区别、怎样路由的之类。其实就那一本大家最看不上的最入门的教材《计算机网络》只用了一两百页,就把这个讲得清清楚楚。对于一般搞上层的人准备面试了解到这个程度就够了,有不懂的到时候在工作中现查现学就是了。
    aa45942
        123
    aa45942  
       2015-09-25 15:50:36 +08:00
    @hitmanx 吐个槽而已啊,要不要这么认真啊-_-||
    aa45942
        124
    aa45942  
       2015-09-25 15:52:14 +08:00
    @bbx 我没碰过算法,自己挖的坑太多,已经填不完了,不想再多挖一个大坑了
    pandachow
        125
    pandachow  
       2015-09-25 16:07:28 +08:00   ❤️ 1
    本来想给 LZ 推荐几本书和博客的,扫了一眼评论真是连推荐的心情都没了。

    为啥还有这么些人到处宣扬“算法无用论”,“基础知识无用论”,统一的潜台词“这些我都不会,会有什么用,我现在也活得挺好的嘛”。

    不是科班毕业根本不是关键好么,书就摆在那,公开课也都有,啥时候学都不晚。(说的好像科班毕业的人就肯定能答上来一样……

    吐槽一句,你不会你还有理了?
    liuhy1991
        126
    liuhy1991  
       2015-09-25 21:50:36 +08:00
    @pandachow 对于不想学的人,推荐了他们根本不在乎,但毕竟还是有想要好好学的人,拜托推荐一下吧。
    deepurple
        127
    deepurple  
       2015-09-25 21:53:16 +08:00   ❤️ 1
    @liuhy1991 前四个网络问题,只需要看《计算机网络——自顶向下方法》就可以了,都是非常基础的问题
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1003 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 22:19 · PVG 06:19 · LAX 14:19 · JFK 17:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.