第一次應聘筆試的經歷——微創

微創人力資源部的一位小姐打電話叫我明天去公司進行軟體開發工程師的筆試,本來我想實習的工作是us-online support engineer,但是人力資源的小姐說好像us-online不招實習生的,她建議我去做software development engineer intern。

抱著試試看的心態,我就答應下來了,心裡想反正明天就當去看眼界吧,當作一次經歷也不錯的,呵呵,這還是我第一次去筆試呢^_^。今天中午11點從學校出發,先做汽車後做捷運花了2個多小時(我們學校新校區在郊區),在河南中路站下捷運後一抬頭就看見遠處那幢十分顯眼的蓮花頭高樓(或者說更像唐僧頭的大廈)——“外灘中心”。大樓很pp,一幢非常高檔的寫字樓,進進出出都是白領,工作環境很不錯,但必須在底層大廳登記並且領一張貴賓卡後才能進去。大廈里電梯很多,並且大廈員工很熱情地問我去哪層,我說去21層,然後他主動幫我按下了電梯的上行按鈕。不一會就到了21層,整個21層都是微創的辦公場所,感覺裝修的很溫馨,主要採用的是黃色系的顏色,黃色的背景上突出了wicresoft和“微創軟體”的標誌,唯一不滿的是坐著的是2個保全,我暈,估計大概是星期6的緣故吧,我想他們說明來意後,一個保全給我一份卷子然後就領我走進旁邊的一間會議室讓我答題,時間是90分鐘。我找了一個靠窗的座位坐了下來,回頭望著窗外是遠處的高樓和樓下的延安東路高架,感覺真是美哉!不過馬上收心開始做題吧,畢竟是有時間限制的。試卷第一頁讓你用英文填寫你的一些個人信息及應聘職位,然後還要你對列出的一些技術做相應信息,包括使用該技術多長時間,對技術的熟悉程度(精通、熟悉、了解)等,並可自己列出一些其他沒有寫出的技術。

ok,下面進入真正的試題,共分2部分:part a and part b.part a 共有5道大題。前2道是要求用算法編寫程式,一道要求實現將輸入的十進制數據轉換為十六進制數據string tohex(int),另一道要求實現一個計算大位數(如100位以上)相乘結果的函式string multiply(sting,string),2道題都要求用完全的算法來設計,不可以使用math、convert 等一些已經封裝好的類;

1)實現string tohex(int)把一個十進制轉換成十六進制。(完全用算法實現)

2)實現一個計算大位數(如100位以上)相乘結果的函式string multiply(sting,string)。(請完全用算法實現)然後是2道有關資料庫的題目,按照題目給出的查詢要求寫出相應的sql語句; 

3)一個資料庫中有兩個表,一張表為customer,含欄位id,name,一張表為order,含欄位id,customerid(連向customer中id的外鍵),revenue;寫出求每個customer的revenue總和的sql語句。

4)一個學生成績登記系統,其中學生和課程均是可添加的,請設計一個庫表結構實現,儘量保證系統使用中庫表結構不再改變。 最後一道題要你談談你最熟悉的一種架構,包括其中間件技術,並且說明最好用圖的形式表現出來。

5)請簡要描述出你最熟悉的技術架構,包括架構中的各種中間件。(建議用圖的形式)part b 共有8道題。

1)請簡述critical section和mutex的不同點。

2)請描述下面函式聲明中各個const的作用:const char* test() const 3)舉出3個以上asp.net與asp相比的進步處。

4)asp.net中user control和custom control的區別。

5)用一個c語言用來刪除單鍊表的頭元素的函式,請找出其中的問題並加以糾正。

void removehead(node* head)  /* line1 */{ /* line2 */free(head) /* line3 */head=head->next /* line4 */}  /* line5 */6)

試編寫函式判斷計算機的位元組存儲順序是開序(little endian)還是降序(bigendian)。

7)給定如下sql資料庫:test(num int(4)) 請用一條sql語句返回num的最小值,但不許使用統計功能,如min,max等。

8)輸出下面程式結果。

#include using namespace std; class a { public:virtual void print(void) {  cout<<"a::print()"<  }};class b:public a { public:virtual void print(void)  { cout<<"b::print()"< }};class c:public a{public:void print(void) { cout<<"c::print()"<  }};void print(a a) { a.print(); } void main(void) { a a, *pa,*pb,*pc; b b; c c;  pa=a; pb=&b; pc=&c;  a.print(); b.print(); c.print();  pa->print(); pb->print(); pc->print(); print(a); print(b); print(c); }

試題做下來總體感覺part b比part a要簡單,不過part a好像更重要,因為part a每道題都有分數的百分比。90多分鐘後來了一位微創的員工,是位眼鏡gg,問我做的怎么樣了。我說一般性了,因為算法和資料庫我還沒有學,我現在還是大三,然後他突然很吃驚的說我還以為你是大四的呢。我暈,記得以前和他們說過我大三啊。後來就聊了些有關這個職位的信息,他問我一星期能有幾天能來實習,我說2天,他說至少要4天才能過來實習的,而且一般至少要3個月,因為第一個月要適應環境。言下之意就是我game over了,本來因為這學期課少所以才想到出來實習的,現在看來人家公司還是以公司利益為重,畢竟你一星期才2天對公司確實幫不上什麼忙的。他說我大三出來實習太早啦,不過他說我的檔案會在人力資源部保留的,以後會再聯繫我的,而且說我的經歷還是蠻多的,我心想那是當然啦,而且我裡面有3個經歷是和微軟有關的,畢竟微創是微軟投資的公司。後來又和他瞎扯軟體開發工程師和技術支持工程師的優缺點,然後嘛我就打算回去嘍,嘻嘻。: ) 這就是我第一次應聘筆試的經歷,儘管沒有成功,但是也有了很多的收穫,就當是為大四真正找工作積累經驗吧。