1. Refactor the following code (C#) to use polymorphism instead of if-else. Please provide your answer in C#, Java or C++.  Alternatively for partial points, you could describe the type of change using UML to aid your response.

public class Calculator

{

public int Calculate(int a, int b, Operation operation)

{

if (operation.Type == "add")

{

return a + b;

}

else if (operation.Type == "subtract")

{

return a - b;

}

else if (operation.Type == "multiply")

{

return a * b;

}

else

{

throw new Exception("Unknown operation type");

}

}

}

public class Operation

{

public string Type { get; set; }

}

My Initial Answer:

publicclassCalculator

{

publicint NumberA { get;set;}

publicint NumberB { get; set; }

publicvirtuallong Calculate(int a, int b);

}

publicclassAddCalculator : Calculator

{

publicint NumberA { get; set; }

publicint NumberB { get; set; }

publicoverridelong Calculate(int a, int b)

{

return NumberA + NumberB;

}

}

publicclassMinusCalculator : Calculator

{

publicint NumberA { get; set; }

publicint NumberB { get; set; }

publicoverridelong Calculate(int a, int b)

{

return NumberA - NumberB;

}

}

publicclassMultiplyCalculator : Calculator

{

publicint NumberA { get; set; }

publicint NumberB { get; set; }

publicoverridelong Calculate(int a, int b)

{

return NumberA * NumberB;

}

}

2. The following two tables contain data relating to stock holdings and stock prices respectively:

How would you manipulate this data in order to return the total value (Units * Price) of the client holdings in each stock (you can use SQL, Excel functions or any other means to answer this)?

My Initial Answer:

Select StockHoldings.Units as x, StockPrice.PrizeNZD  as y, sum(x*y) from StockHoldings join StockPrice on StockHoldings.StockCode= StockPrice. StockCode group by StockHoldings.ClientID

3. List as many faults with the following code as you can find

Public Class ClassRubbish

Public Function ReallyRubbishFunction(clientRecords As List)

Dim i, j As Decimal

If clientRecords.Count <= 0 Then

clientRecords.MoveFirst()

Do Until clientRecords.AtEnd()

Console.WriteLine("I've got another clientrecord!")

i = i + 1

''' following line of code commented out by Jason 5/02/2014

'''clientRecords.MoveNext()

Loop

End If

Console.WriteLine("Total number of client records" & 5)

End Function

End Class

4. The following code could be simplified / consolidated. Rewrite it in a more sensible way:

        void CalculateTaxAndRewardPoints()

        {

            if (state == TEXAS)

            {

                rate = TX_RATE;

                amt = baseRate * TX_RATE;

                calc = 2 * basis(amt) + extra(amt) * 1.05;

            }

            else if ((state == OHIO) || (state == MAINE))

            {

                if (state == OHIO)

                    rate = OH_RATE;

                else

                    rate = MN_RATE;

                amt = baseRate * rate;

                calc = 2 * basis(amt) + extra(amt) * 1.05;

                if (state == OHIO)

                    points = 2;

            }

            else

            {

                rate = 1;

                amt = baseRate;

                calc = 2 * basis(amt) + extra(amt) * 1.05;

            }

        }

5. Write some code in any programming language (please specify which) that accepts an integer variable and returns a string variable containing the word “FIZZ” if the integer is a multiple of 3, “BUZZ” if it is a multiple of 5, “FIZZBUZZ” if it is a multiple of both 3 and 5, or “REJECT” if it is a multiple of neither 3 nor 5.

FxZ,C#开发职位面试测试题(30分钟内必须完成)的更多相关文章

  1. opencv+opencv_contrib 人脸识别和检测 python开发环境快速搭建(30分钟)图文教程

    很多朋友为了学习python.ML(机器学习).DL(深度学习).opencv等花费了大量时间配置安装环境(一个朋友花了4天时间才配置好)各种搜索.下载.安装配置,出问题等. 市面上的配置资料很多,选 ...

  2. 深入浅出HTTP协议(WEB开发和面试必备)

    1. 基础概念篇   a.简介 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web Consortium)和 ...

  3. 正则表达式30分钟入门教程<转载>

    来园子之前写的一篇正则表达式教程,部分翻译自codeproject的The 30 Minute Regex Tutorial. 由于评论里有过长的URL,所以本页排版比较混乱,推荐你到原处查看,看完了 ...

  4. 30分钟LINQ教程【转】

    千万别被这个页面的滚动条吓到!!! 我相信你一定能在30分钟之内看完它!!! 在说LINQ之前必须先说说几个重要的C#语言特性 一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之 ...

  5. 偷窥篇:重要的C#语言特性——30分钟LINQ教程

    本文转自:http://www.cnblogs.com/liulun/archive/2013/02/26/2909985.html 千万别被这个页面的滚动条吓到!!! 我相信你一定能在30分钟之内看 ...

  6. CentOS 30分钟部署 .net core 在线客服系统

    前段时间我发表了一系列文章,开始介绍基于 .net core 的在线客服系统开发过程.期间有一些朋友希望能够给出 Linux 环境的安装部署指导,本文基于 CentOS 8.3 来安装部署.在本文中我 ...

  7. HTML 30分钟入门教程

    作者:deerchao 转载请注明来源 本文目标 30分钟内让你明白HTML是什么,并对它有一些基本的了解.一旦入门后,你可以从网上找到更多更详细的资料来继续学习. 什么是HTML HTML是英文Hy ...

  8. 30分钟连接树莓派到微软云 Azure IoT Hub,并将数据进行可视化

    更多内容,关注公众号: 树莓派是很多动手达人必备的小玩具,本节内容,让我们拿出树莓派,在30分钟内,将树莓派连接到微软云Azure的IoT Hub,然后将温湿度曲线可视化.(本节内容完整视频在文章末尾 ...

  9. Apple Watch程序开发30分钟秒懂

    苹果公司Apple Watch智能手表正在备受追捧,迅速掌握Apple Watch的APP架构,环境搭建,及实例开发将会让开发者占尽先机.我赢职场全国首发,30分钟玩转Apple Watch应用开发实 ...

随机推荐

  1. Java探秘之神秘的字符串String(二)

    不可变性 String可以说是最常用的类型了,即字符串类型,String是常量(final关键词修饰的),他的值不能被创建后更改,因为字符串是不可被改变的,所以可以被用来共享. Java语言为Stri ...

  2. Oracle中的游标的原理和使用详解

    游标的简介 逐行处理查询结果,以编程的方式访问数据. 游标的类型: 1,隐式游标:在 PL/SQL 程序中执行DML SQL 语句时自动创建隐式游标,名字固定叫sql. 2,显式游标:显式游标用于处理 ...

  3. JS实现悬浮导航的制作--web前端

    思想:导航在这里只有两种状态,一种是初始状态.一种是固定布局状态.实现悬浮导航其实就是通过Javascript脚本语言控制导航的两种状态,主要是对两种状态成立条件的判断,明确了这些,实现起来就不会太难 ...

  4. StringBuilder类中的重要方法

    下面的API注解包含了StringBuilder类中的重要方法 append(boolean b):将 boolean 参数的字符串表示形式追加到序列. append(char c):将 char 参 ...

  5. jQuery点击缩略图切换大图代码

    很多网站上都会有点击缩略图切换成大图的效果,下面来分享一下它的源码 还是先来看效果截图 运行文件 然后点击下一张 下面分享源代码 html文件 <!DOCTYPE html PUBLIC &qu ...

  6. 基于微信小程序的系统开发准备工作

    腾讯推出微信小程序也有一段时间了,在各种行业里面也都掀起一阵阵的热潮,很多APP应用被简化为小程序的功能迅速推出,同时也根据小程序的特性推出各种独具匠心的应用,相对传统的APP来说,微信小程序确实能够 ...

  7. pug模板引擎(原jade)

    前面的话 为什么要引入pug,pug有什么特别之处呢?有一些嵌套层次较深的页面,可能会出现巢状嵌套,如下图所示 在后期维护和修改时,一不小心少了一个尖括号,或者某个标签的开始和闭合没有对应上,就会导致 ...

  8. SpringMVC+Mybatis+MySQL配置Redis缓存

    SpringMVC+Mybatis+MySQL配置Redis缓存 1.准备环境: SpringMVC:spring-framework-4.3.5.RELEASE-dist Mybatis:3.4.2 ...

  9. 新一代开源Android渠道包生成工具Walle

    本文转自:http://tech.meituan.com/android-apk-v2-signature-scheme.html 新一代开源Android渠道包生成工具Walle 新的应用签名方案A ...

  10. 【ES】ElasticSearch初体验之使用Java进行最基本的增删改查~

    好久没写博文了, 最近项目中使用到了ElaticSearch相关的一些内容, 刚好自己也来做个总结. 现在自己也只能算得上入门, 总结下自己在工作中使用Java操作ES的一些小经验吧. 本文总共分为三 ...