linux 面试题及答案整理

在 Linux 中什么是平均负载?

答:

平均负载被定义为在1分钟,5分钟和15分钟内等待在运行队列中的进程数目和当前正在执行的进程数目之和的平均值。使用 ‘top’ 和 ‘uptime’ 命令我们可以查询一个 Linux 服务器的平均负载。


Puppet Master 在哪里存储证书?

答:

/var/lib/puppet/ssl/ca/signed


在 Puppet 服务器中哪一个命令用于给请求的证书签名?

答:

在2.x中使用 ‘puppetca  –sign hostname-of-agent’ 
在3.x中使用 ‘puppet ca  sign hostname-of-agent’


某一天突然发现Linux系统文件只读,该怎么办呢?

答:

首先把系统关机,然后以光盘启动进入救援模式(linux rescue),执行"fsck.ext3 -y /dev/sda2" (假如只读的分区类型为ext3,分区为/dev/sda2)


如何修改Linux启动级别为字符模式并永久生效,如何临时、永久关闭selinux及防火墙,请分别写出操作方法。
答:
更改字符模式:修改/etc/inittab一行为 id:3:initdefault:
临时关闭selinnux  setenforce 0
临时关闭防火墙    iptables -F
永久关闭selinux   修改/etc/selinux/config一行为 SELINUX=permissive
永久关闭防火墙   iptables -F;/etc/init.d/iptables save


在这个月内,每天的早上 6 点到 12 点中,每隔 2 小时创建一个test.txt文件,内容为ok,如何实现?
答:
a、crontab -e 进入编辑模式
b、添加以下内容 0 6-12/2 * 4 * /bin/touch test.txt   (以4月为例)
c、启动服务 service crontab start;chkconfig crontab on


将/usr/local/test目录下大于100K 的文件转移到/tmp 目录下。
答:
find /usr/local/test -type f -size +100k -exec mv {} /tmp \;


如何将本地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


linux系统中如何获取pid为100的进程所监听的tcp端口,请给出详细命令?

答:

netstat -nlpt |grep 100


当用户在浏览器当中输入一个网站,说说计算机对dns解释经过那些流程?注:本机跟本地dns还没有缓存。
答:
a.用户输入网址到浏览器;
b.浏览器发出DNS请求信息;
c.计算机首先查询本机HOST文件,看是否存在,存在直接返回结果,不存在,继续下一步;
d.计算机按照本地DNS的顺序,向合法dns服务器查询IP结果;
e.合法dns返回dns结果给本地dns,本地dns并缓存本结果,直到TTL过期,才再次查询此结果;
f.返回IP结果给浏览器;
g.浏览器根据IP信息,获取页面;


描述Linux shell中单引号、双引号及不加引号的简单区别

答:

单引号:所见即所得,即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就输出什么。
双引号:把双引号里面的内容给输出出来,如果内容中有命令、变量等,会先把,变来那个、命令解析出结果,然后输出最终内容。
双引号内的命令或者变量写法’命令或变量’或$(命令或变量)
无引号:把内容输出出来,可能不会键含有空格的字符串,视为一个整体输出,如果内容中有命令、变量等,会先把变量、命令解析出来,然后输出最终内容,如果字符串中带有空格等特殊字符,则不能完整输出,需要改加双引号。一般连续的字符串,数字,路径等可以用,不过最好用双引号,替代之。


在mysql客户端查询工具中,如何获取当前的所有连接进程信息
答:mysql> show full processlist;

  • 10
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一些常见的Go面试题答案: 1. 什么是Go语言? 答:Go是Google开发的一种编程语言,它是一种开源的、并发的、快速的编程语言,最初由Robert Griesemer、Rob Pike和Ken Thompson在2007年创建。 2. Go语言的优势是什么? 答:Go语言具有以下优势: - 并发性:Go语言提供了轻量级线程(goroutine)和通道(channel)机制,可以很方便地实现并发编程。 - 性能:Go语言采用了垃圾回收机制、内存管理和优化,可以提供高性能的执行效率。 - 可读性:Go语言具有简洁明了的语法和清晰的代码组织方式,使得代码易于理解和维护。 - 跨平台:Go语言可以在多种操作系统和硬件平台上运行,包括Windows、Linux、macOS、Android等。 3. 什么是goroutine和channel? 答:goroutine是Go语言并发编程的基本单位,它是一种轻量级的线程,可以在单个操作系统线程中创建多个goroutine,从而实现并发编程。channel是goroutine之间进行通信的机制,它可以用于在不同goroutine之间传递数据。 4. Go语言支持哪些数据类型? 答:Go语言支持以下数据类型: - 整型:int、int8、int16、int32、int64、uint、uint8、uint16、uint32、uint64、uintptr - 浮点型:float32、float64 - 复数型:complex64、complex128 - 布尔型:bool - 字符串型:string - 派生类型:数组、切片、结构体、指针、函数、接口、映射、通道 5. Go语言中的defer关键字有什么作用? 答:defer关键字用于在函数返回之前执行一些清理操作,比如关闭文件、释放资源等。defer语句会被压入一个栈中,按照后进先出(LIFO)的顺序执行。这种机制可以确保在函数返回之前执行所有的defer语句。 6. Go语言中的panic和recover关键字有什么作用? 答:panic关键字用于引发一个运行时错误,表示程序发生了严重错误,不能继续执行。recover关键字用于捕获panic引发的异常,并进行处理。通常情况下,recover会被用来恢复程序的执行,从而避免程序崩溃。 7. Go语言中的接口有什么作用? 答:接口是一种抽象数据类型,用于定义对象的行为规范。通过接口,可以将不同类型的对象进行统一处理,从而提高程序的灵活性和可扩展性。在Go语言中,只要一个对象实现了接口规范中的所有方法,就可以被认为是该接口的实现对象。 8. Go语言中的垃圾回收机制是怎样的? 答:Go语言采用了垃圾回收机制,用于管理程序中的动态内存分配。在Go语言中,垃圾回收是自动进行的,程序员不需要手动进行内存管理。垃圾回收机制会周期性地扫描程序中的内存,找出那些不再使用的内存块,并将其回收。这种机制可以大大减少程序出错的概率,提高程序的稳定性和安全性。 9. Go语言中的内存分配机制是怎样的? 答:Go语言中的内存分配机制采用了堆和栈的方式。堆用于存放程序运行时动态分配的内存块,栈用于存放函数调用时的局部变量和参数。Go语言的内存分配机制是自动进行的,程序员不需要手动进行内存管理。 10. Go语言中的并发编程有哪些注意事项? 答:在Go语言中进行并发编程时,需要注意以下事项: - 避免竞争条件:多个goroutine同时访问共享资源时,可能会出现竞争条件,导致程序出错。可以通过互斥锁、读写锁等机制来避免竞争条件。 - 避免死锁:当多个goroutine互相等待对方释放资源时,可能会出现死锁。可以通过合理设计goroutine之间的通信和协作方式来避免死锁。 - 避免资源泄漏:当goroutine创建的资源没有得到妥善释放时,可能会出现资源泄漏。可以通过defer语句或其他机制来确保资源得到正确释放。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值