-
OSI7层模型(TCP4层)
-
HTTP
-
TCP/IP
- 三次握手、四次挥手
- 拥塞控制(过程、阈值)
- 流量控制与滑动窗口
- TCP与UDP比较
- 子网划分
- IP地址
- TCP头部检验
- ping 过程中发生了什么
- 索引(包括分类及优化方式,失效条件,底层结构)Mysql索引
- sql语法(join,union,子查询,having,group by)
- SQL语句
- 引擎对比(InnoDB,MyISAM)
- 数据库的锁(行锁,表锁,页级锁,意向锁,读锁,写锁,悲观锁,乐观锁,以及加锁的select sql方式)
- 隔离级别,依次解决的问题(脏读、不可重复读、幻读)
- 事务的ACID
- B树、B+树
- 优化(explain,慢查询,show profile)
- 数据库的范式
- 分库分表,Mysql主从复制, 读写分离
- Nosql相关(redis和mem***d区别之类的,如果你熟悉redis,redis还有一堆要问的) Redis
- 数组、链表、二叉树、队列、栈的各种操作(性能,场景)
- 二分查找和各种变种的二分查找
- 各类排序算法以及复杂度分析(快排、归并、堆)
- 各类算法题(手写)
- 理解并可以分析时间和空间复杂度
- 动态规划、贪心
- 红黑树、AVL树、Hash树、Tire树、B树、B+树。
- 图算法(比较少,也就两个最短路径算法理解吧)
-
进程通信IPC(几种方式),与线程区别
-
OS的几种策略(页面置换,进程调度等,每个里面有几种算法)
-
互斥与死锁相关的
-
linux常用命令(问的时候都会给具体某一个场景)
-
Linux内核相关(select、poll、epoll)
-
进程与线程
-
协程和线程的区别
-
僵尸进程孤儿进程
-
(B)IO/NIO/AIO
- 三者原理,各个语言是怎么实现的
- Netty
- Linux内核select poll epoll
- PXE
- Ansible
1、简述ISO/OSI七层模型的分层与作用
2、TCP/IP四层模型与作用?
3、TCP协议与UDP协议工作在哪一层,作用是什么?
4、简述TCP三次握手的过程。
5、简述TCP包头的内容。
6、简述TCP四次挥手的过程。
7、172.22.141.231/26,该IP位于哪个网段?该网段拥有多少可用IP地址?广播地址是什么?
8、简述IP地址的分类。
9、简述私有IP地址的作用。
1、简述Linux权限划分原则。
2、当用户user1,对/testdir 目录有写和执行权限时,该目录下的只读文件file1 是否可修改和删除?
3、如果一个系统没有任何的备份策略,请写出一个较为全面合理的备份方案!
4、网站服务器每天产生的日志数量较大,请问如何备份?
5、简述Raid 0、Raid 1、Raid 5的特点与原理。
6、简述Raid 6、Raid 10的特点与原理。
7、软Raid与硬Raid的区别?
8、Linux中有许多系统资源需要监管,请问有哪些命令可以查看?
9、简述CentOS 6.x的启动过程?
10、简述CentOS 7.x的启动过程?
11、如何进行Linux系统优化?
1、有一个b.txt文本(内容如下),要求将所有域名截取出来,并统计重复域名出现的次数:
http://www.baidu.com/index.html
https://www.4399.com/index.html
http://www.sina.com.cn/1024.html
https://www.4399.com/2048.html
http://www.sina.com.cn/4096.html
https://www.4399.com/8192.html
答案:
cat b.txt | cut -d "/" -f 3 | sort | uniq -c | sort –nr
cut -d 按照分隔符分割 -f 3 截取第三列
uniq -c 显示该行重复次数
sort -nr 按照数字从大到小排列
2、统计当前服务器正在连接的IP地址,并按连接次数排序
3、使用循环在/test目录下创建10个txt文件,要求文件名称由6位随机小写字母加固定字符串(_gg)组成,例如:pzjebg_gg.txt。
#!/bin/bash
if [ ! -d /atguigu ] #判断测试目录是否建立
then
mkdir /test
fi
cd /test #进入测试目录
for (( i=1;i<=10;i++ )) #循环10次,每次循环建立6位随机数文件
do
filename=$(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 6)
touch "$filename"_gg.txt
done
4、生成随机数字。
5、批量检查多个网站是否可以正常访问,要求使用shell数组实现,检测策略尽量模拟用户真实访问模式。
http://www.4399.com
http://www.gulixueyuan.com
http://www.baidu.com
#!/bin/bash
web=(
http://www.4399.com
http://www.gulixueyuan.com
http://www.baidu.com
1.1.1.1
) #定义数组
for i in ${web[*]}#按照数组中值的个数循环,每次循环把数组中值赋予变量i
do
code=$( curl -o /dev/null -s --connect-timeout 5 -w ‘%{http_code}’ $i | grep -E “200|302” )#检测curl状态码
if [ “$code” != “” ]#变量$code值不为空,则证明网页可以访问
then
echo "$i is ok" >> /root/ok.log
else #变量$code值为空,则休眠10秒,重新检测
sleep 10
code=$( curl -o /dev/null -s --connect-timeout 5 -w '%{http_code}' $i | grep -E "200|302" )
if [ "$code" != "" ]
then
echo "$i is ok" >> /root/ok.log
else
echo "$i is error" >> /root/error.log
fi
fi
done
1、哪些设置能够提升SSH远程管理的安全等级
- 登录验证模式修改为密钥登录
- 登录端口修改为非22端口以及指定监听IP
- 禁止root用户远程登录
- 设置无操作时自动断开连接设置
- 登录失败后登录尝试次数为6次
- 编写防火墙规则,使用白名单机制放行ssh服务的监听端口
2、ssh连接时认证时间过长如何解决?
DNS反向解析请求时间过长,以检查此主机名是否与其IP地址真实对应
配置文件:/etc/ssh/sshd_config
#UseDns yes 修改为no #取消ssh登录时的dns反向解析请求功能
注意事项:在/etc/ssh/sshd_config配置文件中注释掉的选项不代表不生效,反而代表默认生效,想关闭某功能,一定要取消注释然后修改为no才可以。
3、scp和rsync进行远程文件复制有什么区别?
scp | 全量备份 | 文件级传输 | 加密传输 | 资源消耗低 |
rsync | 差异对比,增量备份 | 分块校验,部分传输 | 非加密传输 | 资源消耗高(零散文件较多) |
4、请描述通过DHCP服务器获取IP地址的过程。
5、简单描述FTP的主动模式和被动模式的区别?
6、集群环境中,如何保证所有服务器之间的时间误差较小。
手动测试同步:ntpdate 时间服务器IP地址
自动同步:可以将命令写入计划任务
7、请描述用户访问网站时DNS的解析过程。
8、解释权威DNS和递归DNS的含义,并描述智能DNS的实现原理。
权威DNS是经上一级授权对域名进行解析的DNS服务器,同时它可以把解析授权转授给其他服务器
递归DNS负责接受用户对任何域名的查询,并返回结果给用户,它可以缓存结果避免用户再向上查询
智能DNS就是将对用户发起的查询进行判断出是哪个运营商的用户查询,然后将请求转发给相应的运营商IP处理,减少跨运营访问的时间,提高访问速度
9、公司里有一台服务器,需要在上面跑两个网站,并且其中一个网站需要更换新域名,请问如何处理?
网站1:www.a.com
网站2:www.b.com(旧)www.d.com(新)
10、简述Apache的三种工作模式?
11、请写出工作中常见的Apache优化策略
设置Apache的日志轮替和切割规则,防止日志过大
美化错误页面,将错误页面重定向到首页或指定页面
屏蔽Apache的版本等信息,防止别人获取Apache的相应版本
配置静态缓存,减少对服务器的访问压力
禁止解析指定目录下的页面程序,比如upload,禁止解析用户上传的脚本文件
12、有哪些技术可以提高网站的安全和效率?
13、Apache和Nginx各有什么优缺点,应该如何选择?
14、为什么Nginx的并发能力强,资源消耗低?
15、写出几个Nginx的常用模块,并描述其功能。
16、请解释Nginx是如何连接PHP进行页面解析的?
17、请描述Nginx和Tomcat之间的数据传输过程?
18、请写出几个常见的HTTP状态码,并解释出现原因。
1、库表student.report,有3个字段,姓名、学科、成绩,记录如下,根据要求完成SQL语句:
Name | Subject | Result |
---|---|---|
李白 | Math | 95 |
杜甫 | English | 83 |
李商隐 | Math | 79 |
白居易 | Math | 98 |
李清照 | English | 85 |
王维 | Math | 74 |
1.1 查询姓李的同学的个数。
select count(*) from student.report where Nmae like '李%'
1.2 查询表中成绩大于80的前2名同学的名字,并按分数从大到小的顺序排列。
select Result from report ORDER BY Restult DESC limit 2
2、MYSQL集群一主多从,主库宕机,如何合理切换到从库,其它从库如何处理?
3、单台MySQL达到性能瓶颈时,如何击碎性能瓶颈?
4、MySQL什么时候创建索引?
5、误操作drop语句导致数据库数据破坏,请给出恢复的实际大体步骤。
手动切割binlog日志并记好切割好的binlog日志文件位置,这里假设为009,备份全部binlog日志
找到之前全备数据最后备份到的binlog文件位置并记好位置,这里假设为005
用mysqladmin命令将005到008binlog文件中的SQL语句分离出来,并找到drop库的语句将其删掉
将之前全备数据导入mysql服务器
将步骤3中分离出的SQL语句导入mysql服务器
将009binlog文件删除,再次刷新binlog日志,到此数据库已恢复成功
6、如何保证Redis能永久保存数据?
7、如何利用Redis对MySQL进行性能优化?