面试问题
1.文件想修改权限,该用什么命令?文件权限755代表什么意思?
chmod -r
7 root用户 可读可写可执行
5 用户组 可读可执行
5 普通用户 可读可执行
2.如果文件想更改用户和组用什么命令?
chown nginx.nginx /usr/local/nginx/html/
3.服务端端口号是710,如何查看进程号?
netstat -lntup | grep 710
4.查看cpu和内存情况
top
CPU:
cat /proc/cpuinfo
lscpu
内存:
free -m
df -k
top
vmstat -s
cat /proc/meminfo
5.vim文件编辑的操作流程和查询方法?
vim file.txt进入后输入i或者a进入输入模式
查询:
输入 / + 查询的内容
替换:
输入‘:% + s#<原内容>#<要替换的内容>#g’
6.Linux下需要设置环境变量,具体有哪些地方会用到定义变量?
全局环境变量 /etc/profile
用户环境变量 /.bashrc
Shell脚本中要用到的变量
例子:JAVA环境的变量
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_201
export PATH=$JAVA_HOME/bin:$PATH
7.Linux中用过哪些中间件?
TomCAT
Nginx
WebLogic
WebSphere
Apache
ES
JBOSS
Jetty
wget
yum
ping
9.TomCAT的日志存放在哪里?
catalina.log
10.Oracle和MySQL
11.MySQL的左右链接?
https://www.cnblogs.com/wzh313/p/9077247.html
#SQL提供了多种类型的连接方式,它们之间的区别在于:从相互交叠的不同数据集合中选择用于连接的行时所采用的方法不同
内连接:
只连接匹配的行
左外连接: 包含左边表的全部行(不管右边的表中是否存在与它们匹配的行)
以及右边表中全部匹配的行,a.order_id = b.order_id(+)
右外连接: 包含右边表的全部行(不管左边的表中是否存在与它们匹配的行)
以及左边表中全部匹配的行,a.order_id(+) = b.order_id
全外连接:
包含左、右两个表的全部行,不管另外一边的表中是否存在与它们匹配的行。
12.MySQL做过备份吗?用过哪些方法?具体说明.
冷备份:业务停止或数据库关闭,进行备份,业务影响最大
热备份:不锁表备份,只能针对事务型引擎的表(例如:InnoDB),业务的影响最小.
温备: 锁表备份,只读备份,阻塞所有的变更操作,只能读。
备份工具:
mysqldump
逻辑备份
备份出来的都是SQL语句
可读性较强,压缩比高
便于二次处理
是自带的工具
劣势就是比较慢
—从磁盘调数据 --->内存 --->转换成SQL --->xxx.sql
XBK(Xtrabackup)
物理备份工具, 备份的数据文件(类似cp),可读性比较差,不便于处理
备份速度快
支持热备
自带了增量备份功能
劣势就是需要另外安装,可读性不友好,不便处理,压缩比较低
一些备份策略:
全备:全库备份,备份所有数据
增量:备份变化的数据
逻辑备份: mysqldump+binlog
物理备份: xtrabackup_full+binlog
备份的周期:
根据数据量设计备份周期
周日进行一次全备,或周1-周6进行增量备份
13.MySQL的主从复制原理?
#基本原理流程就是 3个线程以及之间的关联
主:
binlog线程—记录下所有改变了数据库数据的语句,放进master上的binlog中
从:
I/O线程—在使用start slave之后,负责从master上拉取 binlog 内容,放进 自己的relay log (中继日志)中
从:
SQL执行线程—执行relay log (中继日志)中的语句,并解析成具体操作,来实现主从的操作一致,而最终数据一致
14.如果某个服务down掉了,要先从哪方面排查故障?
查看应用服务端口是否存活;
查看应用服务的日志;
查看系统负载情况;
查看内存剩余情况;
查看服务的配置文件是否有书写错误;
查看是否出现网络故障;
查看是否出现安全问题,是否被攻击
查看请求是否过大
查看数据库
15.ElasticSearch中间件干嘛的?
https://blog.csdn.net/cicada_smile/article/details/95109947
基于Lucene的搜索服务器
提供了一个分布式多用户能力的全文搜索引擎,是用Java开发的
16.上家公司是做什么的?
DF-41
17.期望月薪是多少?
年薪百万!