![]() | 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 ![]() 程序员也分很多种啊。。。 |
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 ming2050 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 ![]() 只能说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 ![]() 1. 简述一下 ARP 攻击的原理; 2. 简述常见 WAF 的工作原理以及 bypass 技巧; 3. 为什么不推荐自己创造加密算法(不是实现),如:md5(bcrypt(xxx)) 感想,不了解网络安全、密码学基础知识的人不是好码农_(:3」∠)_ |
![]() | 26 north521 2015-04-05 09:37:45 +08:00 我觉得吧,好的面试官一般都是根据职位,先问下基本知识,即能不能创造产值,然后会聊聊项目,看看经验,接着引导讨论下研究的东西,看看面试者的广度和深度,这样就能判断基本水平了 |
![]() | 28 juicy 2015-04-05 09:47:19 +08:00 ![]() 总结来说,面试就是找有缘人 |
![]() | 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 ![]() |
![]() | 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 icanfork 2015-04-05 12:36:03 +08:00 via Androd 面试是靠缘分的。 |
![]() | 52 jyootai 2015-04-05 13:01:45 +08:00 我想LZ是面试网络工程师,祝LZ好运 |
![]() | 53 mhycy 2015-04-05 13:04:55 +08:00 ![]() @geeti 第一个 ARP应答,无故ARP 第二个 TCP流控 第三个 UDP穿透 都能直译出来的东西有必要写英文么? 除了gratuitous arp都是有标准翻译的东西。。。 其中第二条,依据不同的算法控制有不同的控制依据,发包模式。 不指出面试者怎么知道你问的是啥?简简单单回答一个滑动窗口就能过关? 那个窗口基于什么控制的需要回答么? 第三个你让人家写个DEMO,上机么?给开发环境么?给远端服务器做调试环境么? 要是纸上写你打算给多少草稿纸?还是说简述原理就行了? 即便是内核工程师,不是网络方向的根本搞不到这块吧? 你说程序员应该懂网络基础,是不是太武断了些? 另外你这些也不是基础啊。。。 |
54 soba 2015-04-05 13:05:22 +08:00 ![]() 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 ![]() 同意楼主,在这个跟贴里深深感觉到了拿无知当自豪的氛围。。。 |
![]() | 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.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协议有用。 |