您的位置:首页 > 职场人生

转载:OS 面试相关问题

2010-05-16 23:26 246 查看
1、在同一个网站中,当有客户端访问的时候,会出现有的页面访问的速度快而有的慢,系统和服务完全正常、完全正常、网络正常。问这个是那里出现了问题 ?
这个问题的核心在于“当有一个客户端访问时” 并没说明是同一个客户访问,而系统服务方面正常。可见问题大多可以在客户端去分析。
可能出现的问题总结如下:
第一:服务器所在的IDC机房无BGP(多线,多线接入)服务,至使不同的运营商的客户端访问速度不一样。
第二:服务器的带宽接近上峰,出现访问不稳定的现象。
排查问题的方法:用户提供IP,查一下服务器到用户的路由表情况。同时也要确认一下带宽问题。

2、你以前做过的项目中,单台服务器的最大并发量是多少?说下你硬件的配置?
静态网站:两万以上
动态网站:一万左右
服务器:双核CPU,2.0 内存4G,SAS硬盘

3、你以前在工作中遇到的,一个困难的技术问题是什么,最后怎么解决的 ?数据库同步的
在数据库同步遇到最多的是在高并发时,Slave追不上Master的情况。通常这都是硬盘IO盘引起的。另外也存在Update操作索引使用情况不好,造成Slave落后Master严重。
解决方法:用更强的机器替换Slave,Slave的硬盘采用Raid10,查找更新语句,或是看show processlist去查找更新慢的语句。

4、你说下你技术的强项和不足?
这个问题要分析一下,自已想从事什么职位,在工作中需要那方面增强的。也可以问:你在工作做的什么事情让你值的高兴的?
如:想从事SA的工作,可以这样去回答。
我感觉自已对Linux的操作,环境构建,需求分析都比较好点。但毕竟工作基本上是一个沟通的过程,有时和别的部门不懂技术的人沟通时效率比较低,不能快速让他们明白我的想法,和
以前我的领导比这点我显的不足。不过,我觉的以后我会注意这点的。

5、在做 MMM 那个架构的时候,有没有出现过客户端两次访问的数据不一样的问题?mysql数据库同步的时候,是同步的命令,还是同步的数据?
同步的数据。
参考:
Mysl的同步是把Binlog分发到Slave上,Slave采中中继日值去接收,然后执行,执行完毕后,消除中继日值。
6、apache2.x版本中两个不同的运行模式是什么,有什么不同?
Apache2有两个主要的模式为:profork,worker,其它还有: 独立子进程(Perchild)MPM但不常用。
预派生(Profork)MPM:此模块在功能上兼容于Apache 1.3的运行模型。这种运
行方式首先启动一个父进程,然后创建并启动一定(可配置)数量的子进程监听客户的请
求。当监听到客户的服务请求后,子进程就响应此请求。重要的是父进程始终监控子进程,
当没有足够的空闲子进程为客户服务时,父进程就会创建并运行新的子进程准备为客户提
供服务;如果存在过多的空闲子进程,父进程就会依次终止这些空闲的子进程,直到服务
器回到最大空闲子进程(可配置)数量之下。通过始终保持一定数量的空闲子进程来响应
客户的请求,服务器可以避免在接收到客户请求时启动新进程的开销。

? 工作者(Worker)MPM:此模块是混合使用进程和线程的运行模型。这种运行方
式首先启动一个父进程,然后创建并启动一定(可配置)数量的子进程,每个子进程都创
建并启动相同数量的线程,由线程监听客户请求,而子进程并不监听客户请求。重要的是
父进程始终监控子进程,当没有足够的空闲线程为客户服务时,父进程就会创建并运行新
的子进程,并在子进程中创建与先前子进程创建的相同数量的线程准备为客户提供服务。
这种运行方式是以牺牲可靠性和健壮性来换取可扩展性的。

7、如果给你很多台服务器,你该怎么去管理?
这个需要这样去想:当业务增长到一定量时,服务器必会有多台。但一个业务的增长通常时慢慢的增长的。所以服务器一般都是根据不同的业务分组使用。这也决定了服务器去分组维护,集中监控。
在多台服务器环境中,更重要的是有一个好的监控方案。去监控系统,业务是不是正常运行。同时要去监控的数据加以分析,从而决定下阶段的工作。

