OOP在访谈期间用于编码测试的问题

Kei*_*las 12 oop

作为第二次采访,我让人们坐下来编写代码......我试着让问题真的与技术无关.

我的编程问题,我没有真正运用人们的OO能力.我倾向于尝试在2小时内解决编码问题.所以,我一直在努力找到一个足够小的问题并且足够参与其暴露了人们的OO设计技巧.

有什么建议?

Jon*_*jap 16

这是我在一些培训中使用的一个问题,看起来很简单但是非常难以操作:

创建将正确表示以下构造的模型类:

  1. 定义一个Shape对象,其中对象是任意二维图形,并具有以下特征:名称,周长和表面区域.
  2. 定义一个圆,保留并准确输出Shape的上述特征的值.
  3. 定义三角形.这次,三角形的名称应该考虑它是等边的(所有三边是相同的长度),等腰(只有两边是相同的长度),或斜角(没有两边是相同的).

你可以继续使用四边形(包括正方形,矩形,菱形等)和其他多边形.

他们解决上述问题的方式将揭示了那些了解OOP的人与那些不了解OOP的人.


Ste*_*owe 6

理想情况下,您希望提出一个看似困难的问题,但如果您以OO术语思考,则需要一个简单,优雅,明显的解决方案

也许:

  • 我们需要控制对客户网站的访问
  • 每个客户可能有一个或多个人访问该站点
  • 来自不同客户的不同人员可能能够查看该站点的不同部分
  • 同一个人可能为多个客户工作
  • 客户希望根据人员,部门,团队或项目管理权限

使用面向对象技术为此设计解决方案


一个OO解决方案是拥有Person,Customer,Account和AccountPermissions,其中Account指定Person和Customer以及可选的Parent Account.使用递归的Account对象会破坏直接ERD解决方案可能产生的麻烦的人/团队/部门/项目结构


mde*_*dec 0

这些不是专门的 OO 问题,但请查看标记为面试问题的其他问题

编辑:实现一些设计模式怎么样?我在该领域没有最好的知识,但似乎你会以一个问题的价格得到两个问题。您可以在一个问题中测试 OO 和设计模式。