via筆試題(software engineer)

才智咖 人氣:1.07W

via筆試題(software engineer)
發信人: szlychee ( whereami )

via筆試題(software engineer)

        有些細節記不清了。

        1、array和linked list的區別。
        2、unsigned short a=65535;
           unsigned short b=10;
           unsigned short c=a+b;
           問c是多少?
        3、pop ebx
           sub ebx,offset delta,
           問ebx的含義。這個實在記不清了。
        4、unsigned int 型一個數組,按照位元位中“1”的個數對陣列元素進行從小到大排序,如果含有“1”的`個數相同,按從小到大排
序,unsigned int 32位。
           函式原型: int sort(unsigned int *a, int len);
        5、排列組合C(n,k)=n!/(n-k)!/k!,要求用(1)遞迴實現;(2)迭代實現;(3)用C(n,k)=C(n-1,k)+C(n-1,k-1)實現,可以用遞迴

           函式原型: int combination(int k, int n);
        6、為了節省儲存,採用位域操作:
        struct a{unsigned int a;
                 unsigned int b;
                 unsigned int c:21;
                 unsigned int d:6;
                 unsigned int e:3;
                 unsigned int f:2;};
           但位域存在可移植性問題,考慮編譯器的可移植性和不同的系統架構(大體意思),重新定義:
        struct a{unsigned int a;
                 unsigned int b;
                 unsigned int physicallocation;}psc,*psc;
                 其中c、d、e、f儲存在physicallocation裡,根據第一個位域的定義寫出對physicallocation中d的讀、寫、刪除操作,性
能越快越好(這個的意思估計要用巨集或者inline函式)。
     7、一道PCI匯流排中斷的題,光題目就佔了快2頁,問題一些暫存器,中斷號的題目。沒做過PCI的專案,而且時間也不夠了。