立即注册
 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广州大学城网业务调整

[Java/JSP] 资深和经验丰富层次的设计模式面试考题 [复制链接] qrcode

查看: 2743 | 回复: 0

大法师的 该用户已被删除
发表于: 2012-11-30 16:23:27 | 显示全部楼层

  这些问题不仅涉及到设计模式也与软件设计。这些问题需要一定的思想和经验的回答。在大多数情况下,面试官不是寻找绝对的答案,但找你的方法,你如何看待一个问题,你可以想想,你能把那些不告诉你。这是经验来拍摄,什么东西是你考虑同时解决问题等综合这些设计问题展开思考过程。面试官问你一些时间写代码也因此做准备。你可以在这些问题,如果你知道的概念,例子和应用的编程和设计技巧。
  1。举一个例子,你喜欢抽象类,接口?
  这是共同的,但棘手的设计面试问题。接口和抽象类”编写代码的接口实现“设计原则,增加了灵活性,在代码中,比较重要的应对需求变化。这里有一些指针,它帮助你回答这个问题:
  2。在你只能扩展一个类实现多个接口,但。所以如果你扩展类的你失去了你的机会,延长另一班。
  3。接口是用来代表形容词或行为,例如可运行,可克隆,序列化等,所以如果你使用一个抽象类代表行为的类不能可运行与可克隆在同一时间,因为你不能延长2类但如果你使用接口的类可以有多个行为同时。
  4。对时间关键应用喜欢抽象类是略高于接口。
  5。如果有一个真正的共同行为的继承层次编码可以更好地在一个地方比抽象类是首选。一些时间,接口和抽象类可以一起工作,确定功能的接口和抽象类的默认功能。
  了解更多关于语言接口检查我的职位10件事知道的接口
  6。设计一个自动售货机,可以接受不同的硬币,提供不同的产品?
  这是一个开放的设计问题,你可以用练习,试生产设计文件,代码与中的测试而只是解决问题和检查多少时间,你来解决方案和生产需要的文物,最理想的是这个问题应该解决在3小时,至少一个工作版本。
  7。你有一个智能手机类和派生类如苹果,安卓手机,windowsmobilephone
  甚至可以电话与品牌名称,你会如何设计这类系统。
  这是另一种设计模式的运动,你需要把你的面向对象设计技术来设计,具有足够的灵活性,支持未来的产品和稳定的足够支持改变现有的模型。
  8。当你重载一个方法在爪哇和当你覆盖它吗?
  一个简单的问题,经验丰富的设计师在爪哇。如果你看到不同的实现类有不同的方式去做某些事情,压倒一切的是要走的路,而重载是做同样的事情但不同的输入。方法签名不同超载情况下而不是在案件中的首要。
  9。设计的自动取款机?
  我们都使用自动提款机(自动取款机),想想你将如何设计一个自动取款机吗?设计金融体制必须要求是,他们应按预期在所有情况。所以不管其是否应该保持停电自动取款机正确的状态(交易),想想锁定,交易,误差条件,边界条件等,甚至如果你不能拿出精确的设计,但如果你能指出,非功能性需求,提出一些问题,考虑边界条件将好的进展。
  10。你是写作课程提供市场数据,并且你知道你可以切换到不同的供应商加班像路透社,袋熊,甚至可能直接交换的饲料,你怎样设计你的市场数据系统。
  这是非常有趣的设计问题,要求在一个大型投资银行,而不是常见的情况下,如果你一直写的开源代码。关键的一点是,你将有一个marketdata接口,将按照客户要求,如有方法getbid(),getprice(),getlevel()等marketdata应该是由一marketdataprovider通过使用依赖注入。所以当你改变你的marketdata供应商的客户不受影响,因为他们的访问方法marketdata接口或类。
  11。为什么不允许访问非静态变量静态中的方法|
  你不可以访问非静态数据从静态语境中只是因为非静态变量与特定对象的实例而静止是不相关的任何实例。你也可以看到我后为什么非静态变量是不可访问的静态语境更详细的讨论。
  12。设计一个并行规则管道在JAVA?
  并行编程或并行设计现在很热的日子杠杆作用日益增加的核心
  先进的处理器和爪哇是多线程的语言有利于他人。设计一个并行系统关键点要注意的是线程安全,不变性,局部变量和避免使用静态或实例变量。你认为一个类可以执行的多线程同一时间,所以最好的办法是每一个线程在它自己的数据,不会干扰其他数据和最小的同步首选开始的管道。这个问题可以从最初的讨论,充分的编码的类和接口,如果你记住要点和问题解决并发如竞争条件,死锁,记忆干扰,原子性,threadlocal变量等你可以得到它。
  QQ 744437114
  疯狂软件官网:www.fkjava.org
  疯狂java视频 android视频:http://www.fkjava.org/video.html
跳转到指定楼层
快速回复 返回顶部 返回列表