Linux 面试题-(腾讯,百度,美团,滴滴)

2023-10-26

Linux 面试题-(腾讯,百度,美团,滴滴)

分析日志t.log(访问量),将各个ip 地址截取,并统计出现次数,并按从大到小排序(腾讯)

http://192.168.200.10/index1.html
http://192.168.200.10/index2.html
http://192.168.200.20/index1.html
http://192.168.200.30/index1.html
http://192.168.200.40/index1.html
http://192.168.200.30/order.html
http://192.168.200.10/order.html
答案: cat t.txt | cut -d ‘/’ -f 3 | sort | uniq -c | sort -nr

统计连接到服务器的各个ip 情况,并按连接数从大到小排序(腾讯)

netstat -an | grep ESTABLISHED | awk -F " " ‘{print $5}’ | cut -d “:” -f 1 | sort | uniq -c| sort -nr

在这里插入图片描述

问题:如忘记了mysql5.7 数据库的ROOT 用户的密码,如何找回? (滴滴)

  1. 修改 vim /etc/my.cnf

在这里插入图片描述

  1. 添加一句话 跳过权限表 skip -grant -tables 这就意味这你登录的时候不走认证所以空密码也可以登录

  2. 重启 数据库 mysqld restart 这样刚刚配置的才会生效

在这里插入图片描述

  1. 登录 mysql -u root -p

在这里插入图片描述

  1. 不输入密码直接回车

  2. 查看所有的数据库
    在这里插入图片描述

  3. 使用 mysql数据库

在这里插入图片描述

  1. 看看有哪些表

在这里插入图片描述

在这里插入图片描述

  1. 使用user表 查看这个字段
    在这里插入图片描述

  2. 修改这个字段 打马赛克的是自己设的密码

在这里插入图片描述

  1. 刷新权限 flush privileges;

在这里插入图片描述

  1. 退出
    在这里插入图片描述

  2. 再打开vim /etc/my.cnf

  3. 注销第2步的跳过权限认证

在这里插入图片描述

  1. 重启

在这里插入图片描述

写出指令:统计ip 访问情况,要求分析nginx 访问日志(access.log),找出访问页面数量在前2 位的ip(美团)

cat access.log | awk -F " " ‘{print $1}’ | sort | uniq -c | sort -nr | head -2

使用tcpdump 监听本机, 将来自ip 192.168.200.1,tcp 端口为22 的数据,保存输出到tcpdump.log , 用做将来数据分析(美团) >>

在这里插入图片描述

tcpdump -i ens33 host 192.168.200.1 and port 22 >> /home/tcpdump.log

常用的Nginx 模块,用来做什么(头条)

rewrite 模块,实现重写功能

access 模块:来源控制

ssl 模块:安全加密

ngx_http_gzip_module:网络传输压缩模块

ngx_http_proxy_module 模块实现代理

ngx_http_upstream_module 模块实现定义后端服务器列表

ngx_cache_purge 实现缓存清除功能

如果你是系统管理员,在进行Linux 系统权限划分时,应考虑哪些因素?(腾讯)

  1. 首先阐述Linux 权限的主要对象

在这里插入图片描述

  1. 根据自己实际经验谈考虑因素
    注意权限分离,比如: 工作中,Linux 系统权限和数据库权限不要在同一个部门
    权限最小原则(即:在满足使用的情况下最少优先)
    减少使用root 用户,尽量用普通用户+sudo 提权进行日常操作。
    重要的系统文件,比如/etc/passwd, /etc/shadow etc/fstab,/etc/sudoers 等,日常建议使用chattr(change attribute)锁定,需要操作时再打开。

使用SUID, SGID, Sticky 设置特殊权限。

可以利用工具,比如chkrootkit/rootkit hunter 检测rootkit 脚本(rootkit 是入侵者使用工具,在不察觉的建立了入侵系统途径)

利用工具Tripwire 检测文件系统完整性

在这里插入图片描述