8、如何优化linux系统,写出命令和相应的回值?10、在安装完系统的时候,会进行一些什么优化?
这两题是一个类型:
只开启需要的服务:
rm -rf /etc/rc3.d/*
chkconfig --add crond
chkconfig --add syslog
chkconfig --add network
chkconfig --add sshd
chkconfig rsync on (可选)
定时同步时间
crontab -e
加入
0 0 * * * /usr/sbin/ntpdate -u tick.ucla.edu tock.gpsclock.com ntp.nasa.gov timekeeper.isi.edu usno.pa-x.dec.com
关闭ipv6
echo "alias net-pf-10 off" >> /etc/modprobe.conf
禁用ssh1登录
vi /etc/ssh/sshd_config
#Port 22
#Protocol 2,1
修改为
Port 22
Protocol 2

9、为什么有些公司会把自己的系统项目外包出去,而自己不招自己系统工程师,说说自己的看法?
这要分两种情况。有的适合,有的不适合。业务外包对于那些数据不敏感,但又需要对外提供宣传服务的公司很适合,这样成本很低。
但对于数据敏感的公司,业务变更频繁的公司业务外包就不适合了。
11、当系统出现问题的时候你会怎么做?写出步骤?
第一,确认服务器存活情况。
第二,确认服务存活情况
第三,根据情况决定,看error log或是系统负载情况。

12、如何添加一个apache的rewirte模块,rewirte模块的原理是什么?
编译Apache时加入: --enable-rewrite 或是后期用apxs编译成 modules去加载上去。
原理:基于正则表达式分析器的重写引擎来实时重写URL请求

13、你以前所在的公司接到项目的时候,人员是如何人分配的?
确认需求分析,项目任务细化,然后根据任务量分组开发,每天早上沟通情况。

14、你们给客户所做的项目,怎么保证客户系统的安全?
这个需要有一个合理的管理制度,从开发人员的需求分析,到代码开发中,都要有一个安全保障制。在开发过程各,根据情况,安排测试对代码局部测试。最终完成时,在做整体测试。
尽一切可能把不安全问题的出现在产品交付前降到零。

15、你们为客户提供什么样的后期服务?
产品咨询,重大Patch提供,有偿的服务升级和二次需求开发

16、相对web服务器来说,你们怎么知道,当时的系统已经不能满足客户的需求,当不能满足客户需求的时候,你们就用lvs、HAcluser解决吗?
服务器负载比较高,CPU空闲经常在25%以下。系统的资源大多被WEB服务的进程占满,带宽空余较大,通过代码优化,数据优化没有合理的解决。这种情况很明显是机器抗不住了,
可以考虑增加多台机器去提供服务。
增加几台机器,需要根据现在访问题,及做多长时间的预算来计算一下。

第二部分:
1、Sed命令删除文本文件text.txt文件中的空行
#sed -i '/^$/d' test.txt

2、awk命令输出wo-ai-bei-jing-tian-an-men第三个字段
#echo "wo-ai-bei-jing-tian-an-men"|awk -F"-" '{print $3}'

3、用ssh把远程主机的1234端口流量转到本地22端口
ssh -CfNg -L 1234:127.0.0.1:22 username@RemoteIP
条命解释:
-CfNg (照抄即可)
C表示压缩数据传输
f表示后台用户验证,这个选项很有用,没有shell的不可登陆账号也能使用.
N表示不执行脚本或命令
g表示允许远程主机连接转发端口
-L 本地转发

4、检查文件/root/text.txt是否为文本文件,如果是输出为yes、如果不是输出为no
#!/bin/sh
ff=/root/text.txt
if [ -c $ff ]
then
echo "YES"
else
echo "NO"
fi

5、编译内核的四个步骤
下载相应的内核解压:

清理里面的*.o文件
make mrproper
配置内核:
make menuconfig
编译内核:
make
安装内核:
make install

6、bash脚本程序的for循环是什么
题意不明。弄不清是什么意思。
for 的一般格式:
for a in '内容'
7、解释i节点在文件系统中的作用
标识一个文件在磁盘上的存储位置,文件大小。
8、编写个shell脚本将/home/test 目录下大于10K的文件转移到/tmp目录下
#!/bin/sh
cd /home/test
for i in `ls -l |awk '{if($5>10240) {print $9}}'`
do
mv $i /tmp
done
9、 mysql的存储引擎有哪两种,区别是什么
这个题问的都错了。Mysql的存储引警有Heap,MyISAM,Innodb,BDB等,还有很多种。
这里一般指:MyISAM,Innodb表。

区别:
INNODB支持事务,外键. MyISAM不支持事务,外建.
MyISAM支持全文索引, INNODB不支持全文索引
MyISAM引擎对硬件资源利用存在限制,Innodb对资源利用方面表现很好。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: