当前位置: 首页 > news >正文

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

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

相关文章:

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

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.20…...

DDD--战略设计步骤

在领域驱动设计(Domain-Driven Design,DDD)中,战略设计是指在系统的整体层面上考虑领域模型的组织和架构。下面是一些战略设计的详细步骤: 确定限界上下文(Bounded Context):首先&a…...

Web Scoket简述

Web Socket 简介 初次接触 Web Socket 的人,我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处? 因为 HTTP 协议有一个缺陷:通信只能由客户端发起。http基于请求响应实现。 (准确来说HTTP…...

“Docker 技术在企业中的应用及挑战解决方案“

Docker 技术是一种基于容器化的应用部署和管理技术。随着云计算的普及和应用的不断增多,Docker 技术在企业中的应用越来越广泛。本文将介绍 Docker 技术的基本概念、优势和应用场景,并讨论如何在企业中应用 Docker 技术。 一、Docker 技术概述 Docker …...

vue中开发包、生产包、全局包的区别以及安装语法

目录 开发包 (devDependencies) 安装方法 生产包 (dependencies) 安装方法 全局包 (Global build) 安装方法 vue中有三种不同类型的包:开发包 (Development build),生产包 (Production build) 和全局包 (Global build)。下面我们分别解释它们的区别…...

list的模拟实现

前言 list是STL中重要的容器,了解它的原理对于我们掌握它是有很多的帮助的,一般list和vector都是一起来使用的,因为它们的优缺点不同,刚好可以互补。list的优点是任意位置的插入和删除都很快,它的缺点是不支持随机访问…...

ChatGLM简介和SSE聊天接口测试效果

开发公司 智谱AI是由清华大学计算机系技术成果转化而来的公司,致力于打造新一代认知智能通用模型。公司合作研发了双语千亿级超大规模预训练模型GLM-130B,并构建了高精度通用知识图谱,形成数据与知识双轮驱动的认知引擎,基于此模型…...

darknet yolo标注、训练详细说明

文章目录 1、标注数据1.1、标注1.2、生成训练列表文件train.txt1.3、转换数据标注格式 2、训练数据整理2.1、修改train.txt路径2.2、修改yolov3.cfg2.3、obj.name和obj.data2.4、训练脚本文件trian.sh2.5、测试脚本文件test.sh 3、训练 本文对应的脚本文件和程序下载链接 darke…...

chatgpt赋能python:Python如何产生随机整数?

Python如何产生随机整数? Python是一种高级编程语言。它允许程序员轻松地创建各种类型的应用程序,包括生成随机整数。本文将介绍如何在Python中使用内置的随机数函数来生成随机整数。 random模块 Python中的random模块提供了生成随机数的函数。这些函…...

大话Stable-Diffusion-Webui-客制化主题(四)

文章目录 目标效果开始重要说明单选框以及复选框图标样式更改gradio主题构建器上传主题方式代码上传主题方式目标 在DIY的主题中更改gradio单选框组件以及复选框组件的勾选后图标样式 效果 开始 笔者在使用gradio的主题构建器的过程中发现,gradio的复选框以及单选框组件勾选…...

Excel函数VLOOKUP常用方法

一、基础用法 1、精确匹配 公式:VLOOKUP(待匹配值,查找范围,范围列数,查找方式) 定义好要输出表的表头和第一列,第一列即为要查找和匹配的父内容,在第二列输入公式,被查找表中一定也要将待查…...

systemV的工作原理+原理代码

概念 我们知道进程间的通信有管道的方式进程通信管道制作_云的小站的博客-CSDN博客 但是我们的管道通信其实属于一种取巧的方式,利用了打开的文件可读写的特性上,两个进程对此分别进行读写操作就会产生所谓的通信现象,但是外面的管道依旧得…...

Kubeflow--TFJob实现机制学习

2023暑期学习 TF Job实际场景应用Vertex AI TF Job 链接 https://www.kubeflow.org/docs/components/training/tftraining/ https://developer.aliyun.com/article/601779 TFJob实际上遵循Kubernetes标准的API定义. TFJob 对象 apiVersion --> string --> api版本&…...

百度出品,Nature重磅 -- 优化的mRNA设计算法可改善mRNA的稳定性和免疫原性

摘要 尽管mRNA疫苗已用于COVID-19的预防,但仍然面临不稳定和易降解的风险,这是mRNA疫苗存储、配送、效价等面临的重要障碍。先前的研究已表明,增加二级结构可延长mRNA的半衰期,再加上选择优化的密码子,可改善蛋白表达。…...

CKA 01_docker部署Kubernetes 部署docker 使用kubeadm引导集群 安装Pod网络

文章目录 1. 虚拟机步骤2. Docker 部署 Kubernetes2.1 部署 docker2.1.1 环境要求2.1.2 安装 docker 引擎2.1.3 worker 节点对 master 节点免密2.1.4 设定 docker 开机自启2.1.5 打开桥接,查看桥接流量2.1.6 设定 systemd 方式管理 cgroup2.1.7 docker部署完成2.1.8…...

Redis的使用规范小建议

Redis 核心技术与实战 笔记 作者: 蒋德钧 毕竟,高性能和节省内存,是我们的两个目标,只有规范地使用Redis,才能真正实现这两个目标。如果说之前的内容教会了你怎么用,那么今天的内容,就是帮助你用…...

操作受限的线性表——栈

本文主要内容:本文主要讲解栈的基本概念、基本操作和栈的顺序、链式实现。 目录 栈一、栈的基本概念1、基本概念2、基本操作 二、栈的顺序存储结构1、顺序栈的实现2、顺序栈的基本运算1)初始化2)判栈空3)进栈4)出栈5&a…...

