FizzBuzz是对编程能力的简单测试,通常由雇主用来清除实际上无法编程的人。是否有针对系统管理员和一般IT人员的等效测试?
澄清我正在寻找可以在面试环境中准确测试的东西。显然,就像FizzBuzz不适用于程序员一样,这并不能清楚地确定合适的人选。我只是在寻找那些认为他们可以浏览系统的人,因为他们可以从事系统管理员/ IT人员的工作。
FizzBuzz是对编程能力的简单测试,通常由雇主用来清除实际上无法编程的人。是否有针对系统管理员和一般IT人员的等效测试?
澄清我正在寻找可以在面试环境中准确测试的东西。显然,就像FizzBuzz不适用于程序员一样,这并不能清楚地确定合适的人选。我只是在寻找那些认为他们可以浏览系统的人,因为他们可以从事系统管理员/ IT人员的工作。
Answers:
我认为您不会针对管理员提出这样的单个测试,因为管理员的定义(就本网站而言)过于宽泛。FizzBuzz测试可以用任何编程语言实现,因此,无论您是雇用PHP开发人员还是从事嵌入式C的人员,都无关紧要。
在管理方面,您可能正在雇用网络管理员,存储管理员,服务器管理员(进一步分为Windows,Linux,* nix,大型机),桌面管理员/支持,服务台甚至特定的应用程序管理员(Exchange,Lotus,SAP等)。
当然,您可以触及的领域是TCP / IP和CIDR,因为网络通信是大多数职位的基本技能,但即使对于入门级药水也可能不是必需的(与开发人员的FizzBuzz不同)。
就个人而言,我更喜欢使用开放式方案来查看申请人的故障排除过程以及他们如何很好地分析新情况。更好的扩展是让申请人在实际问题上直接与内部客户合作。您不仅可以看到上述内容,而且可以看到他们的客户服务态度。
我认为您会发现FizzBuzz很少使用,然后仅由对编程原理知识最少的非常贫穷的面试官使用。像这样的任何通用测试方法都被彻底击败了,因为解决方案被甚至认为自己有资格参加面试的任何人广泛宣传和记忆。对于sysadmin进行的任何此类测试都将同样无用。
标准化的测试问题过去一直都是毫无价值的。在求职面试中,每年参加学校考试的问题都一样。他们只工作一次。
您需要的是面试官要熟练,并且具有“阅读”他人的能力。关于候选人如何回答问题,比答案本身要了解的更多。没有捷径。至少没有任何值。
我仍然发现旧的“如何安全且可移植地删除名为'dash-eff-arr'(-fr)的文件?” 可以合理地预测某人对更高级问题的表现如何。我通常建议将其作为筛查问题。
在我看来,那些在建议,报价和转义方面四处徘徊的人在生产系统的根部外壳上可能存在危险。那些乐于提出建议的rm -- -fr
人只会稍微好一点。那些真正了解shell如何解析命令行的人...关于shell解析的内容与命令的参数(例如rm
)在其参数向量上收到的内容之间的区别的理解,通常对其他系统管理资料有很好的了解,例如好。
一个更有趣和更复杂的问题:
Given a tape backup, a boot/root or rescue disc of your choice, and
a system with a freshly replace, blank, hard drive ... how would you get
that system back into production? What other information do you need
before you can proceed?
(我通常会提供一个特定的tar
命令和一个日期作为磁带盒上的标签;并用fdisk -l
和df -k
输出打印出来;并且我通常会允许他们将更tar
改为任何类似的cpio
,afio
甚至pax
命令;存档的详细信息实用程序不是我的问题的重点)。
这个问题不适合筛选...访调员必须对答案有扎实的理解,并且应该能够核对一下过程中的大约十个步骤。我非常原谅一些次要的序列问题,尤其是如果被调查者抓住了它们-例如,意识到他们必须fdisk
在一系列mkfs
and mount
命令之前运行它们。
从本质上讲,我会说这是最接近fizzbuzz场景的情况。
另一个最爱:
You have just been given responsibility for a departmental server running Linux.
The former admin has been "hit by a bus" and no one knows the root password for
this system. How do you proceed?
这是一个对话框。我希望他们的核心是对如何将系统引导到单用户模式并强制更改密码以及如何从应急光盘引导并完成相同任务的理解。(因此,我依次揭示了系统已配置,sulogin
并且有一个引导加载程序(GRUB或LILO)密码来防止easy init=/bin/sh
)。那只是所需答案的纯技术部分。
但是,我通常也关心它们应该提出的更广泛的考虑。他们问是否有人有权sudo
访问该任务?他们如何期望安排服务中断?他们是否询问前管理员是否怀有敌意或系统受到威胁?他们是否对管理人员应如何代管密码提出一些意见或建议?
我想不出什么正式可用的方法,但是这里有一些更一般的技巧。
向他们询问备份。如果他们没有说“备份的目的是还原”,那么您就不要他们了。
当Sh-t先生遇到Fan先生并决定建立美好的关系时,您需要了解他们的反应。假装在面试中遇到紧急情况,看看他们是否至少要以明智的方式处理这种情况,或者是否像在生火一样围着圈子跑来跑去。
您需要淘汰技术传播者。这些人从来都不是很好的选择,因为他们总是想使用自己喜欢的技术,而不管它是否合适。一些主要问题应该可以帮助您。
您还需要清除“象牙塔”类型。系统管理员应随时准备卷起袖子,并在需要的地方弄脏手。假的紧急情况可能在这里有所帮助。
请他们提出SSL的疑难解答树。当今,大多数新的IT系统都依赖于Web服务器,而SSL则依赖于许多技术。从“用户抱怨该网站说安全证书无效”开始,然后让他们开始列出要查找的内容。
您要查找的是三件事:
如果您实际上可以从现有的问题跟踪器中提取问题的初始模糊描述,则可以加分。寻找问题的根本原因可能很困难;正如Torvalds所说:
有人发现了问题,其他人也理解了。我会记录下来,说找到它是更大的挑战。
系统管理员应该能够为您提供详细的分步说明,以在至少一个常用操作系统上配置网络,并且他应该能够做到这一点而无需看或触摸计算机。
@Ben,给他们一台计算机不能达到测试的目的。我认为配置网络是每个系统管理员几乎都应该致力于内存的一项非常基本的技能。
多年来,我大概接到过十几个电话,其中有人帮助我的一个笔记本电脑用户设置了一个静态地址或代理,以便它可以在某个外部网络上工作。当他们搬到另一个网络时,他们打电话给我,询问他们需要做什么来修理计算机。这些呼叫似乎总是在我不在计算机前时发生,并且呼叫者通常具有足够的政治影响力,需要立即提供帮助。我并不是说您必须了解所有详细信息,例如菜单项的确切名称,但我认为您应该能够带别人进行故障排除和修复计算机上的网络设置,而不必站在那台计算机的前面。
这是一个简单的问题,在执行系统管理员职责时,您是否使用命令行或鼠标。
如果他们说老鼠,我给他们看门。
screen
会话其中平均20个弹到其他系统,IRC等各种连接保持状态