[关闭]
@maorongrong 2017-04-13T08:27:03.000000Z 字数 8122 阅读 460

网易运维岗面试准备

for-github


自我介绍

..., 西安交通大学在读研二学生,专业计算机技术下-云计算(虚拟化方向),主要研究虚拟机调度算法,主要成果依托于MBBO算法解决的vm conslidation发表专利2篇;除此之外个人兴趣是docker及其生态系统的使用,能够熟练使用docker/compose/swarm,熟悉linux系统、python以及计算机基础知识。

redhat、centos、ubuntu区别

redhat官方源各种认证限制,centos是redhat的开源社区版,ubuntu基于debian发行版本。
,与centos主要区别在于包管理机制不同,centos主要rpm包,使用yum进行包管理

桌面版区别

server版区别

Linux Command

系统性能检测常用

查看cpu、mem等信息

strace、tcpdump、gdb等命令

熟悉网站B/S开发结构,熟悉linux下常用的B/S结构软件apache、tomcat、squid、mysql、lvs 等的使用与调优配置

apache和tomcat

web服务器apache和web应用服务器tomcat。

tomcat是sun和apache合作, 做出来的jsp server, 支持servlet 和jsp.tomcat本身可以做为 web server, 当处理静态页面时,tomcat不如apache迅速,不象apache一样可配置,强壮. apache做为最流行的web服务器功能强大,高效,但并不支持jsp及servlet,所以通常的做法是把它们整合起来,让apache处理静态页面,而把动态页面的请求交给 tomcat处理,发挥各自的优势. 通过在apache中加载整合模块和进行设置,apache就能够根据url,把不属于自己的请求转给 tomcat.

squid和nginx

squid是Internet数据缓存服务器,nginx除了用于web服务器,还用于反向代理服务器和负载均衡服务器。

lvs

linux virtual server,用于负载均衡,通过IPVS均衡用户请求到后端服务器。

mysql

ext2、ext3、ext4区别

ext2、ext3与ext4的区别

Linux ext2/ext3文件系统使用索引节点来记录文件信息,作用像windows的文件分配表。索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引节点数组中的唯一一个元素对应。系统给每个索引节点分配了一个号码,也就是该节点在数组中的索引号,称为索引节点号。 linux文件系统将文件索引节点号和文件名同时保存在目录中。所以,目录只是将文件的名称和它的索引节点号结合在一起的一张表,目录中每一对文件名称和索引节点号称为一个连接。 对于一个文件来说有唯一的索引节点号与之对应,对于一个索引节点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问它。

ext3

ext4

Linux kernel 自 2.6.28 开始正式支持新的文件系统 Ext4。 Ext4 是 Ext3 的改进版,修改了 Ext3 中部分重要的数据结构,而不仅仅像 Ext3 对 Ext2 那样,只是增加了一个日志功能而已。Ext4 可以提供更佳的性能和可靠性,还有更为丰富的功能:

  1. #umount /dev/sdb1
  2. #tune2fs -O extents,uninit_bg,dir_index /dev/sdb1
  3. 转换成 ext4 后必须用 fsck 扫描,否则不能 mount,-p 参数表明 “自动修正 文件系统
  4. #fsck -pf /dev/sdb1
  5. 挂载 ext4 文件系统
  6. # mount -t ext4 /dev/sdb1 /backup

buffer与cache区别

简单来说,buffer是即将要被写入磁盘的,而cache是被从磁盘中读出来的

buffer(缓冲)是为了提高内存和硬盘(或其他I/O设备)之间的数据交换的速度而设计的

buffer根据磁盘的读写设计的,把分散的写操作集中进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。linux有一个守护进程定期清空缓冲内容(即写入磁盘),也可以通过sync命令手动清空缓冲。

buffer是由各种进程分配的,被用在如输入队列等方面。一个简单的例子如某个进程要求有多个字段读入,在所有字段被读入完整之前,进程把先前读入的字段放在buffer中保存。

cache(缓存)是为了提高cpu和内存之间的数据交换速度而设计的

cpu在执行程序时需要从内存读取,但内存读写慢,为了提高cpu和内存之间数据交换的速度,在cpu和内存之间增加了cache,它的速度比内存快,但是造价高,一般cache比较

cache经常被用在磁盘的I/O请求上,如果有多个进程都要访问某个文件,于是该文件便被做成cache以方便下次被访问,这样可提高系统性能。