C++基类指针或引用指向或引用派生类对象(实现动态多态四种手段)父类指针访问子类成员变量(需要dynamic_cast)

文章目录 背景多态示例:父类指针指向子类对象父类指针指向子类对象,如何通过父类指针访问到子类特定的成员变量实现动态多态的四种手段:基类的指针或引用指向或引用一个派生类对象(new或不new) 背景 比如有父类Animal…...

WTM框架运行报错0308010C:digital envelope routines::unsupported

WTM框架运行报错0308010C:digital envelope routines::unsupported 错误描述报错原因解决方式 错误描述 我所使用WTM搭建的程序是选择的.net5.0Vue前后端分离的方式,项目结构选择的是“各层分离的多个项目”;本人并非初次使用WTM平台框架搭建项目&#…...

(二)CSharp-索引器

1、索引器定义 什么是索引器 索引器(indexer)是这样一种成员:它使对象能够用与数组相同的方式(即使用下标)进行索引 索引器的声明参见 C# 语言定义文档注意:没有静态索引器 索引器是一组 get 和 set 访问…...

配合AI刷leetcode 实现1170

题目如下: 1170. 比较字符串最小字母出现频次 难度中等 75 定义一个函数 f(s),统计 s 中(按字典序比较)最小字母的出现频次 ,其中 s 是一个非空字符串。 例如,若 s "dcce",那么…...

English Learning - L3 作业打卡 Lesson5 Day36 2023.6.9 周五

English Learning - L3 作业打卡 Lesson5 Day36 2023.6.9 周五 引言🍉句1: So next time you are on a train, look around and see what other people are reading, but dont jump to any conclusions.成分划分弱读连读爆破语调 🍉句2: You will probab…...

前端框架笔记

Vue.js的安装 安装Vue.js有两种方法&#xff1a; &#xff08;1&#xff09;类似于Bootstrap或jQuery&#xff0c;直接通过HTML文件中的标签引用。为了方便开发者使用&#xff0c;Vue.js提供了相关的CDN&#xff0c;通过如下代码可以引用最新版本的Vue.js&#xff1a; <sc…...

详细设计文档

1. 引言 1.1 目的 1.2 范围 1.3 定义、缩略语和缩写 1.4 参考文献 1.5 概述 2. 系统架构设计 2.1 总体架构 2.2 模块划分 2.3 数据流程设计 2.4 接口设计 3. 模块详细设计 3.1 登录模块详细设计 3.1.1 类设计 3.1.2 方法设计 3.1.3 数据库表设计 3.1.4 界面设计 3.2 文章管理模…...

Java011——Java数据类型转换(基本数据类型)

回顾&#xff1a;Java八大基本数据类型 大类 类型名称 关键字 占用内存 取值范围 --------------------------------------------------------------------------------------------|字节型 byte 1 字节 -128~127 整型 |短整型 short 2 字节 -32768~32…...

mybatis-plus用法(二)