权限操作思考题

  1. 用户tom 对目录/home/test 有执行x 和读r 写w 权限,/home/test/hello.java 是只读文件,问tom 对hello.java
    文件能读吗(ok)? 能修改吗(no)?能删除吗?(ok)

  2. 用户tom 对目录/home/test 只有读写权限,/home/test/hello.java 是只读文件,问tom 对hello.java
    文件能读吗(no)? 能修改吗(no)?能删除吗(no)?

  1. 用户tom 对目录/home/test 只有执行权限x,/home/test/hello.java 是只读文件,问tom 对hello.java 文件能读吗(ok)?能修改吗(no)?能删除吗(no)?
  1. 用户tom 对目录/home/test 只有执行和写权限,/home/test/hello.java 是只读文件,问tom 对hello.java
    文件能读吗(ok)? 能修改吗(no)?能删除吗(ok)?

问题:列举Linux 高级命令,至少6个(百度)

netstat //网络状态监控top //系统运行状态lsblk //查看硬盘分区find

ps -aux //查看运行进程chkconfig //查看服务启动状态systemctl //管理系统服务器

问题:Linux 查看内存、io 读写、磁盘存储、端口占用、进程查看命令是什么?(瓜子)

top, iotop, df -lh , netstat -tunlp , ps -aux | grep 关心的进程

使用Linux 命令计算t2.txt 第二列的和并输出(美团)

张三40

李四50

王五60

cat t2.txt | awk -F " " ‘{sum+=$2} END {print sum}’

Shell 脚本里如何检查一个文件是否存在?并给出提示(百度)

if [ -f 文件名] then echo “存在” else echo “不存在” fi

用shell 写一个脚本,对文本t3.txt 中无序的一列数字排序, 并将总和输出(百度)

9

8

7

6

5

4

3

2

10

sort -nr t3.txt | awk '{sum+=$0; print $0} END {print "和="sum}

请用指令写出查找当前文件夹(/home)下所有的文本文件内容中包含有字符“cat”的文件名称(金山)

grep -r “cat” /home |cut -d “:” -f 1

请写出统计/home 目录下所有文件个数和所有文件总行数的指令(在金山面试题扩展)

find /home/test -name "*.*" | wc -l
find /home/test -name "*.*" | xargs wc -l

列出你了解的web 服务器负载架构(滴滴)

Nginx

Haproxy

Keepalived

LVS

每天晚上10 点30 分,打包站点目录/var/spool/mail 备份到/home 目录下(每次备份按时间生成不同的备份包比如按照年月日时分秒)(滴滴)

在这里插入图片描述

如何优化Linux 系统, 说出你的方法(瓜子)

  1. 对Linux 的架构的优化,和原则分析(示意图)

在这里插入图片描述

  1. 对linux 系统本身的优化-规则
    (1) 不用root ,使用sudo 提示权限
    (2) 定时的自动更新服务时间,使用nptdate npt1.aliyun.com , 让croud 定时更新
    (3) 配置yum 源,指向国内镜像(清华,163)
    (4) 配置合理的防火墙策略,打开必要的端口,关闭不必要的端口
    (5) 打开最大文件数(调整文件的描述的数量) vim /etc/profile ulimit -SHn 65535
    (6) 配置合理的监控策略
    (7) 配置合理的系统重要文件的备份策略
    (8) 对安装的软件进行优化,比如nginx ,apache
    (9) 内核参数进行优化/etc/sysctl.conf
    (10) 锁定一些重要的系统文件chattr /etc/passwd /ect/shadow /etc/inittab
    (11) 禁用不必要的服务setup , ntsysv

说明Centos7 启动流程,并说明和CentOS6 相同和不同的地方(腾讯)

在这里插入图片描述
在这里插入图片描述

第一步、硬件启动阶段

这一步和CentOS6差不多,详细请看图

第二步、GRUB2引导阶段

从这一步开始,CentOS6和CentOS7的启动流程区别开始展现出来了。CentOS7的主引导程序使用的是grub2。

这一步的流程:显示加载两个镜像,再加载MOD模块文件,把grub2程序加载执行,接着解析配置文件/boot/grub2/grub.cfg,根据配置文件加载内核镜像到内存,之后构建虚拟根文件系统,最后转到内核。

第三步、内核引导阶段

这一步与CentOS6也差不多,加载驱动,切换到真正的根文件系统,唯一不同的是执行的初始化程序变成了/usr/lib/systemd/systemd

第四步、systemed初始化阶段(又叫系统初始化阶段)

主要区别

CentOS7中我们的初始化进程变为了systemd。执行默认target配置文件/etc/systemd/system/default.target
(这是一个软链接,与默认运行级别有关)。然后执行sysinit.target来初始化系统和basic.target来准备操作系统。
接着启动multi-user.target下的本机与服务器服务,
并检查/etc/rc.d/rc.local文件是否有用户自定义脚本需要启动。
最后执行multi-user下的getty.target及登录服务,检查default.target是否有其他的服务需要启动。

