使用sysadmin / Perl / Linux背景“获胜”OO编程工作面试?

时间:2008-09-16 01:28:41

标签: oop sysadmin candidate

我是蒙特利尔的软件工程专业的学生。在过去的3年里,我有一些实习生(每年一次)。前两个(在同一家公司)主要是系统管理员工作,但我确实做了一些Perl程序(主要是日志文件分析和统计数据生成)。

我的其他人员在IT安全领域。我做了一个巨大的CGI Perl脚本来分析用户在互联网上花费的时间。

问题是,我真正想要做的是编程,但是我的实际工作主要是带有一些编程的系统管理员工作(由于我之前的Linux和UNIX经验)。

我今年冬天有另一个实习,但是我希望它能够进入OO编程领域和SW工程。

我有系统管理的背景,但我知道OO很好,因为我的大学课程和项目(C ++,Java,VB.NET,ASP.NET,但不是C#,不幸的是:()。

我的问题是:如何在面试中竞争,在OO领域没有以前的工作经验(虽然我用Java,Swing等建立一些项目,现在正在学习JSP),与其他学生一起OO在以前的会议中的经历?

我的“卖点”应该是什么?我认为自己是一名优秀的程序员,但由于缺乏经验,我之前的采访并不顺利。事实上,我去年冬天在系统管理方面得到了一个实习生,因为,那......这是我的背景!

如果我缺乏专业经验(但有很多个人知识(和兴趣)),有关如何说服潜在雇主我是最佳候选人的任何提示?

谢谢,

纪尧姆。

[编辑]

谢谢大家的支持!

我还没有离开学校;我还是全日制学生!我的大学课程是合作的:我必须获得3次实习才能获得毕业证书。

让我简要解释一下我的背景:这个冬天将是我的第四次实习。

我的前两个是在魁北克省高中毕业但是大学前学校的CÉGEP学习期间。

第一个是由CÉGEP实际给我的:一个雇主打来电话,寻找知识渊博的Linux系统管理人员。因为我是唯一一个在校外知道Linux的学生,所以我完美地完成了这项工作。我的采访甚至不是真正的,因为我的学校和雇主之间已经讨论了所有的细节:我知道我甚至在面试之前就被录用了。

第二个是在同一家公司,一年后,因为我非常喜欢我的第一个。

然后我到了我的大学,每个学生都需要有3个实习机会来获得他(或她)的文凭。没有真正的计算机科学访谈经验(因为我的第一次实习是“给予”),我在面试OO工作时做了一些搞砸。我终于设法接受了庞巴迪宇航公司的安全/系统管理员/ Perl编程工作的采访。

我的实习进展顺利,但现在我想要一个真正的软件开发工作。去年冬天,我认识的所有人都有一个,这意味着我在经验方面处于不利地位。

但是,我有编程经验。我所有的实习都要求我做一些大量的编程,特别是在Perl中。我的Perl技能非常好,我必须为我工作的两家公司开发一些不错的工具。我解决了学校里没有遇到的实际问题(比如如何有效地解析5 GB日志文件,同时保持尽可能低的内存使用率)。

显然,如果我在sysadmin域或Linux世界中申请工作,我今年冬天可以轻松获得实习机会。每年都有一些可用,我在这个领域有很多经验,但如前所述,我希望我的下一次实习是在SW开发。

我目前正在开发Java中的个人项目,这是一个小型的UML类编辑器。所以我要处理Swing框架,听众,MVC架构等等。这不像在“现实世界”中做的那么大,但它是一个有趣的项目,我有很多乐趣这样做,如果我能在下个月取得进展,我可能会投入SourceForge。在我学习JSP的同时。

至于OO开源项目,这是我应该研究的问题。我现在可能没有时间,距离我的第一次面试一个月,是一名全日制学生,但我并没有把这个选项带走。

无论如何,谢谢!

9 个答案:

答案 0 :(得分:4)

没有冒犯,但根据你的描述,你似乎没有资格参加'真正'的OO编程工作。学术课程是对语言的一个很好的介绍,但无法替代解决实际问题的最后期限波动,挑剔的用户,胆怯的管理者等等; - )

