如何面试系统pipe理员候选人?

你会问什么样的问题,你会描述什么样的情况,你会寻找什么样的答案?

我不要问具体的问题。 我想知道哪些面试策略对select合格的候选人是有好处的。

我问三个类别的问题:

  • 技术知识 – 我想确保候选人知道他/她应该知道什么。 例如,告诉我RAID 0,RAID 1,RAID 5,RAID 1 + 0和RAID 0 + 1之间的区别。 如果是AD目录服务pipe理员,请告诉我森林和域级别的FSMOangular色以及他们各自的职责。 另外,这也是我问他们感兴趣的技术的地方。他们是否在机器人身边build造? 好! 他们编程说机器人? 真? 所以我有一个可以做一些编码的人,知道排除故障的麻烦。 优秀! 像这样的东西。
  • 个性 – 我会问他们如何处理不同的情况。 情况如下:“PM认识到时间表中有错误,你知道错误是PM的错,这个错误会导致你两个周末背靠背,你是怎么处理的? 基本的问题揭示候选人如何思考,以及他们是否知道如何做一个团队的一部分。 这样不会淘汰那些知道正确答案的人,也不会去做,但是会淘汰那些不知道如何和别人打好关系的人。 我也会问关于社区参与的问题。
  • 以往的经验 – 我通常要求候选人给我一个过去的情况或项目,他们是主要的一部分。 我想知道他们面临的挑战以及他们如何处理他们。 我也要求给我一个情况不好的情况。 候选人学到了什么教训? 候选人怎么做,事后思考,可能会扭转局面(如果候选人不能,候选人是否认识到这一点)。

这个答案涵盖了需要调查的三大领域。 但是,有一点需要考虑,特别是在那些基础设施要求较为严格的小型商店中,要求提出的技术问题范围非常广泛,可以在不同的抽象层面上进行回答,具体取决于候选人的专业知识。 这可以让你了解每个人的能力,让他们展示他们的专业知识,同时让你直接比较不同的候选人的答案。

我曾经问过的一个很好的问题是:

想象一下,我已经把你login到这里的一台机器,并提出了一个terminal。 您inputwget http://www.google.com/ 。 怎么了?

我以我的networking偏见,从DNS解决scheme开始,接着进行代理configuration,然后进行路由决策并build立TCP连接; 另一位候选人则根据HTTP会话进行回答。 当我问采访者他听到的最好答案是什么时,他的回答是:

“好吧,它从键盘中断开始……”

技术问题是重要的,回答的方法几乎与正确的答案一样重要。 (IT部门最后需要的是在整个组织中以敌意和傲慢的姿态破坏其善意的人)。

但这是我最重要的问题 –

当我遇到一个技术问题时,我对一个“真正的”IT公司的第一次采访就结束了,我回答说:“我不知道”。

答复是:“好的,你什么时候可以开始?”

我刚从大学gradle,面试官想知道我能够认识到我的知识/经验的极限。 这是我一直跟着我,我认为这是一个系统pipe理员最重要的属性。 具体的知识是伟大的,会给你一个腿,但如果你不能承认不知道,你会进展得非常缓慢,如果有的话。

我经常会采访人们的入门级职位,这意味着我无法讨论有意义的工作经历。 我经常讨论个人项目,但是我经常问的两个问题是“你能描述一下你的家庭networking吗?” 和“你如何备份你的家用机器?” 一个真正感兴趣的人可以站在白板上30分钟讨论这个,进入IP地址,无线安全等。一个可怜的候选人会耸耸肩,告诉你他的兄弟设置它。

不要问“琐事”的问题 – 一个单一的,高度具体的答案的问题。 在压力下,人们可以忘记那种事情。 如果他们的工作需要他们知道V.35接口上的哪个引脚被用来传输数据,他们可以在他们工作时查找它。 一般问题可以帮助你了解候选人比琐事更多…我们也不喜欢脑筋急转弯。

系统与networkingpipe理的实践

问不同types的问题,这将有助于你了解候选人。 以及他们将如何适应您的工作组。 在古代。 大多数SA是物理学家,天文学家,math家和工程师。 为什么? 可能是因为出色的故障处理技巧,并且logging得很好。

几个问题要问:

技术

  • 对我来说,就好像我什么都不知道,TCP / IPnetworking是如何工作的。
  • 对我来说,就好像我不知道电脑是如何工作的(一个基本的冯·诺依曼设备)
  • 给我画一个简单的networking图:你有20个系统,1个路由器,5个交换机,2个服务器和一个小IP块。 走。
  • 根据招聘信息,你期望在这里做什么?
  • 向我描述你希望在这里完成的事情。
  • 保持文档最新的最佳方法是什么?
  • 什么是你曾经参与过的最严重的灾难恢复事件? 告诉我你做了什么。
  • 为什么你想成为一个SA?
  • 你如何评价自己作为一个SA?

