【面试真题】声网-第一轮面试复盘-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主要实现功能,具体讲解,底层实现过程
本文来自博客园,作者:哥们要飞,转载请注明原文链接:https://www.cnblogs.com/liujinhui/p/15874489.html