0901 下午
下午面试的是一家外包公司,一来就是做题目。把记得的而且自己认为有意思,又没有做出来题目写一下。
a.写一个函数要求输入数字比如”123.05”则返回“壹百贰叁元伍分”。
一开始以为是返回大写数字后来一看还要数数,直到最后也没有做出来,当时的想法是应该从“个十百千万”入手,不过因为时间紧迫,一时也没有头绪。回来后想了一会在sharpdevelop上写下如下代码,如果在亿以内经测试是对的,不过只实现了不带小数点的情况。
namespace DefaultNamespace
{
class MainClass
{
public static void Main(string[] args)
{
Console.WriteLine("Hello World!");
ConvertNum a=new ConvertNum();
a.ConvertToCN(232128195);
}
class ConvertNum
{
public string[] strBig;
public ConvertNum()
{
strBig=new string[13];
strBig[0]="元";
strBig[1]="十";
strBig[2]="百";
strBig[3]="千";
strBig[4]="万";
strBig[5]="拾";
strBig[6]="百";
strBig[7]="千";
strBig[8]="亿";
strBig[9]="十";
strBig[10]="百";
strBig[11]="千";
strBig[12]="万";
}
public void ConvertToCN(double num)
{
string strNum=num.ToString();
Console.Write(getCN(strNum));
}
public string getCN(string number)
{
int nLen=number.Length;
string strTemp="";
for (int i=0;i<nLen;i++)
{
strTemp=strTemp+getCNNum(number[i])+strBig[nLen-i-1];
}
return strTemp;
}
public string getCNNum(char s)
{
switch (s)
{
case '1':
return "壹";
case '2':
return "贰";
case '3':
return "叁";
case '4':
return "肆";
case '5':
return "伍";
case '6':
return "陆";
case '7':
return "柒";
case '8':
return "捌";
case '9':
return "玖";
default:
return "零";
}
}
其实题目不难主要是思路没有打开。
b.有一个表Emp,字段(id,name,DepName,DepID,Amount)(职工);另一个表Dep,字段(DepID,DepName,Amount)(部门),要求写出所有部门的Amount不等于该部门职工Amount和的部门。
读起来有点别扭,当时没有做出来。回来查了一下这样写
select * from Dep where Amount not in(select sum(Amount) from Emp group by DepName)
当时主要是不清楚group的用发,失败。
以上是笔试。
我开始以为笔试这么差可能没有戏,想不要还是让我参加了面试。
面考试总共来了四个人,每次两个。
问的问题主要是:
1。刚才的笔试情况
我当然是尽量早借口
2。面试一遇到的问题
答案见一
总结:
1。好的公司面试你的人越多
2。一般的笔试不难,思路一定要放开!
3。好的公司都要考你的E文
(一般是翻译一段文字)
自我评价:
45分