商业

  • 你认为IT驱动业务还是业务驱动IT?
  • 您如何看待我们目前的业务模式?
  • 你能做些什么来使我们更有利可图?
  • IT与我们公司的接口如何?

个人

  • 你最喜欢的笑话是什么?
  • 我明天应该读什么书? 为什么? (然后去图书馆,并浏览它)
  • Thomas Limoncelli是谁? (嘿嘿,GOTCHA!)

大多数人都可以在纸上看起来很好。 有些人可以通过技术讨论来阻止他们。 很多人都是公共演讲者。 你必须问问开放式问题。 不是“是或否”,观察他们的思维过程和他们的故障排除能力。 最有说服力的是他们用来描述复杂stream程的隐喻。

聘请一个SA是一项非常困难的任务。 技术面试不太可能描述你将要招聘谁。 这不是他们现在知道的。 这是他们愿意学习的东西,他们学习和应用的速度有多快。

如果我是一家软件公司的系统pipe理员面试小组的成员,他们希望公司的软件能够在服务器上运行,那么我有兴趣知道应聘者对开发人员的期望。 他们如何与开发人员进行互动 – “我们与他们”还是“全部与不同的专业知识相结合”? 他们是否有任何发展与资讯科技(或任何一个部门被称为)冲突的经验,以及如何解决? 他们是否有兴趣了解开发人员使用的技术和术语,是否愿意帮助开发人员在自己的专业领域进行教育,这样每个人都可以更好地沟通?

无可否认,这部分是为了满足我自己对系统pipe理员和开发人员之间关系的兴趣,以及对候选人的判断。

确保他不只是书本聪明。 我觉得给予某种testing的手很好。

“空白白板”问题是真正将羊与山羊分开的问题。 “这是networking边界,这是一个在IIS上运行的Web应用程序,这是你的SQL后端;这是一个UNIX盒子,上面有另一个黑盒子服务,你如何使这个容错,安全等? “

我从一个候选人那里得到的唯一答复就是一个“你在开玩笑吧,是吧?

我正在为一家创业公司招聘Linuxpipe理员,所以我的问题是那些应该从经验中汲取经验的人。 手机屏幕:

  1. 在现代Linux系统(FHS)中尽可能多地列出顶级目录(大约有20个,没有人超过75%,即使是那些每天都要处理的目录)?
  2. 什么是PATH环境variables用于?
  3. 以一名因参与开源/免费软件(Linus Torvalds除外)而闻名的人(最常见的回应是Richard Stallman)

对于电话采访,我试着让他们谈论他们以前的项目,家庭networking,他们有多less台电脑,以及他们如何做,等等。

亲自面对,我喜欢给他们一个真正的问题,我面对,并要求他们为我解决。 我会比较他们的答案和我已经在思考的任何解决scheme。 如果他们的答案更好,我的项目就会顺利进行。 如果他们的回答更糟糕,采访过程已经移动了。 无论哪种方式,我都可以继续参与自己的项目,完善或放弃候选人或想法。

否则,它会更深入地谈论他们期望从工作环境中得到什么,试图找出他们是否是9-5er,或者如果他们真的关心他们在做什么 – 没有其他因素,Linuxtypes往往(虽然他们可能会吸),networking工程师往往是9-5(谁也可能会吸)…只是我的经验。

假设他们通过了所有这些,我也想在一个networkingconfiguration错误的孤立networking上安装一个新的Linux机器,连接了奇怪的设备,最后还有一个松动的电缆用于“拧紧”,然后让它们恢复正常线上。 我让他们一个人,定期回来检查他们,虽然我可以轻松地徘徊,如果我想成为一个硬派。

面试的人通常需要大约30分钟的时间才能走进这个完全不熟悉的环境,并重新开始工作。 这是真正的真实世界testing,究竟需要多长时间才能排除一个全新的,完全破坏的环境。

在仔细整理简历后,我仍然有20个候选人。 约150人中有20人通过了第一次选拔,让我花了三四个小时的时间来采访他们。 我select的主要标准是:

  • 在一个地方训练的能力
  • 技巧来select最佳的方法
  • 技能来收集和解决非标准情况下的问题
  • 一个好的知识库: 这就意味着,应该知道计算机技术的历史,掌握高层次的理论,不仅知道“做什么”,而且知道“为什么”

为了了解他们在一个非标准的情况下收集和解决问题的技巧,我被问到他们,例如:“如果你有物理上的电脑访问,但没有任何帐户密码?“ 之后,我问他们“如何修补被破坏的系统?”。 我给出了一些病毒行为的例子,并问,他们​​会做什么来防止损坏,尽可能less地返回function和丢失的数据,以及更多关于非标准仪器使用的问题。 有一次,我问了一个候选人: “你问什么问题,如果你正在采访我,知道我在非标准情况下有多好? 🙂