为何存在swap分区开始使用但物理内存仍有剩余/swap分区使用100%,物理内存仍有剩余,新应用请求内存怎么处理?

详述一个数据包从接口到达内核,以及再回包的一个过程

awk/sed/grep

分界符的定义, $NF含义:最后一个域的内容

ip数据包头

- 服务类型(Type of Service):长度8比特。

web请求优秀文章

WEB请求处理一:浏览器请求发起处理
通过开源中国关注此人了,写东西还是很清楚的。

3种web会话管理的方式

详述apache的一个工作原理,以apache的各种MPM,prefork,worker,event对比优缺点,如何定义apache最大连接数,超过最大连接数时怎么处理。

Apache的三种MPM模式比较:prefork,worker,event
Apache的多路处理模块MPM:Prefork Worker Event

详细说明http协议,写出请求报文格式,linux server如何区分http请求中的请求的内容是否需要调用php模块进行动态化处理,以及apache是如何和php交互处理?http请求报文中的method方法???

Web服务器和动态语言如何交互--CGI&FastCGI&FPM浅谈
HTTP协议报文、工作原理及Java中的HTTP通信技术详解

php中动态调用说明

一个请求到达服务器,无论是http还是https,先经过web server,如apache、nginx,由web server处理与客户端之间基于http/https协议的数据交互,

根据一定规则(如扩展名)确定是否需要调用php来处理这个请求,调用的方式有很多种,比如模块方式、CGI方式、以及基于CGI的fastcgi/fpm方式,取决于web server的配置

调用结束后,php把要返回的数据吐出来给web server,再由web server封装成http/https协议格式,返回给客户端/浏览器

https

https = http + ssl

ssl/TSL

列举一些常用的信号?

kill -l可以看到所有的信号

  1. [amy@amy-Heizi ~]$ kill -l
  2. 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
  3. 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
  4. 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM定时器,可捕捉 15) SIGTERM
  5. 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
  6. 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
  7. 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
  8. 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
  9. 38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
  10. 43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
  11. 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
  12. 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
  13. 58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
  14. 63) SIGRTMAX-1 64) SIGRTMAX

inode的作用,里面包含哪些信息?

可以用stat命令,查看某个文件的inode信息。

操作系统一次读取多个扇区组成的块,是文件存取的最小单位,最常见的是4KB,即连续八个 sector组成一个 block。
  inode储存文件的元信息,文件又是存储在块中,元数据包括 文件的字节数、文件拥有者的User ID、文件的Group ID、文件的读、写、执行权限、文件的时间戳(有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间)链接数,即有多少文件名指向这个inode、文件数据block的位置
  

如何通过iptables实现NAT功能,具体命令?

为什么使用NAT

NAT转换的一个过程,SNAT转换出去的包,回包的时候linux server如何知道需要进行DNAT的转换?

kickstart基本的网络环境,以及数据包通过NAT转发功能上网的一个基本过程,涉及iptables的哪些链?

数据库

事物

事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。事务的提出主要是为了解决并发情况下保持数据一致性的问题。

事务4个基本特征

● Atomic(原子性):事务中包含的操作被看做一个逻辑单元,这个逻辑单元中的操作要么全部成功,要么全部失败。

● Consistency(一致性):只有合法的数据可以被写入数据库,否则事务应该将其回滚到最初状态。

● Isolation(隔离性):事务允许多个用户对同一个数据进行并发访问,而不破坏数据的正确性和完整性。同时,并行事务的修改必须与其他并行事务的修改相互独立,彼此隔离的。

● Durability(持久性):事务结束后,事务处理的结果必须能够得到固化,对于系统的影响是永久的,该修改即使出现系统故障也将一直保留,真实的修改了数据库。

事务的语句

 开始事物:BEGIN TRANSACTION
 提交事物:COMMIT TRANSACTION
 回滚事务:ROLLBACK TRANSACTION

truncate清空表、deleted删行、drop删除表

github如何fork别人的代码进行修改提交,写出过程命令

  1. fork to myself repo
  2. git clone
  3. change
  4. git add -A
  5. git commit -m
  6. git remote add

crontab

crontab -l
sudo crontal -e
sudo /etc/init.d/cron restart

C++

c++中内存泄露怎么检测和处理?用什么工具?

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注