操作系统面试题

时间:2024-03-07 18:16:50编辑:奇事君

Linux系统工程师面试题附答案

  一、简答题   1.如何将本地80端口的请求转发到8080端口,当前主机IP为192.168.16.1,其中本地网卡eth0:   答:# iptables -t nat -A PREROUTING -d 192.168.16.1 -p tcp --dport 80 -j DNAT --to 192.168.16.1:8080   或 者:# iptables -t nat -A PREROUTING -i eth0 -d 192.168.16.1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080   2.什么是NAT,常见分为那几种,DNAT与SNAT有什么不同,应用事例有那些?   SNAT,DNAT,MASQUERADE都是NAT。   MASQUERADE是SNAT的一个特例。   SNAT是指在数据包从网卡发送出去的时候,把数据包中的源地址部分替换为指定的IP,这样,接收方就认为数据包的来源是被替换的那个IP的主机。   MASQUERADE是用发送数据的网卡上的IP来替换源IP,因此,对于那些IP不固定的场合,比如拨号网络或者通过dhcp分配IP的情况下,就得用MASQUERADE。   DNAT,就是指数据包从网卡发送出去的时候,修改数据包中的目的IP,表现为如果你想访问A,可是因为网关做了DNAT,把所有访问A的数据包的目的IP全部修改为B,那么,你实际上访问的是B   因为,路由是按照目的地址来选择的,因此,DNAT是在PREROUTING链上来进行的,而SNAT是在数据包发送出去的时候才进行,因此是在POSTROUTING链上进行的。   3.包过滤防火墙与代理应用防火墙有什么区别,能列举几种相应的产品吗?   4.iptables是否支持time时间控制用户行为,如有请写出具体操作步骤。   5.说出你知道的几种linux/unix发行版本。   Redhat、CentOS、Fedora、SuSE、Slackware、Gentoo、Debian、Ubuntu、FreeBSD、Solaris、SCO、AIX、HP…   6.列出linux常见打包工具并写相应解压缩参数(至少三种)   7.计划每星期天早8点服务器定时重启,如何实现?   8.列出作为完整邮件系统的软件,至少二类。   9,当用户在浏览器当中输入一个网站,说说计算机对dns解释经过那些流程?注:本机跟本地dns还没有缓存。   答:   a.用户输入网址到浏览器;   b.浏览器发出DNS请求信息;   c.计算机首先查询本机HOST文件,看是否存在,存在直接返回结果,不存在,继续下一步;   d.计算机按照本地DNS的顺序,向合法dns服务器查询IP结果;   e.合法dns返回dns结果给本地dns,本地dns并缓存本结果,直到TTL过期,才再次查询此结果;   f.返回IP结果给浏览器;   g.浏览器根据IP信息,获取页面;   10,我们都知道,dns既采用了tcp协议,又采用了udp协议,什么时候采用tcp协议?什么时候采用udp协议?为什么要这么设计?   答:这个题需要理解的东西比较的多,分一下几个方面   a,从数据包大小上分:UDP的最大包长度是65507个字节,响应dns查询的时候数据包长度超过512个字节,而返回的只要前512个字节,这时名字 解释器通常使用TCP从发原来的请求。   b,从协议本身来分:大部分的情况下使用UDP协议,大家都知道UDP协议是一种不可靠的协议,dns不像其它的使用UDP的Internet应用 (如:TFTP,BOOTP和SNMP等),大部分集中在局域网,dns查询和响应需要经过广域网,分组丢失和往返时间的不确定性在广域网比局域网上更 大,这就要求dns客户端需要好的重传和超时算法,这时候使用TCP。   11,一个EXT3的文件分区,当使用touch test.file命令创建一个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况,说说你的理由。   答:两种情况,一种是磁盘配额问题,另外一种就是EXT3文件系统的设计不适合很多小文件跟大文件的一种文件格式,出现很多小文件时,容易导致inode 耗尽了。   12,我们都知道FTP协议有两种工作模式,说说它们的大概的一个工作流程?   FTP两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP)   在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令。   服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。   在被动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。然后向服务器发送PASV命令,通 知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。   总的来说,主动模式的FTP是指服务器主动连接客户端的数据端口,被动模式的.FTP是指服务器被动地等待客户端连接自己的数据端口。   被动模式的FTP通常用在处于防火墙之后的FTP客户访问外界FTp服务器的情况,因为在这种情况下,防火墙通常配置为不允许外界访问防火墙之后主机,而只允许由防火墙之后的主机发起的连接请求通过。   因此,在这种情况下不能使用主动模式的FTP传输,而被动模式的FTP可以良好的工作。   13.编写个shell脚本将当前目录下大于10K的文件转移到/tmp目录下   Q:主要是考察awk 这些的用法   #/bin/sh   #Programm :   # Using for move currently directory to /tmp   for FileName in `ls -l |awk ‘$5>10240 {print $9}’`   do   mv $FileName /tmp   done   ls -la /tmp   echo “Done! ”   14.apache有几种工作模式,分别介绍下其特点,并说明什么情况下采用不同的工作模式?   apache主要有两种工作模式:prefork(apache的默认安装模式)和worker(可以在编译的时候加参数–with-mpm- worker选择工作模式)

