FxZ,C#开发职位面试测试题(30分钟内必须完成)
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分钟内必须完成)的更多相关文章
- opencv+opencv_contrib 人脸识别和检测 python开发环境快速搭建(30分钟)图文教程
很多朋友为了学习python.ML(机器学习).DL(深度学习).opencv等花费了大量时间配置安装环境(一个朋友花了4天时间才配置好)各种搜索.下载.安装配置,出问题等. 市面上的配置资料很多,选 ...
- 深入浅出HTTP协议(WEB开发和面试必备)
1. 基础概念篇 a.简介 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web Consortium)和 ...
- 正则表达式30分钟入门教程<转载>
来园子之前写的一篇正则表达式教程,部分翻译自codeproject的The 30 Minute Regex Tutorial. 由于评论里有过长的URL,所以本页排版比较混乱,推荐你到原处查看,看完了 ...
- 30分钟LINQ教程【转】
千万别被这个页面的滚动条吓到!!! 我相信你一定能在30分钟之内看完它!!! 在说LINQ之前必须先说说几个重要的C#语言特性 一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之 ...
- 偷窥篇:重要的C#语言特性——30分钟LINQ教程
本文转自:http://www.cnblogs.com/liulun/archive/2013/02/26/2909985.html 千万别被这个页面的滚动条吓到!!! 我相信你一定能在30分钟之内看 ...
- CentOS 30分钟部署 .net core 在线客服系统
前段时间我发表了一系列文章,开始介绍基于 .net core 的在线客服系统开发过程.期间有一些朋友希望能够给出 Linux 环境的安装部署指导,本文基于 CentOS 8.3 来安装部署.在本文中我 ...
- HTML 30分钟入门教程
作者:deerchao 转载请注明来源 本文目标 30分钟内让你明白HTML是什么,并对它有一些基本的了解.一旦入门后,你可以从网上找到更多更详细的资料来继续学习. 什么是HTML HTML是英文Hy ...
- 30分钟连接树莓派到微软云 Azure IoT Hub,并将数据进行可视化
更多内容,关注公众号: 树莓派是很多动手达人必备的小玩具,本节内容,让我们拿出树莓派,在30分钟内,将树莓派连接到微软云Azure的IoT Hub,然后将温湿度曲线可视化.(本节内容完整视频在文章末尾 ...
- Apple Watch程序开发30分钟秒懂
苹果公司Apple Watch智能手表正在备受追捧,迅速掌握Apple Watch的APP架构,环境搭建,及实例开发将会让开发者占尽先机.我赢职场全国首发,30分钟玩转Apple Watch应用开发实 ...
随机推荐
- PHP发送E-mail---新手教程
首先下载PHPmailer拓展包,其实就是别人封装好的类库,下载链接:http://pan.baidu.com/s/1slbhGo1 首先去163注册个账号,然后登陆进去,点击设置下面的 POP3/S ...
- springmvc中的page
1.1在page类上面要打个service的注解,这样page才能传过去1.2 在page中都是写private String XX;然后source实现传值的set,get的方法, package ...
- JVM学习(1)——通过实例总结Java虚拟机的运行机制-转载http://www.cnblogs.com/kubixuesheng/p/5199200.html
JVM系类的文章全部转载自:http://www.cnblogs.com/kubixuesheng/p/5199200.html 特别在此声明.那位博主写的真的很好 ,感谢!! 俗话说,自己写的代码, ...
- 我眼中的ASP.NET Core之微服务 (二)
前言 接上一篇. 上一篇未完待续的原因是当时刚好是6-30号晚上马上12点了还没写完,然后我想赶在7月1号之前发出去,所以当时就发了.然后在发的时候出了一点问题,结果发出去的时候刚好是 7.1号 00 ...
- Android - 读取JSON文件数据
Android读取JSON文件数据 JSON - JavaScript Object Notation 是一种存储和交换文本信息的语法. JSON对象在花括号中书写.用逗号来分隔值. JSON数组在方 ...
- UglyNumber - 找“丑数”
uglynumber的定义是只能被1,2,3,5整除的数 规定1是第一个uglynumber:以此类推,1 2 3 4 5 6 8 9 10 12 15 16 18 20 24 25 27 30 32 ...
- Hibernate 实体映射类的状态值自动转换
经常会遇到有些字段在数据库只是一个 byte 值,但是取出数据后需要转换为真实的状态名称. 举个栗子:一个图书管理系统,书籍有一个属性 stat(借出状态),在库中只需要保存一个 0/1/2/3/4 ...
- 【期望DP】
[总览] [期望dp] 求解达到某一目标的期望花费:因为最终的花费无从知晓(不可能从$\infty$推起),所以期望dp需要倒序求解. 设$f[i][j]$表示在$(i, j)$这个状态实现目标的期望 ...
- JSON的详细介绍
JSON的语法可以表示以下三种类型的值: 简单值:可以表示字符串,数值,布尔值,null,但不支持undefined. 对象(Object):对象作为一种复杂数据类型,表示的是一组无序的键值对儿. 数 ...
- 使用Go和Let's Encrypt证书部署HTTPS
为什么要使用HTTPS?使用HTTPS的途径有哪些?如何用Go来部署HTTPS?拿出你的小本本,你要的干货都在这儿! HTTPS的好处我们已在之前的文章中提高好多.它加密浏览器和服务器之间的流量,保障 ...