楼主今天满怀信心地参加一个小公司的面试, entry-level 码农的职位,有一种瞬间被轰成渣的感觉。。。
问题不难,只能怪自己平时基础不牢。
1. 简述从浏览器中输入网址到得到网页的过程中发生了什么
2. DNS 是如何将 url 转化成 ip address 的?简述其缓存机制
3. http 和 https 的区别?通过 http 和 https 两种方式请求网页中间发生了什么?
4. 虚拟地址空间是什么?
5. 进程间通信的方法?共享内存是什么?
基本上这些问题楼主只知道一个大概,真要深究的话完全就答不上来了,我想主要原因是这些知识点不太经常涉及到。问下各位平时是如何积累这些知识的? THX
101
bleaker 2015-09-24 19:00:52 +08:00
感觉科班出身的都能随意答出来吧。。课后作业题的感觉。。
|
102
lyd0n 2015-09-24 19:50:34 +08:00
@inFinityzc 昨天刚补考完计算机网络。。。
|
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 操作系统和计算机组成的基础知识 |
104
breeswish 2015-09-24 21:25:27 +08:00
4 、 5 不是大学里操作系统课程必须掌握的知识嘛…那些大学时靠死记硬背的想必面试时候不准备是会忘得差不多了…
1 、 2 、 3 要说深了可以很深,我觉得面试官应该只是期望知道个原理吧,反正很多人就是不知道原理 |
105
rainmakeroly 2015-09-24 21:32:33 +08:00
@menc 不如直接说: apue 和 http 权威指南 就 game over 。楼主还是做或者展示项目吧。至少应该不会问这种理解和概念性的。
|
106
msg7086 2015-09-24 21:49:23 +08:00
entry level 本来就没指望你回答到多深啊。要是你都深入浅出地答上来了,你还去 entry level ?
|
107
danny200309 2015-09-24 21:55:23 +08:00
问这种问题跟实际工作有半毛钱关系?
|
108
az 2015-09-24 21:58:58 +08:00
这问题,我还真答不出来。但是,答出来,顶个屁用。
|
109
f0rger 2015-09-24 22:25:17 +08:00
前端么?这些问题一般是作为前端普通研发的面试题。
简单答就可以过 深入的话,每个都是一个课题 |
110
vibbow 2015-09-24 22:31:23 +08:00
感觉好简单的问题的啊...
|
111
chenpanxin 2015-09-24 22:55:36 +08:00
竟然。。和百度的前端开发职位的面试题如此相似
|
114
monkeylyf 2015-09-25 01:23:12 +08:00
还真把计算机科学当成科学了
|
115
RiceNoodle 2015-09-25 02:30:09 +08:00
个人感觉科班知识,和战斗力天花板的高度基本成正比。
|
116
binux 2015-09-25 02:45:18 +08:00 2
基础就是那种,到真用到的时候,你根本不知道到哪去查;不,你压根都不知道有的那些东西。
当然,大多数人不懂原理,照着教程也能模仿。 |
118
aa45942 2015-09-25 03:11:13 +08:00
5 道题,每题深挖都能出一套书(是一套不是一本←_←)
题 1 :涉及 tcp/ip 、前端、后端开发 题 2 :涉及 tcp/ip 题 3 :主要涉及 ssl ,进一步又关系到 web 服务器与数据安全领域 题 4 :粗浅来看是地址空间,深挖下去涉及到 CPU 架构、内存管理 题 5 :这个主要涉及竞争冒险以及内存安全,往深处挖那就是操作系统原理了,是的你没看错就是操作系统,操作系统绝大部分代码都是为了在内核层解决这两个问题 |
119
bbx 2015-09-25 03:15:15 +08:00
有些算法,其实也不需要你会实现,但是至少要知道个大概吧。真正需要的时候,至少知道哪些情况下用什么算法。基础差的人,可能都没有听过一些算法,比如 kmp , connected-component, label-propagation 。这些都是基础吧。。
|
120
aa45942 2015-09-25 03:29:03 +08:00
@bbx 你说的算法我一个也没听说过。。。。
反正上面那 5 题随便哪题都能把我虐成狗 学的越深入越发现自己什么都不知道 太深入的东西最好是用到时才去学它,平时只需要遇到问题多思考,养成良好的习惯就行,毕竟人经历有限,老板也不会要求你必须掌握工作需要的所有知识技能,要的是你能在限定时间内解决问题 |
122
hitmanx 2015-09-25 10:37:25 +08:00 1
@aa45942 我觉得你想的过于复杂了,这些都是基础题,不太可能会要求面试者说出实现背后的每一个细节,如果要求,那就不是一个 entry level 的 position 。面试官想确认的是面试者有这方面的基础,所以你要说出大概的理解,对整体有个概念即可。
比如地址空间这题,根本不用涉及到 CPU 架构什么的,这个绝大多数人是不可能知道的。但是类似地址转换( MMU )、页表、 TLB 、逻辑地址、物理地址、段地址、偏移地址这些东西,任何一本操作系统的入门书里都会讲得很清楚。即使说不上名字,其大概的含义也差不多有个小小的印象。即使都说不上来,也可以简单说说例如“地址空间大概是为了保护每个进程私有的内存地址不受其他进程所影响,他们并不对应于真实的物理地址,两者之间的转换会由操作系统协同 cpu 进行完成。内存是以页为单位大小进行组织,还有个什么页表之类的数据结构用于维护和管理,但是具体细节我记不得了 云云”。一般情况下,这样也够了,面试官往往也只是希望有基本的概念而已。 又如“浏览器中输入网址到得到网页的过程中发生了什么”,我觉得面试官更想知道的是关于计算机网络方面的基础知识,而不是具体前后端实现的方法,比如 HTTP 协议、 DNS 转换、 OSI 模型、 TCP 、 UDP 区别、怎样路由的之类。其实就那一本大家最看不上的最入门的教材《计算机网络》只用了一两百页,就把这个讲得清清楚楚。对于一般搞上层的人准备面试了解到这个程度就够了,有不懂的到时候在工作中现查现学就是了。 |
125
pandachow 2015-09-25 16:07:28 +08:00 1
本来想给 LZ 推荐几本书和博客的,扫了一眼评论真是连推荐的心情都没了。
为啥还有这么些人到处宣扬“算法无用论”,“基础知识无用论”,统一的潜台词“这些我都不会,会有什么用,我现在也活得挺好的嘛”。 不是科班毕业根本不是关键好么,书就摆在那,公开课也都有,啥时候学都不晚。(说的好像科班毕业的人就肯定能答上来一样…… 吐槽一句,你不会你还有理了? |