騎著機車來到群聯的竹南聚點,一樓一進大廳,其實外觀並沒有很光鮮亮麗,不像華碩那樣有亮麗裝潢和明亮的光線。很快就被人資請到

一間小房間寫一個小時的c考題。

 

第一題:

  給你一個sort好的陣列a[20],然後請你印出0~500的數字,如果數字在a[20]裡面,則不要印出,請你用最少的cpu和memory

第二題:

  類似上題,function給一個數字b=0,1,2,3,4時,分別印出0~99,100~199,200~299,300~399,400~499之中,不在a[20]裡面的數字,也是用最少的CPU跟memory。(我認為不需要用到switch case)

第三題:

  這題我記得不是很清楚,主要是考用Array來做;inked list,題目會給ㄧ個struct
struct node{

  unsigned int Data_H,

  unsigned int Data_L,

  unsigned int next

}

有一個陣列A[500],裡面都是存node的struct,假設第一個開頭index叫做listhead,那我們要access這個list的第一個struct node就是A[listhead],然後再透過
struct node 裡的next找到下一個struct node,直到next是null,如果next是null就代表示list最後一個結點。題目會

#define null 0xffff

在來就是要透過給予的兩個值DATA_A和DATA_B來尋找我們要的node有沒有在A[500]裡面。check是否在陣列裡的方式會用計算Data_A<<4+Data_B會不會等

於DATA_H<<4+DATA_L,另外題目又有說DATA_H<<4+DATA_L會越來越大,所以不用搜尋到最後。如果找到就是印出找到node的index(FoundEntry),和

它前一個node的index(PreEntry)。如果不在也是要印找不到。

 

 

arrow
arrow
    文章標籤
    面試 群聯
    全站熱搜
    創作者介紹
    創作者 shihweiyao 的頭像
    shihweiyao

    涓生的部落格

    shihweiyao 發表在 痞客邦 留言(2) 人氣()