【面试真题】声网-第一轮面试复盘-2022年2月9日

〇、概述

1、面试时间

2022年2月9日 10:30-11:45

2、主要内容

(1)网络相关知识

(2)Linux与并发相关知识

(3)项目相关知识

(4)大数据相关知识

(5)其他

一、网络相关

1、访问www.baidu.com整个过程

(1)域名解析

寻找域名解析记录:浏览器DNS缓存、本地host文件、本地DNS缓存

客户端本地DNS解析:LDNS

请求外网DNS服务器:逐级寻找各层的服务器ip给LNDS

(2)【在应用层】与目的主机建立TCP连接-三次握手

 

 

(3)发送HTTP请求进行数据传输与接收

发送get/post方法报文

回传HTML数据

浏览器解析并展示

2、只能通过ip地址唯一标识服务吗

IP地址由32位(共四个八位组)的二进制组成

便于传输,且能唯一标识

3、OSI七层模型与TCP/IP四层模型

(1)OSI七层模型

物理层:底层数据传输,如网线;网卡标准。
数据链路层:定义数据的基本格式,如何传输,如何标识;如网卡MAC地址。
网络层:定义IP编址,定义路由功能;如不同设备的数据转发。
传输层:端到端传输数据的基本功能;如 TCP、UDP。
会话层:控制应用程序之间会话能力;如不同软件数据分发给不同软件。
表示层:数据格式标识,基本压缩加密功能。
应用层:各种应用软件,包括 Web 应用。-HTTP、DNS、FTP、SSH

(2)TCP/IP四层模型(2347)

4、ping访问哪一层

ping使用的是网络层的ICMP协议
ICMP协议是TCP/IP协议集中的一个子协议,属于网络层协议。

用的是ICMP协议,全称Internet Control Message Protocol,Internet控制消息协议。该协议用于在IP网络中发送控制消息,获取在通信环境中可能发生的各种问题的反馈。ICMP属于网络层协议,自然ping命令就在第三层。

5、HTTP和HTTPS访问哪一层

属于应用层协议

HTTPS 就是身披了一层 SSL 的 HTTP,基于TCP

6、ping不通,一定是服务器端的问题吗?如何配置

linux系统是否允许 ping是由两个因素决定的, 内核参数和防火墙, 两个因素同时允许时才能ping通

客户端可能原因:本地网络是否正常、远程连接数是否超出或未启用、密码或端口是否错误

服务端可能问题:服务器是否有问题、ip是否被封、防火墙是否屏蔽目标主机

7、iptables和防火墙了解过吗

iptables的前身叫ipfirewall,也就是防火墙

常用命令包括

(1)添加屏蔽IP

#禁止ip访问服务器

iptables -A INPUT -s 1.2.3.4 -j DROP
#禁止服务器访问此IP
iptables -A OUTPUT -d 1.2.3.4 -j DROP

(2)追加规则,设置只允许SSH22端口接收数据包,而不允许ping命令

# 1.清空所有iptables规则
iptables -F

# 2.接收目标端口为22的数据包
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT

# 3.拒绝所有其他数据包
iptables -A INPUT -j DROP

(3)删除规则

iptables -D INPUT -s 1.2.3.4 -j DROP :删除ip1.2.3.4来源的封禁策略

按规则删除

删除所有:iptables -F

二、Linux与并发相关

1、如何查看进程

ps:显示当前控制台下属于当前用户的进程

语法不同的两种方式:

ps aux:简单列表查看所有运行中的进程占用信息,可以利用grep管道搜索

ps -ef:系统所有e进程的扩展f输出(cmd命令),与上面的区别只是有无cmd列

top:监控linux的系统状况,实时显示进程的动态

2、jps和ps有何区别

ps是Process Status,表示所有进程的状态

jps是java的进程

3、如何查看端口对应的服务

方法1:netstat -lntup|grep 873,查看端口开放情况

方法2:lsof -i :22,“列出打开文件(lists openfiles)”,查看进程、文件、端口……

4、进程与线程的区别

进程:是程序运行和资源分配的基本单位,一个程序至少有一个进程,一个进程至少有一个线程。进程在执行过程中拥有独立的内存单元,而多个线程共享内存资源,减少切换次数,从而效率更高。

线程:是进程的一个实体,是 cpu 调度和分派的基本单位,是比程序更小的能独立运行的基本单位。同一进程中的多个线程之间可以并发执行

5、如何查看进程内线程的占用量哪个最高

(1)使用top命令

top -p 173249

查看进程下的线程情况:top -H -p 450957

(2)使用ps命令查看

ps huH p  {PID}  | wc -l

三、项目相关

1、介绍一下项目的全局结构/实现功能

(1)数据查询:可以对Hive、Spark、Impala进行数据查询,实现编写SQL实现,并打印执行日志

(2)数据开发/仪表盘:可以查看各任务的执行状态

(3)日志数据通道:通过web实现增删改查topic等信息

(4)资源集市:配置业务表,实现资源集市,为用户分配项目、资源

(5)业务运维与告警:查看集群状况、任务数量,并能够添加告警

2、多租户和权限认证如何实现

SASL

 

四、大数据相关

1、kafka的架构

 

2、leader和follows如何进行数据同步,是拉取还是推送

follower(一个follower相当于consumer)主动从leader批量拉取消息

kafka是由follower周期性或者尝试去pull(拉)过来(其实这个过程与consumer消费过程非常相似),

3、kafka的qps有多大

 

4、kafka的多租户和acl配置过程

 

5、kafka的resign命令的使用场景

 

6、ISR队列中,何时follower跟不上,出现场景

 

7、ClickHouse是安装的集群吗还是local,是如何安装的

 

8、介绍一下ClickHouse的结构、引擎

合并树

9、ClickHouse底层是如何存储的

顺序写

五、其他

1、介绍下自己做过的项目

 

2、介绍下实习过程中所做的工作

 

3、反问1:工作岗位开发占比,主要负责内容

 

4、反问2:声网音视频实时API主要实现功能,具体讲解,底层实现过程

 

posted @ 2022-02-09 12:10  哥们要飞  阅读(113)  评论(0编辑  收藏  举报