via笔试题(software engineer)

进修社 人气:1.01W

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的项目,而且时间也不够了。