这留下了三个选项:

  1. 加入一个使用OO和您熟悉的语言的开源项目,并为此做出了重大贡献。这将提供真实编程经验的模拟[但不是真正的工作经验],并且可能帮助您在一年或两年内获得编程工作

  2. 或申请入门级面向对象编程工作,并通过你的沟通技巧,富有感染力的热情,渴望学习,对客户/用户的承诺/等等来打动面试官。单词,真实地呈现和推销自己,但作为“完整包”只需要爆炸的机会。

    • 如果你被拒绝了,不要气馁
    • 不申请您不想要的工作
    • 期待在工作中至少一年(如果不是两年或三年),真正学习如何在非学术环境中学习
  3. 作为顾问,程序员,自由职业者和/或开发产品开始自己的事业,并按照自己的进度学习。失学时风险较大,上学时风险较小,如果发生在空置的利基市场,可能会非常有利可图

答案 1 :(得分:2)

嗯,通过开源项目获得即时,有记录的体验的一个地方。加入一个项目,或者开始一个新项目。帮助提供有关OSS项目的文档(雇主希望看到这一点)。帮助编写单元测试,贡献补丁等。越早开始,越好。

开源经验是好的和经验,它表现出对开发的奉献精神和您工作的语言。

祝你好运

答案 2 :(得分:1)

能力和热情会让你走得更远。如果您可以回答面试问题,解决编程问题,并且您正在开展个人项目,那么缺乏经验不应该让您过多。

尽管如此,请务必确定问题。如果你没有经验,你必须知道你的东西是冷的,以弥补它。

一定要强调辅助项目。如果我采访那些喜欢在家里编码的人,他们会获得很多奖励积分。

答案 3 :(得分:1)

首先,我一直遵循的一件事从来没有让我错过诚实。如果你不知道什么只是说“我不知道”。这对于编程访谈非常重要,非常容易理解。

接下来,花时间开始和/或参与一些开源项目。说你在一个开源项目上工作说很多。首先,它表明您可以了解其他人的代码,并决心与编程社区中的其他人协同工作。这有很长的路要走。当他们确认我参与各种开源项目时,我遇到了实际上跳过筛选过程的雇主。这可能是对抗该领域经验不足的最佳方法。

如果您有经验/驱动器,则在用户组会议和/或代码营进行演示和/​​或编码会话。这也是一种长期的方式。显示您可以在这样的场景中与其他程序员交谈和交谈,它向雇主显示您喜欢编程并与社区合作。

最后,从低处开始。你需要从图腾柱的底部开始,但努力工作并表明你是一名优秀的程序员,招聘人员/雇主将会敲门。

答案 4 :(得分:1)

事实上你A)向这个网站发布了一个问题并且B)出现了一个博客,它表明你有激情。这是很多人没有的一件事,所以对你有利。用这种激情来增进你的知识。

如果您对编程充满热情,那么就开始编程吧。你无法通过思考方式来学习如何编程。获得经验的唯一方法是编程。对于像您这样的人,找一个您想要帮助的开源项目并开始贡献。这将为您提供使用源代码控制等方面的宝贵经验。

另一件事是找到一种技术,你觉得你可以真正落后并深入研究,了解有关该技术和该平台的任何和所有内容。让自己沉浸其中。我之所以这么说是因为如果你对此有所了解,并且对此有所了解,有人不会雇用你。他们希望你能够走进去做一份工作。这并不意味着你不应该“玩”其他东西,而是要帮自己一个忙,除非你有生产经验。

希望有所帮助。 -Keith

答案 5 :(得分:1)

带上一些Perl代码:

  • 演示了一个值得骄傲的编程风格,
  • 做了重要且有用的事情,
  • 是面向对象的(出于好的理由,不仅仅是为了证明你可以反复使用语法)

答案 6 :(得分:0)

为某些CPAN分发贡献补丁。这将表明您:1)使用CPAN - 管理者喜欢可以更快地编写代码的人2)可以读取和修改某些代码。

研究Moose / Mouse - 它是Perl的现代OO系统,从Python复制的旧OO系统要好得多。

答案 7 :(得分:0)

每家公司都不同。我是软件公司的高级软件开发人员,我甚至从未被问过编程问题。

在面试中尽力而为,只做自己。

我觉得OOP很有用,但有时会过度使用范式。功能分解可以让你走得很远。

答案 8 :(得分:0)

您的C ++课程可能获得了良好的成绩,但教授会建议您进行实习吗?

您学校的声誉或缺乏声誉可能会影响选拔过程。