要知道,他们在寻找最佳方法方面performance出色,我给了他们一些configurationnetworking,邮件服务器或networking网关的特定参数的练习(“我需要它是连接less量客户端的非常快速的networking服务器对,是的,我想要一些服务器端脚本语言,给我看一些统计数据,我应该select什么,为什么你这样做更好?你能告诉我在我们的testing服务器上,如果你有还剩20分钟?“)

在一个地方进行培训的能力 – 不是很容易检查,但是我要求一些候选人制作示例configuration文件或脚本,然后给他们一些提示,看看他们能否在这之后做得更好。

知识库 – 我最喜欢的部分之一:什么是OSI? 为什么TCP / IP称为“协议 ”? 你知道哪些计算机科学英雄? 什么是Windows注册? 那么类Unix系统呢?

而且非常重要 – 他们必须热爱他们的工作! “你读过一些经典作家,比如K&R吗?”,“你对计算机技术感兴趣多久了?”,“你开始学习电脑吗?”,“你有没有testing计算机/小networking在家?” (如果这是真的,这是一个非常好的迹象!)。

K.布赖恩·凯利的名单很好,但我想强调的是,提出疑难解答的问题是重要的。 select你遇到的几个难题,让候选人告诉你他们将如何解决问题。 知道很多技术花絮很重要,但以我的观点来看,用系统方法解决问题是非常重要的。

我喜欢提出与这个问题的正常forms相反的问题。 例如,在Web开发中,一个常见的问题是“什么时候发布表单而不是GET?” 但是我反问:“什么时候使用GET而不是POST?” 这迫使人们思考弊端而不是优点,或者考虑他们做决定时做出什么样的权衡。

IT方面的代表性问题可能涉及两种类似的技术select; 也许像“什么时候selectWindows工作组而不是域?”这样的问题。

我常常在笔记上留下所有在日常工作中遇到的古怪奇怪的东西,而不是“如何…”书籍中的那些东西。 然后,我可以在面试中调用其中的一个或两个情况,而不是作为一个testing来开始对话,我更关心他们如何处理这种情况,而不是如果他们知道答案。 我总是问一个关于“尖端技术”的问题,看他们是否对新技术感兴趣(或者事实上对TOO感兴趣)。

一个小题目 – 但从他的官方谷歌博客一个有趣的故事:

我如何去Google(第1章)

然而,我们的工程师们往往会来得更多样化,偶尔也会有更多的路线。 有些人是从gradle学校,或朋友或前同事招募的。 其他人只需将他们的简历发送到[email protected]。 然而对于一些工程师来说,path更加有趣。

请阅读关于这个非传统的博客文章的其余部分,但在我看来,这是聘用合适人选的有效方法。

面试时,我并不是真的希望看到候选人是否能够回答具体的技术问题。 我认为应聘者知道去哪里找答案更重要。

应聘者不应该只是说“我不知道”。 我正在寻找更多的“我会谷歌那个”或类似的东西“我是[ACM | SAGE | LOPSA |服务器故障]的成员的答案,我会检查[邮件列表存档|网站]寻求帮助回答这个问题“。

当他们不知道问题的答案时,找出候选人将转向哪里是一个很好的方法来了解他们的能力。

我曾经作为一家大公司的雇员和一家小公司的老板面试过人。 我期待的头号品质是“有远见”和“修饰者”之间的平衡性格。

如果你有太多的幻想,你会得到像Twitter一样的系统。 (如果你还没有阅读过,那么他们早期的一半工程技术说明会导致大多数pipe理员做一个facepalm,然后前往吧台。)如果你有太多的修理工,你会有200个很棒的系统各地的失修状态,所有的网站都运行在一个运行BSD 4.2的系统pipe理员桌下的一个十岁的盒子里。

扁平化,我聘请的最好的人是从康涅狄格州的一所小型私立学院获得双重宗教和哲学学士学位的人。 他在创新,奉献,聪明,面对逆境中坚持不懈。 他在第一个女儿出生前一个小时才通过系绳手机检查密码。 他继续做了令人惊叹的事情,现在是一个主要PHP框架的社区领导者。 好人。

我曾与之合作的最糟糕的人是一个非常沉浸于我们工作的组织中的人。 他的父亲在那里工作,他从高中gradle就在那里工作。 至less有十几次,我几乎告诉他,如果他不喜欢他的工作,他应该放弃,让我们其余的头痛。 他是一个修理工。 同时,还有一个巨大的BSD和Gentoo粉丝。

除此之外,* nixangular色中的任何系统pipe理员都应该能够描述为什么这很有趣 。

我总是要求候选人在1-10的位置上对自己进行评分。 然后,根据这个答案,我提出与他们自己的水平相匹配的问题。

如果职位需要使用脚本,我会经常要求举例,然后在第二次面试中给他们一个场景,并要求他们自动化他们的回应。 我只需要确定他们的方法不是千篇一律的。