您最好的高级Linux面试问题是什么[关闭]


25

时不时地在这个站点上,有人问什么是系统管理员面试问题。通常,阅读它们时,它们都是初级到中级的问题。

我想知道您最好的高级Linux管理员面试问题是什么。

我的两个是

1)如果您已经登录系统,如何停止前叉炸弹

2)您删除了apache正在使用的日志文件,但尚未重新启动apache,如何恢复该日志文件?


第一个Q的另一个变体是::(){ :|:& };:您的系统上做什么,为什么要关心它?干杯!
MacUsers 2012年

Answers:


13
  • 共享库的依赖性如何?
  • 如何跟踪系统调用和信号?
  • 如何配置应用程序?
  • 如何在文件中打印可打印字符的字符串?
  • 索引节点中存储哪些字段?
  • 什么是nscd?
  • 什么是Automake和Autoconf?
  • 不使用useradd / adduser将用户添加到系统的步骤是什么?
  • 如何查看有关ELF文件的外观信息?
  • 特殊文件的主要和次要数量是多少?
  • 链路层如何过滤?

16
  • 告诉我您完成的最后一个大型Linux项目。有哪些障碍?您如何克服它们?有时,问这些开放性问题会揭示出远远多于Google可以轻松回答的小问题。一位出色的高级管理员无需了解所有内容,但他们应该能够为不可能的项目提出出色的解决方案。
  • 您是否为任何开源项目做出了贡献?只是文档无关紧要,它显示出对工艺的某种奉献精神。

要弄清楚它们有多好,请问开放式问题...


2
+1开放式问题。封闭的问题归结为了解琐事。
Sirex

2
绝对。对我来说,长者不仅是可以记住您可以使用Google的东西的人,还可以是解决复杂问题,设计,在项目中发挥领导作用的人。“您能记住如何使用ldd”不会告诉我是否正在雇用可以帮助您查明复杂的多层生产应用程序中的缺陷或进行有意义的容量规划的人员。
罗杰

9

问题:描述一个出现“文件系统已满”错误但df表示有可用空间的情况

答案:文件系统可能用尽了inode,“ df -i ”将显示该信息。

开放式问题:

  • 告诉我您如何管理知识数据库(Wiki,大纲,电子表格,纯文本文件)以及为什么选择特定选项
  • 您使用版本控制吗?哪一个,为什么?您的提交消息好看吗?

3
相关的可能是,“为什么du和df会不同意?” -由于杜检查目录的使用,但DF检查free'd索引节点和文件可以保持打开,他们正在删除后采取的空间
西蒙斯

+1和Matt的评论(实际上,我在所有unix访谈中都问这个问题,而不论其级别如何。它表明有人对文件系统概念的理解程度如何)
voretaq7 2011年

哦.. du /和df之间的区别总是很不错
Mike

做个记录啊哈!现在我知道这个了!:)
IT大师先生,

8

我想问的一个问题是,我很高兴被问到:

告诉我您在[最近一段时间]犯的最大错误,以及今天您将如何做不同的事情。您从这次经历中学到了什么?

有很多具有10年经验的系统管理员。许多人似乎连续十年有同一年的经历。我希望团队中有一个拥有10个不同的,逐渐改善的年份。而且,如果您从未犯过大错误,那会让您想知道是否应该把桌子收拾好,那么您还没有真正过着生活。:)

我不在乎琐事问题,无论是面试官还是被访者。我喜欢以前困扰我的供应商的问题,或者那些给我“尤里卡”的问题。片刻。


我支持这个问题
ZaphodB

7

我一直是

  • 尽可能详细地描述Linux引导过程,从系统启动时开始,到出现提示时结束。

我想问一些问题,以证明某人对不同Unix之间差异的了解程度。我还喜欢看一个人对linux以一种方式做事的理解,而这不一定是其他人做事的方式。其中许多问题都围绕默认的Linux工具,例如:

  • 告诉我两种同时重定向stderr和stdin的方法
    • &>>/dev/null 2>&1
    • 展示了bash与bourne shell的知识

另一个要点:对于高级职位,我希望看到公开写作和演讲技巧的证据。如果您是高级人士,则应该在网络和杂志上多次发表。哎呀,拥有自己的技术博客就足够了。在会议上发表至少一篇论文是一大优势。我认为这尤其使初级和高级Linux管理员分开。