(5条消息) mybatis-plus用法&#xff08;一&#xff09;_渣娃工程师的博客-CSDN博客 AR模式 ActiveRecord模式&#xff0c;通过操作实体对象&#xff0c;直接操作数据库表。与ORM有点类似。 示例如下 让实体类User继承自Model package com.example.mp.po; import com.bao…...

SQL笔记-存储过程+循环

存储过程循环使用方法 Oracle Oracle中存储过程的循环使用方法如下&#xff1a; DECLAREi NUMBER; BEGINi : 1;WHILE i < 10 LOOPDBMS_OUTPUT.PUT_LINE(i || i);i : i 1;END LOOP; END;其中&#xff0c;DECLARE用于声明变量&#xff0c;BEGIN和END用于标识存储过程的开始…...

HNU-操作系统OS-作业1(4-9章)

这份文件是OS_homework_1 by计科2102 wolf 202108010XXX 文档设置了目录,可以通过目录快速跳转至答案部分。 第四章 4.1用以下标志运行程序:./process-run.py -l 5:100,5:100。CPU 利用率(CPU 使用时间的百分比)应该是多少?为什么你知道这一点?利用 -c 标记查看你…...

springboot 精华

一、基础 官方文档地址&#xff1a;Spring Boot 注&#xff1a;以下部分例子 有些用到 .properties 方式&#xff0c;有些用 .yml方式&#xff0c;两者可自行学习&#xff0c;这里部分是为了省空间而写 .properties 方式。 1、泛谈 &#xff08;1&#xff09;优势 快速构建…...

我用ChatGPT写2023高考语文作文(三):新课标I卷

2023年 新课标I卷 适用地区&#xff1a;山东、福建、湖北、江苏、广东、湖南、河北、浙江 好的故事&#xff0c;可以帮我们更好地表达和沟通&#xff0c;可以触动心灵、启迪智慧&#xff1b;好的故事&#xff0c;可以改变一个人的命运&#xff0c;可以展现一个民族的形象……故…...

wordpress 媒体库空白/网络营销常用的工具和方法

问题 今天把eclipse中原有的tomcat7 更换成了 tomcat9&#xff0c;更换完启动tomcat后访问报404&#xff0c;访问tomcat首页可以访问 localhost:8080/ 这种可以访问 但是访问自己项目不能访问 解决办法 1.对着tomcat 点击右键 -> 选择AddAndRemove 2. 重启服务器就可以…...

如何做网站?/网页怎么制作

学习笔记&#xff0c;整理自《Hadoop权威指南 第3版》 一、序列化 序列化&#xff1a;序列化是将 内存 中的结构化数据 转化为 能在网络上传输 或 磁盘中进行永久保存的二进制流的过程&#xff1b;反序列化&#xff1a;序列化的逆过程&#xff1b; 应用&#xff1a;进程间通信、…...

卖普洱茶做网站/企业宣传片制作

一、序列化概述&#xff1a; 序列化就是把内存中的对象转换成字节序列(或其他数据传输协议)&#xff0c;以便存储于磁盘和网络传输。 反序列化就是把字节序列(或其他数据传输协议)&#xff0c;或者是磁盘的持久化数据转换成内存中的对象。 二、为什么要序列化&#xff1a; …...

网站内链接怎么做/百度登录入口

摘要&#xff1a;数据转储&#xff0c;转储到MySql数据库具备条件&#xff1a;1、安装紫金桥软件&#xff0c;需要转储的点参数必须存历史。2、安装MySql驱动。操作步聚&#xff1a;一、MySql部分&#xff1a;1、打开MySql数据库软件&#xff0c;如下图&#xff1a;(用户也可以…...

网址制作二维码/seo快速优化软件网站

刚接触VC编程的朋友往往对许多数据类型的转换感到迷惑不解&#xff0c;本文将介绍一些常用数据类型的使用。我们先定义一些常见类型变量借以说明int i 100;long l 2001;float f300.2;double d12345.119;char username[]"程佩君";char temp[200];char *buf;CString …...

赣榆哪里有做网站的/成都百度推广

一切就绪&#xff0c;新建一个android测试工程&#xff1a; 上网权限配置&#xff0c;界面绘制啥的&#xff0c;这里就不说了。 首先 导入一个smark包。这个是用来维护长连接的&#xff0c;也可以是asmark。我用的是asmark 先普及一些基本知识&#xff1a; 在xmpp中&#xff0c…...