注意:/etc/systemd/system/default.target指向了/lib/systemd/system/目录下的graphical.target或multiuser.target。而graphical.target依赖multiuser.target,multiuser.target依赖basic.target,basic.target依赖sysinit.target,所以倒过来执行。

System概述(了解):systemd即为system daemon,是Linux下的一种init软件,开发目标是提供更优秀的框架以表示系统服务间的以来关系,并依此实现系统初始化时服务的并行启动,同时达到降低Shell系统开销的效果,最终代替现在常用的System V与BSD风格的init程序。

与多数发行版使用的System V风格的init相比,systemd采用了以下的新技术:A.采用Socket激活式与总线激活式服务,以提高相互依赖的各服务的并行运行性能;B.用Cgroup代替PID来追踪进程,即使是两次fork之后生成的守护进程也不会脱离systemd的控制。

unit对象:unit表示不同类型的systemd对象,通过配置文件进行标识和配置;文件中主要包含了系统服务、监听socket、保存的系统快照以及其他与init相关的信息。(也就是CentOS6中的服务器启动脚本

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 面试题-(腾讯,百度,美团,滴滴) 的相关文章

  • 计算以某个单词开头的行数

    如何计算文本文件中以某个单词开头的行数 我不想使用sed进而wc l 有更好的解决办法吗 只需 grep 你的单词 然后使用 wc l 来计算行数 就像这样 grep your word path to file wc l
  • 如何在Linux shell脚本中将文本文件中的两行合并到同一行中

    我使用 wget 命令从 Nagios 下载了它的 html 文件 然后使用以下代码将该 html 文件转换为 Textfile html2text width 180 file html gt a txt 然后我剪切了前 10 行 因为我
  • 为什么删除目标文件后写入文件描述符会成功?

    code int main int argc char argv int fd open test txt O CREAT O RDWR 0200 0400 if fd 1 printf failure to oepn exit 1 int
  • `/dev/urandom` 适合模拟目的吗?

    似乎在类 Unix 系统中使用纯 C fread from dev urandom是提取高质量随机字节的最简单方法 我需要运行一个每秒需要大约 10k 32 位随机数的模拟 并且可能会运行几天 是 dev urandom可以用于此目的吗 当
  • Ruby 脚本即服务

    嗯 标题说明了一切 我有一个 ruby 脚本 我想在我的 Linux 机器上作为一项服务 我可以启动和停止 运行 我找到了如何在 Windows 上执行此操作here https stackoverflow com questions 16
  • Eclipse CDT 内置包含目录

    Under Eclipse CDT gt Project Settings gt C C General gt Paths and Symbols gt Includes gt GNU C 有一个包含路径的列表 有些是粗体的并且是特定于项目
  • 调试严重的 SIGILL 崩溃:文本段损坏

    我们的系统是基于 PowerPC 的运行 Linux 的嵌入式系统 我们遇到了随机的 SIGILL 崩溃 这种情况在各种应用程序中都会出现 崩溃的根本原因是将要执行的指令归零 这表明内存中的文本段已损坏 由于文本段是以只读方式加载的 因此应
  • 使用 M1 在 dockerized Linux 上安装节点画布

    我有以下Dockerfile我在 MacBook Air M1 上运行 所以在 docker 中我有带有 M1 的 linux FROM node 16 7 0 WORKDIR work CMD while true do sleep 10
  • elf .rel.text 部分中 R_386_32/R_386_PC32 的含义

    为了理解重定位的概念 我编写了一个简单的 chk c 程序 如下所示 1 include
  • 删除损坏的链接 Unix

    我想删除损坏的链接 但在此之前我想确认目录中是否存在链接文件 我们来调用一下链接A if a A then print ya A is ther fi But if A链接已损坏 那么我该如何检查 find L type l找到损坏的符号链
  • 与 grep 类似地突出显示文本,但不过滤掉文本[重复]

    这个问题在这里已经有答案了 使用 grep 时 它将突出显示与正则表达式匹配的行中的任何文本 如果我想要这种行为 但同时让 grep 打印出所有行怎么办 快速浏览完 grep 手册页后 我发现一无所获 使用确认 看看它的 passthru此
  • 在 Ubuntu 12.04 中打开 eclipse juno 并出现错误“No more handles ...”

    从今天开始 每次我打开 Eclipse 时 都会弹出一个标题为 出现问题 的消息框 内容如下 不再处理 未知的 Mozilla 路径 未设置 MOZILLA FIVE HOME 可能的参数 0 1 2 3 不再有句柄 未知的 Mozilla
  • 安装pipenv导致pip3无法使用

    我安装了pipenv using pip3 install pipenv 这给了我错误ImportError cannot import name main 为了解决这个错误我遵循这些说明 https stackoverflow com q
  • bcrypt_lib.node:未定义符号:node_module_register

    Error home george Desktop myProject node modules bcrypt build Release bcrypt lib node undefined symbol node module regis
  • 如何使用AWK从文件中连续输出行

    我有一个多行文件 我想连续输出文件的某些行 比如第一次 从第1行打印到第5行 下次 打印第2行到第6行 依此类推 我发现 AWK 是一个非常有用的函数 我尝试自己编写代码 但它什么也没输出 以下是我的代码 bin bash for n in
  • 如何向正在运行的 Linux 进程发送 Ctrl-Break?

    我正在调试在 Sun 的 JDK 1 4 2 18 上运行的应用程序中的内存泄漏 该版本似乎支持命令行参数 XX HeapDumpOnCtrlBreak 这可能会导致 JVM 在遇到控制中断时转储堆 如何将其发送到 Linux 机器上的后台
  • 如何重新安装最新的cmake版本?

    我想在Linux环境下安装cmake的最新版本 我安装了 cmake 3 5 版 但某些应用程序不支持 我尝试通过卸载当前版本来升级它 但是当我使用 sudo apt get install cmake 重新安装时 我重新安装了相同的版本
  • Shell 脚本对文件进行计数,然后删除最旧的文件

    我是 shell 脚本新手 所以我需要一些帮助 我有一个充满备份的目录 如果我有超过 10 个备份文件 我想删除最旧的文件 以便仅留下 10 个最新的备份文件 到目前为止 我知道如何计算文件数 这看起来很简单 但是如果计数超过 10 我该如
  • 如何格式化 .CSV 文件的日期字段并在字符串字段中包含多个逗号

    我有一个 CSV 文件 file csv 其数据全部用双引号引起来 文件的示例格式如下 column1 column2 column3 column4 column5 column6 column7 Column8 Column9 Colu
  • 如何在 Amazon Linux 上安装最新版本的 GDAL?

    我想安装GDAL https gdal org 在运行 Amazon Linux 的 EC2 实例上 我认为它基于 RHEL 6 如果可能的话 我想避免从源代码编译 EPEL Yum 存储库中包含的 GDAL 版本对于我的目的来说太旧了 g

随机推荐

  • YOLO综述:从YOLOV1到YOLOV8

    YOLO综述 从YOLOV1到YOLOV8 ABSTRACT 1 Introduction 2 YOLO Applications Across Diverse Fields 3 Object Detection Metrics and N
  • nginx报错nginx: [error] open() “/run/nginx.pid” failed (2: No such file or directory)

    nginx error open run nginx pid failed 2 No such file or directory 日期 2018 11 03 来源 Linux公社 作者 醉落红尘 字体 大 中 小 CentOS 7 5下启
  • vue 按钮 权限控制

    vue 按钮 权限控制 前言 在日常项目中 会碰到需要根据后台接口返回的数据 来判断当前用户的操作权限 必须当有删除权限时 就显示删除按钮 没有这个权限时 就不显示或者删除这个按钮 通过查找资料 通过vuex来实现这个功能 步骤 1 定义b
  • PID算法

    比例P 数值固定 不会随着情况调整 增幅器 积分I 比例P过小 增幅器补充 抑制器 微分D 比例P过大 抑制器削减 比例P 偏差量 目标量 传感器 比例P 偏差量 比例P系数 执行量 比例P 积分I 偏差量 目标量 传感器 积分I 积分I
  • 得到课程:冯雪·科学减肥16讲

    发刊词 减肥的动机 是为了健康 更是为了提高你的魅力 提高你的社会竞争力 减肥的实质 是改变生活方式 换一种新的人生 只有跟一群志同道合的人一起走 才能走得更远 最终减肥成功 基本原理 01 终点 三个目标一个都不能少 只要体重 体脂和体型
  • 小样本学习(FSL):Few-shot Learning 综述【模型微调(Fine-tunning)、数据增强、迁移学习(Transfer Learning)】

    分类非常常见 但如果每个类只有几个标注样本 怎么办呢 比如 我们打造了一个智能对话开发平台以赋能第三方开发者来开发各自业务场景中的任务型对话 其中一个重要功能就是对意图进行分类 大量平台用户在创建一个新对话任务时 并没有大量标注数据 每个意
  • 启发式搜索算法:A算法(全局、局部择优算法)+A*算法 解决八数码问题

    文章目录 1 A 算法 1 1 全局择优算法 1 1 1 求解八数码 1 2 局部择优算法 1 2 1 求解八数码 2 A 算法 2 1 解决八数码难题 参考博客 人工智能搜索策略 A 算法 1 A 算法 在图搜索算法中 如果能在搜索的每一
  • 华为OD机试 - IPv4地址转换成整数(Java)

    题目描述 存在一种虚拟IPv4地址 由4小节组成 每节的范围为0 255 以 号间隔 虚拟IPv4地址可以转换为一个32位的整数 例如 128 0 255 255 转换为32位整数的结果为2147549183 0x8000FFFF 1 0
  • 相关概念地址笔记

    公平锁与非公平锁 https www jianshu com p f584799f1c77 java socket编程https www cnblogs com mingforyou p 3258418 html java四种引用类型htt
  • markdown文档:一个简单标记语言的使用及GitHub实际应用

    目录 1 什么是Markdown 2 Markdown与HTML的简单对比 3 Markdown的基本语法 4 GitHub中Markdown的使用 4 1 GitHub上自定义的md文件格式与markdown pad IDE 的区别 4
  • CS143:编译原理实验PA1

    PA1报告 Stack Machine 实验内容 基于cool语言实现一个可执行若干指令的stack machine 要求实现的栈机可以满足以下命令 Command Meaning int 将该整数压入栈 s 将字符s压入栈 e 根据栈顶元
  • Servlet原理

    Mapping问题 package com kuang servlet import javax servlet ServletException import javax servlet http HttpServletRequest i
  • 对MTK的pdaf对焦方式的分析

    上周五分析了下mt6752的pdaf对焦规律 以前一直认为pdaf对焦不可能准到一步到位 应该是走到清晰点附近后再用CAF 反差式 对焦到最清晰点 但通过log查看 感觉应该是分几种情况 如果pdaf的可信度高 比如色彩分明 环境亮度高 则
  • Angular基础(八) Observable & RxJS

    对于一个应用来说 获取数据的方法可以有很多 比如 Ajax Websockets LocalStorage Indexdb Service Workers 但是如何整合多种数据源 如何避免BUG 如何提高可维护性 如何提升应用的速度 这些却
  • vue3中使用jweixin-module报错

    在vue3中使用 var jweixin require jweixin module 会编译报错 require is not defined 没有require模块 改成import的话 由于jweixin module不支持expor
  • REDIS 4 集群搭建

    REDIS 4 集群搭建 1 下载 redis wget http download redis io releases redis 4 0 10 tar gz tar xzf redis 4 0 10 tar gz cd redis 4
  • [学习笔记]Centos7虚拟机网络重启失败

    好久没用虚拟机了 这次学习的时候打开之前安装好的Centos7发现又连不了网了 在网上跟着教程配置好IP之后重启网络服务 执行service network restart命令 出现了错误 Restarting network via sy
  • Install ModelSim on Linux

    To use ModelSim on Linux is quite difficult There is only exe file for installing ModelSim on Windows on the official we
  • php的phpstoem代码编辑器的快捷键,比较常用的归纳

    1 CTRL SHIFT N 全局搜索文件 优先文件名匹配的文件 2 CTRL R 当前窗口替换文本 3 CTRL E 最近打开的文件 4 F5 复制文件 文件夹 5 CTRL C 复制 CTRL V 粘贴 CTRL X 剪切 删除行 Ct
  • Linux 面试题-(腾讯,百度,美团,滴滴)

    Linux 面试题 腾讯 百度 美团 滴滴 分析日志t log 访问量 将各个ip 地址截取 并统计出现次数 并按从大到小排序 腾讯 http 192 168 200 10 index1 html http 192 168 200 10 i