面试的时候考 TCP 三次握手/四次挥手这个问题的价值在哪里?

2019-08-18 22:51:08 +08:00
 VDimos

如题。 现在的互联网公司面试,都喜欢提一个 TCP 三次握手 /四次挥手的问题。可是这种问题且不说以后是否能不能用到,也不提记忆留存率有多高,光网上搜索“面试题”基本都能看到这个问题。那么面试官没考虑过这个问题吗?面试者很容易就能猜到这个面试题,也能随便从网上搜到答案对答入流。 如果想考察 TCP 的问题,这个问题光问三次握手 /四次挥手几乎没什么价值,更多的核心知识比如 TCP 数据报组成、TCP 慢启动 /拥塞避免 /快速传输 /快速恢复 /窗缓存等等等等,更能考察面试者对 TCP/IP 协议的了解程度。 如果是想考察对网络的了解,那这个范围就更大了,三次握手这种问题完全问来无意义。 如果想考察面试者的见识,那么这个问题似乎更没价值了,因为这个问题几乎都被问烂了,似乎成为共识了。 所以,是不是说,大家的面试题很大程度上都开始趋同了?还是说,这些面试官的思维固化了?或者说句比较冒犯的话,面试者的技术不高?(可是国内大公司也喜欢问)

5574 次点击
所在节点    问与答
26 条回复
ZRS
2019-08-18 23:01:18 +08:00
正如你说既然是一道烂大街的题,为什么不拿来考呢?就是考基础啊,而且真的有效。

我前天接到的一个电话问题:TIME_WAIT 出现在 TCP 连接的什么状态下,为什么要这么做,要等多久

同样是考挥手,我觉得就是很合适的一道题
butterflydog
2019-08-18 23:05:12 +08:00
@ZRS 然后是不是就是怎么配置调优(手动滑稽)
ZRS
2019-08-18 23:07:16 +08:00
@butterflydog 倒没有...问完这个就问别的了
mhycy
2019-08-18 23:10:51 +08:00
考基础的题,就看对 TCP 了解有多少了,免得闹出个“粘包”笑话

TCP 还有这类看起来简单实际回答巨麻烦的题目
“ A、B 机器正常连接后,B 机器突然重启,问 A 此时处于 TCP 什么状态 ”

之前写了个回答
https://github.com/Advanced-Frontend/Daily-Interview-Question/issues/21#issuecomment-518486351
0ZXYDDu796nVCFxq
2019-08-18 23:12:13 +08:00
就跟高考要考三角函数一样
另外好的面试官会追问的,背题就露馅了
singerll
2019-08-18 23:12:34 +08:00
我见过有的研发甚至不知道七层和四层是啥。接个负载均衡都不知道该怎么沟通
iwtbauh
2019-08-18 23:16:59 +08:00
@mhycy #4

你这是宕机,不是重启。重启之前系统会关闭已建立的 TCP 连接。
misaka19000
2019-08-18 23:20:22 +08:00
因为面试官只知道三次握手
mhycy
2019-08-18 23:24:16 +08:00
@iwtbauh 意外重启并不会
poplar50
2019-08-18 23:28:45 +08:00
就单纯属于面试开场题 你肯定会 暖个场
zsdsz
2019-08-18 23:34:55 +08:00
想试试你的武功如何 当然要先试试内力啊 不能单看招式
gbin
2019-08-18 23:36:00 +08:00
因为如果国内的大厂也像北美大厂那样单纯考算法和设计,估计人都找不到,只能考一些稍微需要花时间去掌握的基础,不至于太难,也不至于太简单。
gamexg
2019-08-19 00:06:36 +08:00
由浅入深一步一步来了解面试者实际面试速度更快

如果连这个回答错误,那么慢启动等可以不用问了,证明 tcp 协议完全不了解。
如果会,那么继续深入,可以一步一步的确定对方了解的内容。

反过来,
如果开始就问高难度的,
那么你不好分辨正好没了解这部分、用的不多忘记了还是 tcp 完全不了解?
还需要再转回三步握手确认。
CEBBCAT
2019-08-19 02:59:22 +08:00
我也觉得是分层次递进地问。考察的目的不是考倒,是考验
chibupang
2019-08-19 03:08:54 +08:00
chibupang
2019-08-19 03:11:35 +08:00
一上来就问 Paxos,手写 LRU 红黑树那后面问啥呀?
ericbize
2019-08-19 07:20:21 +08:00
之前我也觉得没什么用, 直到上次网络出现问题, 我领导 用 Wireshark 分析包, (没有基础,你连三次握手都不会分析好吗)
HuHui
2019-08-19 08:06:33 +08:00
有一部分是用来区分科班和非科班的
murmur
2019-08-19 08:28:53 +08:00
有些游戏公司不用标准 TCP,会用那种介于 UDP 和 TCP 之前的自定协议提升并发,但是绝大多数还是只是为了筛人
whywhywhy
2019-08-19 08:43:31 +08:00
工作用什么,将来用什么,就问什么好了。

面试造航母,进去拧螺丝都没资格,只能天天擦桌子,问些工作上用不到的东西,有啥意义呢,结果一群人专门为了“面试”而努力。

面向面试编程。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/592971

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX