OSI7层模型(TCP4层)
HTTP
TCP/IP
- 索引(包括分类及优化方式,失效条件,底层结构)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 ficd /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 done4、生成随机数字。
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 ) #定义数组foriin${web[*]}#按照数组中值的个数循环,每次循环把数组中值赋予变量ido code=$( curl -o /dev/null -s --connect-timeout 5 -w ‘%{http_code}’ $i| grep -E “200|302” )#检测curl状态码if [ “$code” != “” ]#变量$code值不为空,则证明网页可以访问 thenecho"$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"!="" ] thenecho"$i is ok">> /root/ok.log elseecho"$i is error">> /root/error.log fifidone1、哪些设置能够提升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 查询姓李的同学的个数。
selectcount(*) fromstudent.reportwhere Nmae like'李%'1.2 查询表中成绩大于80的前2名同学的名字,并按分数从大到小的顺序排列。
select Result from report ORDER BY Restult DESClimit22、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进行性能优化?