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

news2024/12/27 4:14:16

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中的服务器启动脚本

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/617634.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python 类和对象

一、什么是类和对象 Python和Java一样,都是面向对象的编程语言,面向对象编程其实是一种封装代码的方法,把一些公共的属性或者方法封装到一个类中,然后再通过这个类可以创建多个对象,最后使用这些对象去调用这些封装起…

【教程】两种免费更新iOS17测试版的方法

苹果iOS17系统已经发布,目前所有用户都可以免费注册成为开发者,升级iOS17开发者测试版 注意,现在不是通过描述文件来更新系统了,给大家带来两种更新升级方法,看下文操作 方法一 苹果官网注册 按照下图发消息“更新” …

java设计模式(十六)命令模式

目录 定义模式结构角色职责代码实现适用场景优缺点 定义 命令模式(Command Pattern) 又叫动作模式或事务模式。指的是将一个请求封装成一个对象,使发出请求的责任和执行请求的责任分割开,然后可以使用不同的请求把客户端参数化&a…

数据库篇——锁

目录 引文A——活锁 引文B——死锁 1、表锁 1.1 关于 S 锁 1.2 关于 X 锁 1.3 关于意向锁 2、行锁 2.1 关于记录锁 2.2 关于间隙锁 2.3 关于临键锁 2.4 关于插入意向锁 3、页锁 我们在谈表锁、行锁以及页锁之前,先聊一聊 活锁🔒与 死锁🔒的…

RabbitMQ安装、端口修改、简单的角色介绍

前提 本文介绍RabbitMQ安装的环境是CentOS7版本的Linux云服务器。 官网:https://www.rabbitmq.com/ RabbitMQ的安装 由于RabbitMQ是使用Erlang语言开发的,所以我们在安装RabbitMQ之前需要在服务器中安装Erlang语言的环境。在Linux中执行下面命令&…

Day_43插入排序

目录 一. 关于插入排序 1. 排序的定义 2. 插入排序 二. 插入排序的实现过程 三. 代码实现过程 1. 插入排序核心代码 四. 代码展示 五. 数据测试 六. 总结 一. 关于插入排序 1. 排序的定义 排序,就是重新排列表中的元素,使表中的元素满足按关键字有序…

AIGC与AidLux互联应用——AidLux端AIGC测评(二)PC端云端Stable Diffusion模型推理应用(文生图,图生图)

在这里插入图片描述 Stable Diffusion模型搭建首先下载diffusers,然后安装,命令如下: git clone https://github.com/huggingface/diffusers.git pip install diffusers cd diffusers pip install . ubuntu和win系统下都可以 文生图&#x…

React Hooks 组件化开发(常用)

本文章视频地址:视频链接 一、React组件分类 二、Hook函数概览 Hook 是 React 16.8 的新增特性!并且只能运用到函数组件中! 1.useState 作用:在函数组件中使用状态,修改状态值可让函数组件更新,类似于类…

鸿蒙初识

学习官网:https://www.harmonyos.com/cn/develop 准备 注册,安装软件(node:12, DevEco Studio): 在实际开发中node最好使用nvm进行版本管理。 https://developer.harmonyos.com/cn/docs/documentation/doc-guides/software_install-00000010…

ChatGPT-Plugins-Searchable

ChatGPT Plus 用户应该都知道Plus已经开放了插件功能,但是在插件商店里存在一个较大的问题插件数量超过100款,却没有便捷的搜索功能。 而我们在查找一款插件时,需要从插件商店的第一页点击到最后一页一个个找,显然这非常的麻烦。 …

驱动开发--驱动模块

目录 1.驱动模块 hello.c Makefile 2.内核中的打印函数(编写第一个驱动程序) Source Insight 使用: 3.打印函数编写 分析 4、驱动的多文件编译 5、模块传递参数 6、安装好驱动之后如何传参? 7、字符设备驱动 8、字符设…

chatgpt赋能python:Python如何突破VIP限制

Python如何突破VIP限制 在这个数字内容时代,我们经常使用各种网站和应用程序来获取视频、音乐、软件等数字资源。但是,某些资源可能受到VIP限制,这意味着我们需要付费才能获得完整的访问权限。但是,如果你了解Python编程&#xf…

Agile | 聊聊敏捷开发

什么是敏捷开发 敏捷开发是一种迭代和增量的项目管理方法,优先考虑适应性、协作和快速交付,而不是遵循严格的计划[0]。它是在《敏捷软件开发宣言》和《12项原则》中表达的一组价值观和原则[1]。敏捷是基于这些价值观和原则的一组框架和实践的总称。敏捷…

【数据库】修改数据库密码及端口

一、修改MySQL配置文件 想要在没有密码的状态下修改MySQL的密码,必须跳过MySQL登录时的登录密码权限的验证,取消掉这个验证的方式如下: 1、找到MySQL的安装文件中的my.ini文件 一般人应该能找到的吧,配置MySQL的环境变量中也有安…

关于数据中心机房动环监控系统的应用与设计 安科瑞 许敏

摘 要: 机房动力和环境监控系统是对分布的精密机房及通信局(站)内的电源、空调、油机、蓄电池、高低压配电等多种设备和环境的各种参数、图像、声音等进行遥测、并对设备进行集中监控、集中维护和集中管理,是现代化机房管理手段和…

【Leetcode -138.复制带随机指针的链表 -2130.链表最大孪生和】

Leetcode Leetcode -138.复制带随机指针的链表Leetcode -2130.链表最大孪生和 Leetcode -138.复制带随机指针的链表 题目:给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构…

chatgpt赋能python:Python如何设置画笔颜色

Python如何设置画笔颜色 在Python中,有很多库可以用来画图,比如常用的Matplotlib、Seaborn和Plotly等等,但无论是哪种库,设置画笔颜色都是非常基础且重要的操作,因为它可以让我们更好地展示数据图表,突出重…

【TCP/IP】基于UDP的服务器端/客户端实现 II - 实践与实现

基于UDP的回声服务器端/客户端 结合之前基于TCP实现的回声服务器&#xff0c;我们尝试再用UDP来完成对回声服务器/客户端的设计。 echo_server: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <arpa…

内蒙古自治区关于加快充换电基础设施建规划 安科瑞 许敏

摘要&#xff1a;为深入贯彻落实《国务院办公厅关于印发新能源汽车产业发展规划&#xff08;2021—2035年&#xff09;的通知》&#xff08;国办发 ﹝2020﹞39号&#xff09;、《国家发展改革委等部门关于进一步提升电动汽车充电基础设施服务保障能力的实施意见》&#xff08;发…

异常值检验(t分布查表)、方差分析

异常值检验 T-test 参考&#xff1a;1.ttest和ttest2 区别 2. ttest在 matlab 3.T test分布表 单侧 方差分析&#xff08;ANOVA&#xff09; Def: 方差分析&#xff08;analysis of variance, ANOVA&#xff09;是一种统计检验&#xff0c;用于检验两组或更多组样本的均值是…