我的问题的变种是:从POST结束直到看到登录提示,请按照您认为适当的方式详细描述运行Linux的PC服务器的启动过程,并着重于故障排除?(因此,有关如何通过BIOS找到引导设备以及如何通过MBR中的代码获取引导加载程序,内核如何启动初始化过程等等的事情,都是相关的;因为这些都提供反馈并具有相关的疑难解答脚步)。
Jim Dennis

6

我只是跑了'chmod -x / bin / chmod'。我做了什么 我该如何恢复?

描述TCP的握手过程。

traceroute如何工作?

什么时候需要使用CTRL-Z或CTRL-D?

粘性位是做什么用的?

您可能需要调整哪些内核选项?

您如何知道正在运行的发行版?

您如何知道正在运行的硬件?

SAN,NAS和本地磁盘有什么区别?

我有30台服务器,我不确定每个服务器是否具有相同的apache配置。我如何找出有多少份副本以及区别是什么?

什么是chroot监狱?

您如何知道自己是否被黑客入侵?

为您可以想到的所有两个字母unix命令命名,它们的作用是什么?如何在系统上查找所有两个字母unix命令。

我还要求现场人员进行一些简单的作业。特别是如果他们拥有一定的脚本编写经验。我要求他们解析两个不同的数据文件(一个csv,一个| sv)并有效地进行数据联接。我放入了一些陷阱(格式错误的数据),缺少联接所需的字段,奇怪的乱序数据等。我要求他们向我发送源代码和输出。(机器问题样式)我通常给出3-4小时的时间窗口来解决它。这项任务已帮助筛选出许多候选人,这些候选人将“脚本”列为一项技能,但在承受压力时无法掌握基本知识。


我不认为这些技能足以胜任高级职位(基于我可以回答这些问题,而且我是大三学生)。
Sirex

有一段时间,我可以回答所有这些问题,但我希望能够在睡眠中做到!我认为我需要更多学习:)
IT大师先生,

6

我最喜欢的结束语:

如果您被困在只有5个命令行实用程序的荒岛上,您会选择哪个?

我的个人清单:

  • ping
  • tcpdump
  • ps
  • lsof
  • 痕迹

这是一个简单的问题,以查看管理员最熟悉的命令是什么,它还有助于通过非正统(有趣)的问题来证明他们的舒适性。一些受访者阅读的方式进过多的问题和心慌。如果您不能回答这个基本问题,则表明您对自己的技能没有信心。另一方面,如果您过于努力地提出完美的清单,则可能暗示您害怕失败,无法思考。

诚然,这对初中/中级申请人更有用,但也可以问一个。:)


5
我想我会busybox介绍一些基础知识,以及mplayer帮助解决无聊问题。这使得我三剩菜....
mattdm

2
我只想回声和邮件-回声“请过来救我!” | 邮件-s救援admin@mcga.gov.uk
symcbean 2011年

“邮件”和“ ntpdate”。我可以使用Mail寻求帮助,并使用NTP确定我的确切纬度和经度。:)
厄尼2015年

5

我用这个:

  • 当Linux内核启动OOM杀手时会发生什么,它如何选择首先杀死哪个进程。

和其他我从头顶上没有的东西。


这是一个很好的问题。.我认为没有很多高级人员会知道这一点。我当然没有,这让我读下去。谢谢!
麦克

我的回答是:内核维护与虚拟内存分配和页面调度活动有关的各种统计信息。当超过某些阈值时,将调用OOM杀手来选择终止过程。过去几年中,几乎所有内核版本和供应商内核构建都对细节进行了调整和更改。
Jim Dennis

1
(我的总体观点是,正常的系统管理员应该认为OOM杀手进程的选择几乎是随机的。几年前,我花了大量的时间来追踪我的Portmapper进程中的零星神秘死亡事件(每周一次,跨多个集群)。几千台计算机)仅发现它已被OOM杀手杀死-尽管它使用了很少的内存,几乎从不分配额外的内存,从不进行任何派生,并且在大多数方面,它是OOM极不可能的候选者选择)。(尚未对它们进行任何sysctl调整)。
Jim Dennis

我的大脑刚刚爆炸-这是非常好的问题!
IT大师先生,

吉姆,你是对的,它确实一直在变化,但是我更感兴趣的是被采访者将如何开始思考它,以及如果他能提到如何保护某些被杀死的过程,那么首先杀人和奖金会更有意义。
2011年

4

我在这里很喜欢。该问题对于候选人将如何参加更高级的问题具有极好的预测价值:

