【筆試與面試】頂點軟件

頂點軟件:

       頂點軟件成立於1996年,是一傢俱有持續自主創新能力的專業平臺型軟件公司及行業應用解決方案供應商,主要致力於爲金融證券、企業、教育及公共服務業提供以業務流程管理(BPM)爲核心的信息化解決方案。在證券期貨行業,公司已成長爲領先的全業務解決方案供應商。
    公司管理總部設於上海,研發中心設在國家級軟件園--福州軟件園,在北京、深圳、瀋陽、武漢、成都、西安等地設有多家子公司和營銷服務中心。
    頂點軟件是國家火炬計劃重點高新技術企業、科技部創新基金實施十週年優秀企業、首批國家規劃佈局內重點軟件企業、福建省高新技術企業、福建省軟件十強企業、福建省省級企業技術中心、福建省重點軟件骨幹企業,通過“雙軟認證”、“ISO9001:2000”等資質認證。
    頂點軟件強調“客戶、員工與股東”的共同發展與進步,對外,追求爲客戶創造價值,與客戶的共同發展;對內,追求員工與公司的共同進步,努力實現員工個人發展與企業長遠發展的和諧統一。未來,頂點軟件將通過深入挖掘客戶需求,結合創新的思維與技術,實現“軟件科技超越客戶夢想”的追求,使頂點軟件成爲國內一流的軟件企業,成爲讓客戶、員工、股東以及社會所信賴並敬重的企業。


筆試:

   第一部分:前8題,邏輯智力題,感覺挺有趣的,解起來,其樂無窮偷笑

             這部分題目較長,不寫咯!

   第二部分:3選2編程題(鄙人木有看題目要求,先寫了1.2,然後跳轉第三部分,一直到考試結束都沒時間趕回來做第3題,出考場才知道原來3選2,虛驚一場害羞)。

             1.輸入一個字符,按如下輸出倒敘的字母。

              輸入m,  輸出:mlkjihgfedcbazyxwvutsrqpon。

              理解完畢,果斷,回來真機。

              

#include <stdio.h>
#define N 26
void main()
{	
	char a,b;
	scanf("%c",&a);
	b = a;
	do 
	{	
		if (a == ('a'-1) )
			a = a+N;
		printf("%c",a);
		a--;
	} while (a!=b);
	system("pause");
}

   2.題目這樣,幾個字符串我也記不太清楚,但意思是一樣的。 PO,EHISL,KDAF,KDSAFJ,KAA 這麼幾個字符串,然後輸出結果是這樣:

      第一次:PO EHISL KDAF KDSAFJ KAA

      第二次:OP HISLE FKDA JKDSAF AKA

      第三次:PO EHISL AFKD FJKDSA AAK

      ..........

      直到:PO EHISL KDAF KDSAFJ KAA 

      然後後結束。題目就是這個意思了,果斷編碼,實現。

      本想用指針數組來做,但是寫到這個change函數時又遇到了一個老問題,這是 字符指針指的是字符串常量,常量值是被保護的,只讀模式。

void Change(char *a)
{
	char tempa;
	char *tempp;
	tempp = a;
	while(*tempp!='\0')
	{
		tempp++;
	}
	tempa = *(tempp-1);
	*(tempp-1) = *a;
	*a = tempa;
}
改成二維數組來寫寫:

#include <stdio.h>
#include <string.h>
#define N 5
#define M 10

void ShowArray(char a[][M]);
void ChangeArray(char a[][M]);
int ChargeArray(char oldarray[][M],char newarray[][M]);

void main()
{	
	char oldarray[N][M]={{'P','Q'},{'E','H','I','S','L'},{'K','D','A','F'},{'K','D','S','A','F','J'},{'K','A','A'}};
	//用於存放原來的字符順序
	char newarray[N][M]={{'P','Q'},{'E','H','I','S','L'},{'K','D','A','F'},{'K','D','S','A','F','J'},{'K','A','A'}};
	//用於存放改變的字符順序
	do 
	{
		ShowArray(newarray);
		ChangeArray(newarray);
	} while (ChargeArray(oldarray,newarray)!=0);
	system("pause");
}

void ChangeArray(char a[][M])
{
	int i,j,k;
	char temp;
	for (i=0;i<N;i++)
	{
		j=0;k=0;
		while (a[i][j]!='\0')
		{
			j++;
		}
		temp = a[i][j-1];
		for (k=j-1;k>0;k--)
		{			
			a[i][k]=a[i][k-1];
		}
		a[i][0] = temp;
	}
}

void ShowArray(char a[][M])
{
	int i,j;
	printf("\n");
	for (i=0;i<N;i++)
	{
		for (j=0;j<M;j++)
		{
			if (a[i][j]=='\0')
			{
				printf(" ");
				break;
			}
			printf("%c",a[i][j]);
		}
	}
}

int ChargeArray(char oldarray[][M],char newarray[][M])
{
	int i;
	for (i=0;i<N;i++)
	{
		if(strcmp(oldarray[i],newarray[i])!=0) return (1);//不同
	}
	return (0);//相同
}

   第三部分:2題(附加題) 

    第一題關於數據庫。

    考查多表連接求最大值join,max;多表平均值average;

    第二題現實場景出解決方案的。

    場景:銀行分 普通客戶、VIP客戶,VIP客戶有優先權,請你設計排隊系統,有N個業務窗口,每個窗口都可以處理所有的業務。

    問題1:請設計數據結構和算法實現;

    問題2:請用自己的方式描述清楚業務。

    下面講講我自己的想法:

     a.不考慮窗口是否有業務限制,我直接最簡單的數組,下標表示窗口號,>1正在處理業務中(考慮到時間的問題,直接數組中的值作爲業務處理時間的判定),0空閒中;

     b.銀行排隊的人用鏈表來做,節點有客戶類別標誌信息,當新來一個客戶時,若爲普通客戶,直接添加到末尾,若爲VIP,則添加到聊表中最後一個VIP後;

     還是寫寫代碼好了。

內容正在緊張編輯中!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章