1
virusdefender 2015-04-05 02:00:55 +08:00
上面的问题一个都不会了,现在还比较熟悉的就只有三次握手和http协议了==
|
2
sumhat 2015-04-05 02:01:48 +08:00 via iPhone
工作了七年的码农对上述问题依然不知
|
3
typcn 2015-04-05 02:10:32 +08:00 2
程序员也分很多种啊。。。
|
4
cosmosz 2015-04-05 02:17:40 +08:00
面试什么职位要这些知识?
|
5
jiang42 2015-04-05 02:31:02 +08:00
程序员分很多种 +1.。。。
|
6
wind3110991 2015-04-05 02:35:32 +08:00
第一个ARP原理可以简单回答下嘛~
第二个不应该不知道啊 = =这个是关于TCP的缓存机制。 你dumptcp下,会看到一个win 字段数据,这就是窗口,可以告诉对方我现在缓存区的大小那么大,你不要发送超过这个大小的数据包过来 第三个= =不知道也正常吧,穿透这个概念教材里也少讲到,感觉最多和面试官吹下NAT = = |
7
dreamtrail 2015-04-05 03:18:19 +08:00
这种东西要用的时候查一下就行了嘛
|
8
Andiry 2015-04-05 03:32:26 +08:00
这有啥意义?不是每个程序员都会和网络打交道
|
9
zerh925 2015-04-05 04:03:22 +08:00 via iPhone
不赞同楼主的想法
|
10
ffffwh 2015-04-05 04:31:26 +08:00
你问的没什么意义
我看应该问问路由算法 |
11
Septembers 2015-04-05 05:10:52 +08:00 via Android
起码知道OSI模型和各层主要协议名就足够了 不奢望
|
12
helloworld00 2015-04-05 06:02:20 +08:00
2. TCP如何作flow control
用token的release速率来控制flow的速度。。。? |
13
lijingyu68 2015-04-05 07:00:51 +08:00 via iPhone
前端表示每次遇到网络问题都让后端先看看~自己查资料的速度显然不如问专门做网络相关的人来得快,何必浪费时间
|
14
leopard080264 2015-04-05 07:44:18 +08:00 via iPad
new grad指本科生还是硕士生?
|
15
zts1993 2015-04-05 08:04:10 +08:00 via Android
不懂楼主要招做什么的程序员
|
16
invite 2015-04-05 08:17:46 +08:00
2. TCP如何作flow control 这样的问题,就不是一般网络技术人员能回答的了。
|
17
mringg 2015-04-05 08:21:46 +08:00 via Android
你改招网络工程师得了
|
18
geeti OP @helloworld00 sliding window啊,tcp的header里有一个byte是记录这个的
|
20
billcamel 2015-04-05 08:47:40 +08:00
最讨厌这种拿着书本上的东西面试的人了。面试是为了考察一个人得聪明程度,解决问题的能力。
|
21
ashong 2015-04-05 09:02:56 +08:00 via iPhone 1
只能说lz恰巧懂得这些,就认为别人也该懂。
程序员重要的是思维逻辑,和查找资料的能力以及学习能力,需要的知识都可以随时查资料掌握 |
22
lanbing 2015-04-05 09:07:40 +08:00
你说的我不懂。。但是我认为别人懂的你也不一定就懂。。。每个人都有自己的领域。。
|
23
taozhi8833998 2015-04-05 09:22:43 +08:00
硕士生表示知道的也不是很清楚
|
24
DRcoding 2015-04-05 09:23:08 +08:00
很讨厌 中文 夹着一堆英文,能好好写中文?
|
25
RIcter 2015-04-05 09:35:05 +08:00 6
1. 简述一下 ARP 攻击的原理;
2. 简述常见 WAF 的工作原理以及 bypass 技巧; 3. 为什么不推荐自己创造加密算法(不是实现),如:md5(bcrypt(xxx)) 感想,不了解网络安全、密码学基础知识的人不是好码农_(:3」∠)_ |
26
li24361 2015-04-05 09:37:45 +08:00
我觉得吧,好的面试官一般都是根据职位,先问下基本知识,即能不能创造产值,然后会聊聊项目,看看经验,接着引导讨论下研究的东西,看看面试者的广度和深度,这样就能判断基本水平了
|
28
juicy 2015-04-05 09:47:19 +08:00 2
总结来说,面试就是找有缘人
|
29
RIcter 2015-04-05 09:55:41 +08:00
|
30
thesunfei 2015-04-05 09:58:44 +08:00
知道这个有啥用?
|
31
est 2015-04-05 10:01:52 +08:00 via Android
第二个题直接说 这得看你用的什么流控算法 喷回去
|
32
Septembers 2015-04-05 10:12:32 +08:00 via Android
@RIcter 不得当的处理会降低密码学安全性
|
35
geeti OP @billcamel 聪明人和优秀的人是有交集的两个不同集合。有很多聪明人实际碌碌无为,而很多优秀的人也不是很聪明。
面试当然是要既考虑到基础(知识广度,深度),又考虑到创造性(算法,方案解决)。 |
39
Biwood 2015-04-05 10:40:57 +08:00
对于做网络安全的且技术偏底层的码农来说,这些知识还是比较重要的,对于一般的Web程序员,这些能算是加分项吧
|
40
thedarkside 2015-04-05 10:44:01 +08:00
当个程序员真累~~楼主开始可没说招聘的职位是OS kernel dev~~~
|
41
xxer 2015-04-05 10:59:05 +08:00 via Android
专精一方面即可
|
42
soba 2015-04-05 11:06:43 +08:00
很多人活着就是为了把简单事情搞复杂把别人搞晕
一辈子搞不出个正经东西 |
43
binux 2015-04-05 11:09:53 +08:00 3
|
45
pinepara 2015-04-05 11:49:01 +08:00
全不记得,so what?
|
46
lincanbin 2015-04-05 11:53:07 +08:00
想问一下楼主:你实际工作中用到过以上知识吗?
你问这些,在我看来不如问:如何利用HTTP协议的Header作完整性校验——这个实用性可能还强一些。 |
47
lguan 2015-04-05 12:03:34 +08:00
不提职位就直接得到这种最后的这种结论,也太武断了点,唉,不是一个好码农的路过
|
48
goophy 2015-04-05 12:17:46 +08:00
额,六轮面试 -_-!
|
49
cloudqq 2015-04-05 12:23:19 +08:00
出题的人很武断,只可能找到自己志趣相投的。
|
50
xjliao 2015-04-05 12:23:40 +08:00
问的有意义嘛?你确定你招的是程序员? 还是想装装逼用的?我只想说呵呵了, 请问楼主Linux的进程之间是如何通讯的? 请把红黑树写出来吧, 楼主, 不会, 去查吧.
|
51
belin520 2015-04-05 12:36:03 +08:00 via Android
面试是靠缘分的。
|
52
jyootai 2015-04-05 13:01:45 +08:00
我想LZ是面试网络工程师,祝LZ好运
|
53
mhycy 2015-04-05 13:04:55 +08:00 2
@geeti
第一个 ARP应答,无故ARP 第二个 TCP流控 第三个 UDP穿透 都能直译出来的东西有必要写英文么? 除了gratuitous arp都是有标准翻译的东西。。。 其中第二条,依据不同的算法控制有不同的控制依据,发包模式。 不指出面试者怎么知道你问的是啥?简简单单回答一个滑动窗口就能过关? 那个窗口基于什么控制的需要回答么? 第三个你让人家写个DEMO,上机么?给开发环境么?给远端服务器做调试环境么? 要是纸上写你打算给多少草稿纸?还是说简述原理就行了? 即便是内核工程师,不是网络方向的根本搞不到这块吧? 你说程序员应该懂网络基础,是不是太武断了些? 另外你这些也不是基础啊。。。 |
54
soba 2015-04-05 13:05:22 +08:00 4
lz懂茴字八种写法吗
|
55
ianisme 2015-04-05 13:15:50 +08:00
其实不用问得太深,问问他经常逛的论坛就行了
|
56
xmbaozi 2015-04-05 13:34:06 +08:00 via Android
只知道滑动窗口机制。
明明很很好的中文翻译,为啥要夹带英文 |
57
0987363 2015-04-05 13:51:07 +08:00
另我想起了网上流传的一个微信消息。。 一女海龟高管喷她下属。。。。
|
58
damngood 2015-04-05 13:54:44 +08:00
对于一般程序员来说, 你说的几个问题大概的东西应该还是要了解.
但是你说要熟悉到具体一来一回的流程, 甚至是对应内核里面的数据结构这些, 对于不是专业做网络这块的可能要求有点过高了. 现场来一个 hole punching demo 这种没必要吧. 能说说原理就好了吧. |
59
lilydjwg 2015-04-05 14:14:58 +08:00
哇擦,这么简单的问题!!
|
60
kaneg 2015-04-05 14:43:23 +08:00
这几个问题要看楼主期望答案有多全面和深入,如果只是要回答个大概,这个要求还是可以的。如果需要详细介绍里面的原理,估计真的是专门做这方面研究的人才行。
|
61
donkeylucky 2015-04-05 15:21:54 +08:00
@soba 有点这个味道
|
62
Kilerd 2015-04-05 15:39:24 +08:00
码了好几年,三个问题都答不出来,术业有专攻,这很正常吧。
除非是很NB的全栈咯 |
63
Actrace 2015-04-05 15:40:13 +08:00
面试就是找有缘人~这点没错的。
|
64
mthli 2015-04-05 15:59:44 +08:00 via Android
不知道...
|
65
picasso250 2015-04-05 16:02:06 +08:00
楼主是第一次面别人吗。。。。
|
66
shuiniushushu 2015-04-05 16:20:26 +08:00
只懂http协议,其他的都不懂。但是要用到可以马上学。
|
67
SmiteChow 2015-04-05 17:19:36 +08:00
没必要懂这么多,知道网络分层,基本的传输层和应用层协议就可以了。😃
|
68
sallowdish 2015-04-05 17:36:16 +08:00
@mhycy 接受教育不一样用的terminology自然不同,你翻译了我如果没看lz的能一一对应,还真不知道你在说的是什么。。至于是不是作为kerne dev需不需要知道先不论,但个人觉得算是基础,本科还没畢業的前两个都是秒答,networking的入门基础课都讲过。。
|
69
rocaltair 2015-04-05 17:40:30 +08:00
你去阿里网易随机找20个程序员来问,我可以保证2/3的人答不出来。我觉得面试这种事吧
1 对到口味了。你需要的技术他都有,善。要不给你找个核物理的博士,你也得哭。 2 聪明。这点很重要,我可以认为他是一张白纸,如果他有较强的分析能力、理解能力以及学习能力,我觉得他会不会什么我不是很在意,至少如果我是一家大公司,我不会在意。 3 学习态度以及工作态度。排除牛逼与否,这点很关键 第一点,不是什么时候都能碰上的,只能说更接近而已。所以很多时候我去面试别人,更多的是看第二点。至于第三点,再傻,肯努力肯学习总能教出来的。 |
70
wecan 2015-04-05 19:28:43 +08:00 via Android
楼主你这是找喷啊
|
71
crazyxin1988 2015-04-05 19:31:08 +08:00
@rocaltair 不能赞更多
老是挖掘应聘者的问题,LZ是不是也该思考一下自己的招聘思维也是否有问题 |
72
DennyDai 2015-04-05 19:59:37 +08:00
如果你非要这么做,招聘请加上要求CCNA
|
73
flynngao 2015-04-05 20:03:30 +08:00
现实工作需要两种能力我认为,构建的能力和分析解决问题的能力,然后知识是服务这两种能力的,知识是可以快速学习的,但是能力,不是
|
75
zeayes 2015-04-05 21:32:25 +08:00
六轮面试,神马公司,这么拽
|
76
gamexg 2015-04-05 21:58:51 +08:00
Gratuitous ARP 现查的,其他的只有大体印象了。
|
77
billwang 2015-04-05 22:38:50 +08:00
感觉楼主问的这些网络知识不是懂点的层面了。
|
78
e1eph4nt 2015-04-05 23:10:52 +08:00 1
同意楼主,在这个跟贴里深深感觉到了拿无知当自豪的氛围。。。
|
79
des 2015-04-05 23:52:07 +08:00
看成“当程序员应该少懂点网络知识”
|
80
liruqi 2015-04-06 00:04:55 +08:00
很好奇你们是哪家公司。不方便说,说多少人也行。
|
81
yangff 2015-04-06 00:08:34 +08:00 via Android
sigh
|
82
jedihy 2015-04-06 00:21:41 +08:00
@geeti TCP Header里面的window是通告窗口,advertise window,不是sliding window。这个字段是16位的=2个byte。
如果没有中间公网主机,UDP穿墙基本穿不了。 这些东西对于OS kernel dev 确实是需要知道的。 |
83
Andiry 2015-04-06 00:30:33 +08:00
@sallowdish 本科都没毕业当然是秒答了,等你工作个几年再来回答试试。
|
84
sinxccc 2015-04-06 00:41:24 +08:00
常年工作在二层三层的路由器码工表示问题 2 和 3 都得先想想才能回答,而且把握也不是十足╮(╯_╰)╭
|
89
jarlyyn 2015-04-06 02:47:04 +08:00
|
90
JackWindows 2015-04-06 03:07:23 +08:00 via iPad
我觉得都挺简单啊,我本科刚毕业,数学系的,这些知识都是平时看着玩学来的。我大一的时候学过ccna,但是现在证书已经过期了,而且我认为ccna学到的内容根本不足以回答这三个问题;ccna是以配思科交换机为主的,真正的计算机网络还是要靠自己学。
1. arp原理就是第一次找人的时候喊一句人名,然后那个人就跑出来应答一下嘛 2. tcp流控就是靠window机制嘛,window决定单次连续传输的数据量,一开始挺小,然后指数增加,遇到丢包之后减半,最后进入线性增长模式。当然这是标准的拥塞控制,还有其他各种变种。 3. udp协议的nat打洞很简单啊,预测下nat src port增长规则就好了啊,比如iptables的默认nat规则是下一条流映射到的src port加1,知道这个之后让另一方直接往预测的端口发包就可以了。当然这个还跟不同的nat实现有关,nat根据实现还分很多种模式,最难打洞的应该算是symmetry的吧。 |
91
q397064399 2015-04-06 08:07:19 +08:00 via Android 1
1.arp属于二层协议,不涉及相关网络开发,二层根本无需了解,osi还分了7层,实际上只有4层协议,给应用程序程序员用的就是tcp udp,你招个javaee 然后说 我们要你精通 tcp/ip协议,这tm是扯犊子
2.tcp window 大小 不学网络工程相关的基本上不知道 3.nat穿透 不同的类型nat完全不一样 |
92
xiparos 2015-04-06 08:11:24 +08:00
程序员也分很多种 +1
|
93
geeti OP @jarlyyn 真服了。有什么关系么?题又不是我出的,只是我随机从题库指定给我的category里挑。我觉得挺基础,但面试的人却完全不懂,感慨一下咋了?公司所有员工(入职1年以上)每天半小时属于面试时间。
|
95
coolcfan 2015-04-06 09:08:25 +08:00
一直看到 OS Kernel Dev 才明白……
建议补充一下,把职位写上…… |
96
fgwww 2015-04-06 09:13:16 +08:00 via iPad
不会面试就别面试了。就跟去问java程序员c++模版差不多的感觉
|
97
deepreader 2015-04-06 10:28:55 +08:00
作为一个new grad,我就是来长下见识而已。
|
98
fullstack0xyz 2015-04-06 11:22:54 +08:00
做底层的对网络不应该很熟悉么
非科班的野生web程序员,大概翻过(没看完)TCP/IP详解卷一,自顶向下计算机网络,第三个问题答不上,前两个还是能扯到点上。 另外,夹杂点专业术语名词也没啥问题吧,难道问你http协议的时候说,来给我讲讲“超文本传输协议”? |
99
Andiry 2015-04-06 11:38:33 +08:00
OS kernel dev 应该了解的知识应该是内存管理,同步,调度,中断,驱动框架,文件系统,DMA,MMU/IOMMU这些吧。这么多方面的内容,随便问点什么也比什么http协议有用。
|