用户/同事向您投诉,某个系统的根目录中出现了一个名为“ -fr”的零长度文件。

删除该目录条目的最简单,最安全,最便携的方法是什么,为什么这个问题值得一问?

人们说诸如此类的话会得到一半的荣誉:rm -- -frperl -le 'unlink("-fr");'(他们很有效,但不能以最佳方式携带)。

那些继续使用shell命令行引号和转义字符的人几乎和根本不知道为什么这样的文件名根本没有问题的人一样危险。

那些发笑的人……对使用“。”表示任何疑问,并指出这是USENIX的UNIX shell FAQ中最古老的条目之一。


您所说的“最轻便”是什么意思?无论如何,我的答案是:“按索引节点号删除”。find . -inum <number> -exec rm -i {} \;
MacUsers 2012年

@MacUsers:在我的书中,这与使用Perl来完成任务(半信用...可以工作,但是某些版本的find可能不实现-inum选项,并且与rm ./-fr( –并非“最简单”),特别是我们可以更轻松地衡量用户通过电话
Jim Dennis

想知道您的答案以获得“满分”。干杯!!
MacUsers 2012年

最简单,最可移植的方法是:rm ./-fr ...它始终在UNIX的最旧版本中运行,并且只需要插入两个未移动的按键即可。更重要的是,可以在任何glob模式前加上./作为前缀,并确保不会因某些外部命令将glob的shell扩展误解为开关。(程序必须将其args连接在一起,并重新解析该字符串,以至于被./foo \ -bar ...包含空格字符的文件所混淆)。
Jim Dennis

'您的perl取消链接示例似乎缺失了。
GnP

3

“您没有使用Linux的哪些Unix?您能告诉我它们之间的一些区别吗?”

因为毕竟,不是整个世界都是linux(我使用了少数非linux商业unice和一些非linux开放的unice,如果您依靠另一个环境中的一个技术,您会射击你自己的脚)。


4
Solaris killall!= Linux killall
user9517支持GoFundMonica

至少在过去,在AIX中编辑配置文件不会导致守护程序更改行为,因为它们是从二进制数据库而不是从纯文本配置文件中获取配置的。
Vatine 2011年


1

我会说,我感觉很多“ __在哪里,__在哪里,你如何__”类型的问题对我来说都是初级/中级问题。当我面试中级Linux职位时,我会问一些典型的基础知识(内核是什么,符号链接和硬链接有什么区别,如果我从chmod中删除可执行位该怎么办?) 。我认为有些问题是更高级的问题:

  1. 在SysV init上使用systemd有哪些好处?缺点?Debian刚刚迁移到systemd而不是Upstart。这背后的原因是什么?
    • 显示的一件事是对Linux社区的兴趣和投资以及这如何影响sysadmin的日常工作。它表明此人被告知该领域的发展情况,并且(可能)愿意随之变化。
  2. 如果我想在远程服务器上安装Apache,那么最好的方法是什么?如果我想在100台服务器上做同样的事情怎么办?如果其中一半是RHEL而一半是Debian,该怎么办?
    • 熟悉使用第三方软件解决实际问题;熟悉利用配置管理实用程序。
  3. 在架构级别和应用程序级别设计高可用性应用程序时,需要考虑哪些因素?
    • 表明这个人可以考虑一个大问题。表明他们了解负载平衡的工作原理,无状态应用程序,或者显示有关公共Apache配置选项和模块的知识,这些选项和模块用于多线程应用程序以及单个服务器级别的性能优化。
  4. 微内核和整体内核之间有什么区别?Linux是单片内核有什么优势?
    • 比用户空间更深入地了解Linux系统。
  5. 如果我通过浏览器输入“ www.google.com”并按Enter,那么从我的键触底到达页面到在浏览器中呈现页面时,会发生什么?
    • 即使这个职位不是网络工程师,我希望人们能够在微观世界之外思考。这涉及到很多网络基础知识,以及它们对单个系统和小型网络的适应性,以及它们如何适应大型系统。这可以解决本地浏览器/ OS DNS缓存,ARP如何工作,路由表如何工作,递归DNS查询是什么,BGP / OSPF的意义以及它们在较大网络中的作用,SSL握手和一般的加密技术,TCP连接,以及其他有用的小窍门。

这些只是一些简单的例子,但我认为一般来说,高级管理员应该熟悉全局概念,而不是Google可以做的事情。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.