Linux认证题目含答案

Linux认证题目含答案

  Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。以下是我整理的关于Linux认证题目含答案,希望大家认真阅读!

  1.使用vi编辑文本只读时,强制存盘并退出的命令是?(单选题)

  A :w! B :q! C :wq! D :e!

  答案:C

  2.使用什么命令把两个文件的合并成一个文件?(单选题)

  A cat B grep Cawk D cut

  答案:A

  3以下哪一个命令只查找源代码、二进制文件和帮助文件,而不是所以类型的文件?此命令查找的目录是由环境变量$PATH指定的。(单选题)

  A whereis B whatis C which D apropos

  答案:A

  4.使用什么命令进行查询,并不真正对硬盘上的文件系统进行查找,而是对文件名数据库进行检索,而且可以使用通配符?和*?(单选题)

  A whereis B find C locate D type

  答案:C

  5.使用什么命令把打印任务放到打印队列中去打印。(单选题)

  A lprm B lpq C lpd D lpr

  答案:D

  6、使用什么命令自动卸载已安装的老版本软件包并安装新软件包,即使不存在老版本也会安装新软件包。(单选题)

  A:rpm -U B:rpm -i C: rpm -F D: rpm -e

  答案:A

  7、如果文件/usr/bin/passwd的属性为-r-s - -x- -x,则s代表?(单选题)

  A:SUID B: SGID C: Sticky D:Excutable

  答案:A

  8、当一个文件属性为drwxrwxrwt,则这个文件的权限是什么样的?(多选题)

  A: 任何用户皆可读取、可写入 B:root 可以删除该目录的文件

  C:给普通用户以文件所有者的特权 D:文件拥有者有权删除该目录的文件

  答案:ABD

  9:什么命令用来查看硬盘被占用了多少空间和剩余多少空间?(单选题)

  A: du B: df C: free D: vmstat

  答案:B

  10: Linux 使用者的帐号、密码与群组的名称文件放在哪些文件里?(多选题)

  A:/etc/passwd B: /etc/shadow

  C: /etc/group D: /etc/users

  答案:ABC

  11、暂停某用户帐号可以使用如下哪些方法?(多选题)

  A.把/etc/passwd文件中该用户信息字段前加#

  B.passwd -1[用户名]

  C.将/etc/passwd该用户信息shell字段改成/sbin/nologin

  D.passwd -u[用户名]

  答案:BC

  12、什么命令可以查看曾经登录到此系统的用户清单?(*单选题)

  A.ps B.last C.lastcomm D.accton

  答案:B

  13、以下哪一个内核版本属于测试版本?(单选题)

  A.2.0.0 B.1.2.25 C 2.3.4 D 3.0.13

  答案:C

  14、假如你已经把编译好的新内核复制到/boot目录,如果你想让系统启动时缺省使用新内核而旧的内核依然有效,你需要在/etc/lilo.conf文件中添加哪一个选项?(单选)

  A.boot=B.image= C.install= D.map=

  答案:B

  15、编译内核时,可以使用哪些命令对内核进行配置?(多选)

  A.makeconfig B.make menuconfig C.make oldconfig D. makexconfig

  答案:ABCD

  16.假如系统启动进入运行级别3,则在/etc/rc.d/rc3.d/目录中,以下哪一个脚本首先执行?(单选题)

  A.K20rwhod B. S30syslog C. K96pcmcia D. S99linuxcof

  答案:B

  17.假如你想计划让系统自动在每个月的第一天早上4点钟执行一个维护工作,以下哪个cron是正确的?(单选题)

  A.00 4 1 # * /maintenance.pl B. 4 1 * *~/maintenance.pl

  C.0 4 31 /1 * * ~/maintenance.pl D. 1 4 00 ~/maintenance.pl

  答案:A

  18在/etc/fstab指定的文件系统加载参数中,什么参数一般用于CD-ROM等移动设备?(单选题)

  A.defaults B. sw C. rw和ro D. noauto

  答案:D

  19终止一个前台进程可能用到的'命令和操作是?(单选题)

  A.kill B. +C C. shut down D. halt

  答案:B

  20一个文件名为rr.Z,可以用来解压缩的命令是?(单选题)

  A.tar B. gzip C. compress D. uncompress

  答案:D

  21、在Linux中,如何标识接在IDE0上的slave硬盘的第2个扩展分区?(C)

  A. /dev/hdb2

  B. /dev/hd1b2

  C. /dev/hdb6

  D. /dev/hd1b6

  22、在应用程序起动时,如何设置进程的优先级?(B)

  A. priority

  B. nice

  C. renice

  D. setpri

  23、在 bash 中, 在一条命令后加入 "1>&2" 意味着:(C)

  A. 标准错误输出重定向到标准输入

  B. 标准输入重定向到标准错误输出

  C. 标准输出重定向到标准错误输出

  D. 标准输出重定向到标准输入

  24、下面哪条命令可以把f1.txt复制为f2.txt?(C)

  A. cp f1.txt | f2.txt

  B. cat f1.txt | f2.txt

  C. cat f1.txt > f2.txt

  D. copy f1.txt | f2.txt

  25、显示一个文件最后几行的命令是:(D)

  A. tac

  B. tail

  C. rear

  D. last

  26、如何快速切换到用户John的主目录下?(D)

  A. cd @John

  B. cd #John

  C. cd &John

  D. cd ~John

  27、把一个流中所有字符转换成大写字符,可以使用下面哪个命令?(A)

  A. tr a-z A-Z

  B. tac a-z A-Z

  C. sed /a-z/A-Z

  D. sed --toupper

  28、使用什么命令可以查看Linux的启动信息?(B)

  A. mesg -d

  B. dmesg

  C. cat /etc/mesg

  D. cat /var/mesg

  29、运行级定义在:(B)

  A. in the kernel

  B. in /etc/inittab

  C. in /etc/runlevels

  D. using the rl command

  30、如何装载(mount)上在 /etc/fstab 文件中定义的所有文件系统?(A)

  A. mount -a

  B. mount /mnt/*

  C. mount

  D. cat /etc/fstab | mount

  31、如果使用ln命令将生成了一个指向文件old的符号链接new,如果你将文件old删除,是否还能够访问文件中的数据?(A)

  A. 不可能再访问

  B. 仍然可以访问

  C. 能否访问取决于file2的所有者

  D. 能否访问取决于file2的权限

  32、在ext2fs文件系统中,缺省的为root用户保留多大的空间?(C)

  A. 3%

  B. 5%

  C. 10%

  D. 15%

  33、下面哪个命令用来显示系统中各个分区中inode的使用情况?(A)

  A. df -i

  B. df -H

  C. free -b

  D. du -a -c /

  34、在大多数Linux发行版本中,图形方式的运行级定义为?(D)

  A. 1

  B. 2

  C. 3

  D. 5

  35、如何在系统文档中找到关于print这个单词的所有说明?(D)

  A. man print

  B. which print

  C. locate print

  D. apropos print

  36、命令 man 5 passwd 含义是?(B)

  A. 显示 passwd 命令的使用方法

  B. 显示 passwd 文件的结构

  C. 显示 passwd 命令的说明的前五行

  D. 显示关于passwd的前五处说明文档。

  37、如何在文件中查找显示所有以"*"打头的行?(D)

  A. find * file

  B. wc -l * C. grep -n * file

  D. grep * file

  38、在ps命令什么参数是用来显示所有用户的进程的?(A)

  A. a

  B. b

  C. u

  D. x

  39、显示二进制文件的命令是?(A)

  A. od

  B. vil

  C. view

  D. binview

  40、如何显示Linux系统中注册的用户数(包含系统用户)?(D)

  A. account -l

  B. nl /etc/passwd |head

  C. wc --users /etc/passwd

  D. wc --lines /etc/passwd

  41、在一行结束位置加上什么符号,表示未结束,下一行继续?(B)

  A. /

  B.

  C. ;

  D. |

  42、命令 kill 9 的含义是:(D)

  A. kills the process whose PID is 9.

  B. kills all processes belonging to UID 9.

  C. sends SIGKILL to the process whose PID is 9.

  D. sends SIGTERM to the process whose PID IS 9.

  43、如何删除一个非空子目录/tmp?(D)

  A. del /tmp/*

  B. rm -rf /tmp

  C. rm -Ra /tmp/*

  D. rm -rf /tmp/*

  44、使用什么命令可以在今天午夜运行命令 cmd1 ?(D)

  A. at midnight cmd1

  B. cron -at "00:00" cmd1

  C. batch -t "00:00" D. echo "cmd1" | at midnight

  45、你的系统使用增量备份策略,当需要恢复系统时,你需要按什么顺序恢复备份数据?(B)

  A. 最后一次全备份,然后从最早到最近的增量备份

  B. 最后一次全备份,然后从最近到最早的增量备份

  C. 最早到最近的增量备份,然后最后一次全备份

  D. 最近到最早的增量备份,然后最后一次全备份

  46、对所有用户的变量设置,应当放在哪个文件下?(D)

  A. /etc/bashrc

  B. /etc/profile

  C. ~/.bash_profile

  D. /etc/skel/.bashrc

  47、Linux系统中,一般把命令 ls 定义为 ls --color 的别名,以便以不同颜色来标识不同类型的文件。但是,如何能够使用原先的ls命令?

  (A)

  A. ls

  B. ;ls

  C. ls $$

  D. ls --noalias

  48、在Linux系统中的脚本文件一般以什么开头?(D)

  A. $/bin/sh

  B. #!/bin/sh

  C. use /bin/sh

  D. set shell=/bin/sh

  49、下面哪种写法表示如果cmd1成功执行,则执行cmd2命令?(A)

  A. cmd1&&cmd2

  B. cmd1|cmd2

  C. cmd1;cmd2

  D. cmd1||cmd2

  50、在哪个文件中定义网卡的I/O地址?(C)

  A. cat /proc/modules

  B. cat /proc/devices

  C. cat /proc/ioports

  D. cat /io/dma ;


java面试中经常被问到的问题有哪些?

java面试中经常被问到的问题有如下:1、进程,线程,协程之间的区别是什么?简而言之,进程是程序运行和资源分配的基本单位,一个程序至少有一个进程,一个进程至少有一个线程。进程在执行过程中拥有独立的内存单元,而多个线程共享内存资源,减少切换次数,从而效率更高。线程是进程的一个实体,是cpu调度和分派的基本单位,是比程序更小的能独立运行的基本单位。同一进程中的多个线程之间可以并发执行。2、你了解守护线程吗?它和非守护线程有什么区别?程序运行完毕,jvm会等待非守护线程完成后关闭,但是jvm不会等待守护线程。守护线程最典型的例子就是GC线程。3、什么是多线程上下文切换?多线程的上下文切换是指CPU控制权由一个已经正在运行的线程切换到另外一个就绪并等待获取CPU执行权的线程的过程。4、创建两种线程的方式?他们有什么区别?通过实现java.lang.Runnable或者通过扩展java.lang.Thread类。相比扩展Thread,实现Runnable接口可能更优.原因有二:Java不支持多继承。因此扩展Thread类就代表这个子类不能扩展其他类。而实现Runnable接口的类还可能扩展另一个类。类可能只要求可执行即可,因此继承整个Thread类的开销过大。5、Thread类中的start()和run()方法有什么区别?start()方法被用来启动新创建的线程,而且start()内部调用了run()方法,这和直接调用run()方法的效果不一样。当你调用run()方法的时候,只会是在原来的线程中调用,没有新的线程启动,start()方法才会启动新线程。

上一篇:长方体

下一篇:番茄花园xp