头条面经
职位
后台开发
一面
-
-
一个进程,有10个子进程,那么一个子进程fork一个子进程,那么这个子进程有多少个进程。
-
物理地址和虚地址
-
http传入的Request和返回的Response
-
503和500区别。301和302区别
-
http close-wait状态
-
滑动窗口和TCP流量控制
-
如果滑动窗口为0,则怎么办
-
buffer和cacahe区别
-
Redis集群搭建
-
添加一个节点如何分配槽(说详细具体过程)
-
有两种状态。
-
源节点:MIGRATING状态 目标节点:IMPORTING状态
-
源节点:获得最多count个属于槽slot的键值对的键名。将被选中的键原子地从源节点迁移至目标节点
-
-
迁移slot的过程中,我get或者set怎么办?
-
当客户端向A请求插槽0中的键时,如果键存在(即尚未迁移),则正常处理,如果不存在 ,则返回一个ASK跳转请求,告诉客户端这个键在B里。客户端接收到ASK跳转请求后,首先向B发送ASKING命令,然后再重新发送之前的命令。相反,当客户端向B请求插槽0中的键时,如果前面执行了ASKING命令,则返回键值内容,否则返回MOVED跳转请求,这样一来客户 端只要能够处理ASK跳转,则可以在数据库迁移时自动从正确的节点获取到对应的键值,避免了键在迁移过程中临时”丢失”的问题。
-
-
Redis 10W的QPS瓶颈点在哪里
-
一个上T的文本文件,里面很多字符串并且用空格分隔,找到不同的字符串数量
难度是真的很大