-
三次握手、四次挥手
-
四层和七层网络模型及各层的作用
-
七层网络模型:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层
-
四层网络模型:网络接口层(物理层+链路层),网络层,传输层,应用层(会话层+表示层+应用层)
-
还有一个五层网络模型,即物理层,数据链路层,网络层,传输层,应用层
-
名称 | 作用 | 具体例子 |
---|---|---|
物理层 |
传输 0 和 1 的电路信号 |
通过网线、光缆等传输 0/1 电路信号 |
数据链路层 |
将数据封装成帧,管理数据传输链路 |
通过以太网,打包一个个数据包(对应一组组电路信号),包含标头(指定本机的 mac 地址和目标 mac 地址)和数据,在子网内比较 mac 地址确定目标计算机 |
网络层 |
划分子网、ip 寻址、路由跳转 |
在一个子网内,是通过数据链路层的交换机和目标 mac 地址就可以通信;而不同的子网,则需要通过 ip 地址和路由器来实现跨子网通信 |
传输层 |
建立、管理端到端的连接 |
不同的应用占用不同的端口进行通信,通过 tcp/udp 协议在数据包中加入端口号,实现端口到端口的连接 |
应用层(将会话,表示,应用三层合成一层) |
一系列为应用程序提供服务的协议 |
针对不同的应用,定义不同的协议,如邮件的 smtp,网页的 http |
-
kafka
-
项目中为何选择Kafka
-
消息队列的优缺点
-
Kafka如何保证数据时序性
-
kafka如何保证数据不丢
-
如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决?
-
如何设计一个消息队列(模仿kafka的实现,说出大致意思即可)
-
-
你有什么优点,缺点?
-
项目里最成功的地方/失败的地方?
-
印象最深的一次 debug
-
这两年(上一家公司)有什么收获、成长?经验、教训?
-
你有什么问题需要问我的?
一面:当初来这里是怎么考虑的
二面:如果过来,会给我安排做什么方向;对这块的规划,有什么难点和挑战
三面:小组怎么分工,对前景的理解
HR:晋升体制、福利待遇、技术成长
面试前要过一遍内容,并且要自我回答如下几个问题:
-
为什么写博客?
-
对实际工作有什么帮助,例子?
-
读 Go 源码有什么收获,体会? 杨文-《Go 夜读分享》:https://docs.google.com/presentation/d/1-OPi5xZRm-RSnpDrT-6SdGF6srccqejkhYJrxwf278Q/edit#slide=id.p
寻找开源软件的优点,不要盯着缺点,caoz的梦呓。比如曹大说的可以学到无锁化编程的技巧。